1、包装类型
1、回顾八大基本类型
整数: byte short int long
小数: float double
非数值: char boolean
八大基本类型加""(空字符串)可以转换为字符串类型
2、字符串转换为基本类型
利用基本数据类型的包装类。
基本类型 |
byte |
short |
int |
long |
float |
double |
char |
boolean |
包装类型 |
Byte |
Short |
Integer |
Long |
Float |
Double |
Character |
Boolean |
装箱:将基本数据类型转换为包装类
Integer num1=10;
Integer num2=new Integer(10);
拆箱:将包装类型转换为基本数据类型
int num3=num1;
int num4=num2;
Integer.parseInt("123"); //结果为int类型的123
Integer.valueOf("123") // 结果为Integer类型123
2.正则
\:转义字符 将一些有特殊含义的字符转换后 当做普通的字符进行处理
内容匹配规则
1、匹配指定范围的单个字符
[acd]:匹配指定范围的任意一个字符
[a-z]:匹配所有小写字母
[A-Z]:匹配所有大写字母
[a-zA-z]:匹配所有字母
[0-9]:匹配所有数字
[0x4e00-0x9fa5]:匹配所有汉字
[a-zA-Z0-9]:字母和数字
2、匹配多个字符
[a-z]* 任意长度(包括0)都可以匹配
[a-z]+ 长度至少为1
[a-z]? 长度只能为0或者1
3、固定范围的字符格式:
[a-z]{4} 必须匹配长度为4的小写字母
[a-z]{4,9} 匹配长度为4(含)到9(含)之间。
[a-z]{1,} 匹配长度>=1
4、逻辑连接词:
&& || ^
举例:
1、用户名由字母数字汉字组成 长度为4-8
[a-zA-Z0-90x4e00-0x9fa5]{4,8}
2、开头为110或者120,后面跟4-6位数字
(110||120)-[0-9]{4,6}
String str = "bcde";
if (str.matches("[a-z]{4,6}")) {
System.out.println("合法!");
} else {
System.out.println("非法!");
}
System.out.println("========匹配年龄=======");
String strAge = "100";
if (strAge.matches("[0-9]{1,2}")){
System.out.println("合法!");
}else {
System.out.println("非法!");
}
3、集合框架
1、回顾保存数据的几种方式
1、普通变量:保存一个数据
2、数组:保存一组数据类型相同的数据
3、对象:保存多个多种类型数据
4、对象数组;保存多个对象
/*数组的缺点:长度固定不变。*/
2、集合:实际上就是一个可变长度的动态数组,基本上可以替换数组;集合也可以满足不同数据的存储需求。
1、可以保存重复的数字,也可以根据需求不允许重复数据。
2、不同类型之间的集合可以相互装换。
3、可重复的集合与不可重复集合之间能够相互转换。
3、List接口下的两个实现类
ArrayList LinkedList:有序、可以存储重复的数据
ArrayList:查询修改数据效率较高,删除插入元素效率较低 异步,线程不安全,效率较高(单线程)
LikedList:查询修改数据效率较低,删除插入元素效率较搞
Vector:功能与ArrayList相近,线程同步安全,效率较低(多线程)
4、常用的方法:
1、.add()向集合中添加数据
2、遍历集合 简单for循环、增强for循环和迭代器
3、根据下标删除 remove(int index)、根据下标修改数据 set(int index,Object obj)、根据下标插入数据 add(int index,Object obj)
set集合
List<String> list = new ArrayList<>();
list.add("apple");
list.add("apple");
list.add("apple");
list.add("banana");
list.add("orange");
list.add("watermelon");
TreeSet<String> ts = new TreeSet<>();
//批量添加 将list数据转换为treeset 可以达到去重的目的
ts.addAll(list);
//遍历集合
for (String fruits : ts) {
System.out.println(fruits);
}
使用集合代替动态数组
1、封装实体类 :User 属性id uName uPass money
2、UserDao:保存所有用户信息
3、编写UserView类:用户的功能的界面
4、测试:MainTest 入口程序
5、主要功能;
1、登录
2、注册
3、退出程序
1、查询余额
2、存钱
3、取钱
4、转账
5、返回上层