Java学习--网络,图形界面和数据库
深入理解java2:软件开发常用实用技术
1文件及目录:java.io
1.1基本操作
File f;
f=new File("a.txt");//当前目录下的文件
f=new File("e:\\ex\\","a.txt");//目录+文件
//目录也当做文件处理
File path=new File("e:\\ex\\");
File f=new File(path,"B.txt");
1.2常用操作函数
1.3RandomAccessFile:随机指定到文件中某个位置
2正则表达式
2.1基本概念:
写法分3部分:1哪类字符 2{数量}3位置
java
[0-9]{2,4}\b--匹配123 1988 20015 16
第1部分
.--通配
[]--字符集
[^]--排斥字符集
\d--[0-9]
\D--[^0-9]
\s--空白符
\S--非空白符
\w--[a-zA-Z0-9]单词字符
\W--[^\w]
第二部分
*--0或多个
+--1或多个
?--0或1次
n--n次
第三部分
\b--单词边界
()--组号
实例:
//匹配网址:\b(href)=('[^']+');//实际使用时还要\转义
2.2基本应用:java.util.regex
//分割
Pattern p=Pattern.compile("[,\\s]+");
String[] result=p.split("one,two,three four,five");
//匹配
boolean ok=Pattern.matches(patternString,String a);
Pattern pattern=;
String text=;
Matcher matcher=pattern.matcher(text);
StringBuffer buffer;
//对每个匹配到单元
while(matcher.find()){//匹配单元的整个buffer.append(matcher.group());//匹配单元的第二对括号buffer.append(matcher.group(2));
}
2.3举个例子:网络爬虫
输入流:
正则:
容器:
线程:
3图形界面
3.1基本知识
界面:java.awt;javax.swing
组件:容器和非容器
容器:顶层容器和非顶层容器
3.2实现界面三部曲:Eclipse-new-Other-windowsbuilder。。
创建组件
public class myjframe extends JFrame{JLabel lb1;public myjframe(){super("Test JFrame");//new组件lb1=new JLabel("hello swing");//添加getContentPane().add(lb1);//设置属性setSize(300,200);//默认关闭按钮setDefaultCloseOperation(EXIT_ON_CLOSE);}main{new myjframe().setVisible(true);}
}
布局
//FlowLayout:流动式自动换行
//左对齐,并设置间距
setLayout(new FlowLayout(FlowLayout.LEFT,10,5));//BorderLayout:方框式分几个框
setLayout(new BorderLayout());
//加入时要设置NORTH SOUTH EAST WEST CENTER
add(b1,BorderLayout.NORTH);//网格式,分成相等的网格,要行数和列数
setLayout(new GridLayout(4,5));
//一般组件加入到面板中,使用面板布局
//之后面板在加入到JFrame中,使用JFrame的布局
创建事件:添加事件处理器
//new 一个ActionListener,匿名类或者lambda方式
b1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {//逻辑代码} })
//lambda
b2.addActionListener((e)->{});
//事件的方法
e.getSource();
//各种不同的listener与Adapter
//实现Listener的不同方法
//匿名类使用最多
//一个重写-lambda
组件对象和监听器:一对多,多对一(e.getSource())
更新界面:线程里面(几乎所有情况)更新界面都要
SwingUtilities.invokeLater(()->{})
3.3举个例子:
1. 小小计算器
2. 排块游戏
3. 文本编辑器
4网络
4.1URL:java.net.URL
URL url=new URL("www.xxx.xxx");
InputStream stream=url.openStream();
4.2第三方库:httpclient
引入库:buildPath-add external archives
Requset操作
//httpclient得到网页
String str= Request.Get("xxx").execute().returnContent().asString();
//得到图片
BufferedImage img=ImageIO.read(new URL(imageURL));
ImageIO.write(img,"gif",new File("d:\\aaa.gif"));
举个例子:获取建议词
4.3实现底层网络通信Socket,ServerSocket
- 客户端和服务端:
- 举个例子:多线程聊天室
5多媒体
5.1绘图
- Graphics 及Graphics2D
- 画图片
5.2音视频
- 音乐播放器
- 视频播放器
6数据库
6.1基础知识:数据库管理系统
- 共享性独立性完整性冗余数据少
- 数据定义、操纵、完整、安全、并发
- 关系型数据库:表的形式
SQL语句:字符串用”,表名字段名用[]括起来,结尾不用;
select * from [table] where .. group by|order by insert into [table] (field,..) values(content,..) update [table] set field=...where ... delete from [table] where ... CREATE TABLE [tablename] (field1,.2,.3,..) DROP TABLE [tablename]
6.2jdbc:java访问数据库的基本技术,增加相应驱动程序
//调用jdbc接口,忽略底层实现
//加载驱动程序
Class.forName("xxx.jdbc");
//得到与数据库的连接
String connString="jdbc:sqlite:d:/test.db";
//Connection 类实例,表示与数据库的连接
Connection conn=DriverManager.getConnection(connString);
//自动提交false
conn.setAutoCommit(false);
//得到一个Statement对象,表示一条数据库语句
Statement stmt=con.createStatement();
//执行非查询excuteUpdate
stmt.executeUpdate("delete from table");
//手动提交
conn.commit();
//执行查询的excuteQuery,rs是其返回结果集
ResultSet rs=stmt.executeQuery("select from ");
//访问结果集,按行遍历
while(rs.next()){//也可以用从1开始的字段顺序号int i=rs.getInt("field1");String s=rs.getString("field2");//do something
}
rs.close();
//stmt.close();
conn.close();
6.3基于数据库的应用:C/S模式
client通过sql向server发送请求
使用PreparedStatement:快速,避免sql注入攻击
String sql2="select ..where like ? and age>?";
//预先编译的查询语句
PreparedStatement pstmt=connection.prepareStatement(sql2);
//可以调整参数,%是sql任意字符
pstmt.setString(1,"%r%");
//调整参数2,从1开始编号
pstmt.setString(2,18);
//执行,sql语句已经编译好
ResultSet rs=pstmt.excuteQuery();
显示数据标:JTable
//见代码文件
举个例子:小小通讯录
1. 界面参数转为sql语句2. 数据访问对象DAO,封装查询和数据对象
Java学习--网络,图形界面和数据库相关推荐
- 【JAVA】基本图形界面设计
[JAVA]基本图形界面设计 基本知识点 JAVA中的组件包: 1:采用java.awt.*(abstract Windowing Toolkit) 2:采用javax.swing.* 特点: 前者: ...
- 一个编程小白的Java SE学习日志 Ⅸ—— 图形界面GUI【极客BOY-米奇】
文章目录 前言(转载请说明作者!)4.22~4.26编写 目标 任务导引:收银系统 分析 图形界面概述 包 java.awt包 java.swing包※ 如何创建用户图形界面 创建容器 如何构造JFr ...
- JAVA中级之图形界面
简单的例子 JFrame是GUI中的容器 JButton是最常见的组件- 按钮 注意:f.setVisible(true); 会对所有的组件进行渲染,所以一定要放在最后面 package gui;im ...
- 求java用人民币来转换美元,NJUPT JAVA语言 综合图形界面程序设计
一. 实验目的和要求 学习和理解JAVA SWING中的容器,部件,布局管理器和部件事件处理方法. 通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法. 实验内容: 设计和编写一个用于将人民币 ...
- java怎么做图形界面_java怎么做图形界面?实例分享
学习java不仅要学会写程序,也要学会做图形界面,可是做图形界面对于一些刚学java的人员来说还是比较困难的,那么今天我们就给大家分享一下java做图形界面的方法. 首先我们来了解一下创建图形界面时常 ...
- Java实验二 图形界面设计
学院 计算机科学与教育软件学院 年级.专业.班 网络16* 姓名 卟咚君 学号 1606100*** 实验课程名称 Java语言实验 成绩 实验项目名称 图形界面设计 指导老师 ** 一.实验目的 • ...
- java中的图形界面编辑界面_第58节:Java中的图形界面编程-GUI
欢迎到我的简书查看我的文集 前言: GUI是图形用户界面,在Java中,图形用户界面我们用GUI表示,而GUI的完整英文为: Graphical User Interface(图形用户接口), 所谓图 ...
- java转成图形界面_【转】java图形界面设计(AWT)
[转自]http://blog.sina.com.cn/s/blog_616e189f0100ne1t.html 1. 基本的java Frame操作. Java的图形界面的类主要包括AW ...
- java怎么开发图形界面_Java Swing 图形界面开发简介
1. Swing简介 Swing 是 Java 为图形界面应用开发提供的一组工具包,是 Java 基础类的一部分. Swing 包含了构建图形界面(GUI)的各种组件,如: 窗口.标签.按钮.文本框等 ...
最新文章
- 经典算法问题 - 最大连续子数列和
- webuploader结合php实现图片上传到本地和保存数据库
- IDEA把Java Web导出为war文件
- 工业领域产品经理的尴尬处境
- leetcode338 比特位计数
- C语言程序设计基础练习题
- 互联网域名解析系统DNS的工作原理及相关服务配置
- Python九九乘法表(作业)
- 如何在EDI系统中查询文件?
- 华为荣耀黑科技,打造震撼AI智能机
- 宋维刚老师词霸天下38000词汇思维导图
- 移动机器人定位方法概述
- 室内定位的电子地图编辑工具
- View UI (iview)表格合并单元格(行/列合并)
- html文件右键没有打开方式,Win7右键菜单中的”打开方式“不见了的解决方法
- 常常反思,让你变成更好的自己
- win10右键 发送到 选项消失解决办法
- 如何将EndNote中的参考文献插入到word中
- SpringMVC的在线人数统计监听器
- 洛谷 P1309 瑞士轮 归并
热门文章
- 前端逻辑练习题+学习记录 不定期更新
- P1455 搭配购买
- 收购Five9被称为“天作之合”,Zoom能否靠买买买换来高增长?
- 平面点云面积计算的两种方式
- BSC新晋蓝筹领导者:Euler.Tools实现了不起的数据可视化工具平台
- 笨重的多用开源生物识别腕带 LEWE
- Ubuntu18.04下双网卡内外网设置
- Automatic extrinsic calibration between a camera and a 3D Lidar using 3D point and plane corresponde
- java:常见的日期转型,“Tue Oct 18 00:00:00 CST 2022“
- 白月黑羽教python之selenium:课后练习作业二