1 正则表达式Regex
1.1 概述
正确的字符串格式规则。
常用来判断用户输入的内容是否符合格式的要求,注意是严格区分大小写的。
1.2 常见语法
1.3 String提供了支持正则表达式的方法
Matches(正则) : 当前字符串能否匹配正则表达式
replaceAll(正则,子串) : 替换子串
split(正则) : 拆分字符串
2 包装类
- Java的数据类型只有两大类:8大基本类型与引用类型
- 包装类是引用类型中的一种,包装类与基本类型一一对应,也有8种
- 基本类型只能存自己类型的值,没有其他额外的功能
- 包装类型是对基本类型进行了包装,提供了丰富的功能,包装类型是基本类型的拓展
2.1 与基本类型的对应关系
2.2 包装类型Integer的创建方式:
1)Integer i1 = new Integer(5); 没有高效的效果,new一次,创建一个包装类对象
2)Integer i2 = Integer.valueOf(5); 有高效的效果,数据在-128~127的范围内,才有高效的效果
3)Integer i3 = 5; 自动装箱:编译器会把int类型5装箱,变成Integer,底层调用的方法:valueOf(5)
包装类型Double的创建方式:
1)Double d1 = new Double(3.4); 没有高效的效果,new一次,创建一个包装类对象
2)Double d2 = Double.valueOf(3.4);这个也没有高效的效果,只有Integer有
Integer的常用方法:i1.parseInt(“80”);将字符串80转成int类型的80
Double的常用方法:d1.parseDouble(“80”);将字符串80转成double类型的80
自动装箱与自动拆箱:
1)Integer i3 = 5; 自动装箱【基本类型 到 包装类型】:
编译器会把int类型的5装箱,变成Integer类型,底层调用的方法:valueOf(5)
2)int n = i3;自动拆箱【包装类型 到 基本类型】:
编译器会把包装类型的i3中的数据取出来,把这个值赋值给基本类型int
底层调用的方法:i3.intVlaue();
3. 浮点数运算不精确的解决方案:BigDecimal
如果使用一个工具,必须先创建这个类的对象,如果想创建对象,必须先了解它提供了哪些构造方法
创建BigDecimal对象的方式:
1)BigDecimal(double val) :将double类型的数据作为参数,交给BigDecimal对象【不用,因为double本身不精确】
2)BigDecimal(String val) :将String类型的数据作为参数,交给BigDecimal对象【用这个】
注意:double->String直接拼接一个空串“”就可以
使用对象进行加减乘除操作,注意:除法除不尽时会抛出异常,所以需要指定除不尽时保留几位小数以及舍入方式
4. File 文件类
创建File类的对象:new File(String pathname) :这个参数是一个String类型的路径名,这个路径可能是:
1)文件的路径 “E:\ready\1.txt”
2)文件夹的路径 “E:\ready\a”
3)之前不存在的文件/文件夹的路径:这个路径暂时在windows中还未创建出来
注意:new File类的对象只是在内存中多个一个Java对象,并不会真的帮我们在外部创建一个新的文件/文件夹
package cn.tedu.review; import java.io.File; import java.io.IOException; /*本类用于复写File类的API*/ public class TestFile { public static void main(String[] args) throws IOException { //1.创建File类的对象,注意File类需要导包 File file = new File("E:\\ready\\1.txt"); //2.测试文件的常用方法 System.out.println(file.length());//获取文件的字节量 System.out.println(file.exists());//判断文件是否存在 System.out.println(file.isFile());//判断当前file对象代表的路径是否是文件 System.out.println(file.isDirectory());//判断当前file对象代表的路径是否为文件夹 System.out.println(file.getName());//1.txt,获取文件名 System.out.println(file.getParent());//E:\ready,获取父级路径,不包含文件名 System.out.println(file.getAbsolutePath());//E:\ready\1.txt,获取带盘符,带文件名的绝对路径 //3.测试file对象对应在外部windows中的创建与删除 file = new File("E:\\ready\\5.txt"); System.out.println(file.createNewFile());//创建一个之前不存在的文件,注意有异常抛出 file = new File("E:\\ready\\aaa"); System.out.println(file.mkdir());//创建一个之前不存在的单层文件夹 file = new File("E:\\ready\\j\\q\\k"); System.out.println(file.mkdirs());//创建一个之前不存在的多层文件夹 System.out.println(file.delete());//只能删除空文件夹与文件 file = new File("E:\\ready\\5.txt"); System.out.println(file.delete()); //4.文件列表测试 file = new File("E:\\ready"); String[] list = file.list();//返回值类型是一个String[],数组里都是String类型的对象 File[] fs = file.listFiles();//返回值类型是一个File[],数组里都是File类型的对象 //如果想要能够拿到File对象进一步做其他操作的话,需要使用listFiles() } }