一. 关于int类型变量值以0开头的问题
0开头 代表这个数字是八进制的
0x开头 代表这个数字是十六进制
二. 两种对象的比较方式
1. Comparable: (可比较的) 让一个类天生就具备比较性, 比较规则写在本类内部
class Student implments Comparable<Student>
重写方法: compareTo(Object o1) 这就是比较规则
2. Comparator: (比较器) 这是一个工具, 只有一个比较规则方法
class Student裁判比较类 implements Comparator<Student>
重写方法: compare(Object o1, Object o2)
list 比较器对象
三. Map集合
Map : 键值对集合, 一次可以存储一对对象
Key : 类似于Set集合(不重复)
如果重复了, 后者覆盖前者
Value : 类似于List集合(可重复)
Map相关的3种遍历方式: 都用迭代器(不用管下标 不用管类型)
1. 遍历Key : map.keySet()
2. 遍历Value : map.values();
3. 遍历KeyValue : map.entrySet();
Map.Entry是什么 ? 键值对类型
通过map.entrySet()获得Map.Entry类型对象
该对象中包含两个部分
1. entry.getKey() 获得键值对里的键
2. entry.getValue() 获得键值对里的值
一. Date日期处理类(不常用但还是了解一下,jdk1.8以后常用LocalDateTime等处理日期)
在Java里面提供了一个java.util.Date类, 直接表示当前日期时间
在Date类中有如下几个重要方法:
1. 无参构造: public Date()
2. 有long参构造: public Date(long date)
作用: 把时间毫秒数转成Date对象
3. 转换为long型: public long getTime();
作用: 把Date对象转换成时间毫秒数
Calendar类的使用方式(比较过时的,其本身具有可变性)
1.获取月份:1月是0,二月是1...以此类推
2.获取星期时:周日是1,周一是2...周六是7
其本身并不能实例化,通过子类GregorianCalendar或静态方法getInstance()(此方法本质就是创建了GregorianCalendar对象)
常用方法
1.get():填写一个int类型的值。(Calendar.DAY_OF_MONTH 获取这个月的第几天)
2.set():可以将指定属性设置成一个新的值。(Calender.DAY_OF_MONTH,20 见这个月天数修改成20天)不需要接收,修改直接作用本身,可变性
3.add():将指定属性添加指定int数(Calender.DAY_OF_MONTH,3)减的话只需要将参数2改为负数即可
4.getTime() 将日历类(Calendar)转换成Date类
5.setTime() 将Date时间设置为当前日历类的时间(Date-->日历类)
日期格式化类: SimpleDateFormat (java.text.SimpleDateFormat)
SimpleDateFormat是专门处理日期格式的工具类, 将Date对象转换为String类型显示
主要使用以下方法:
1. 构造方法 : public SimpleDateFormat(String pattern) 需要转换的格式
2. 将Date转换为String : public final String format(Date date)
3. 将String转换为Date : public Date parse(String source) throws ParseException
日期3种形态: date对象, String, long毫秒
二. java.io包 input output ★★★★★
首先说明, 在Java编程里, 对于所有初学者而言, io包是最麻烦的一块内容
因为io包中的父类与其对应的子类实在是太多了
io包的主要作用是对文件及文件内容进行操作, 其中有5个核心类:
1. java.io.File 文件类
2. java.io.InputStream 字节输入流的所有类的超类
3. java.io.OutputStream 字节输出流的所有类的超类
4. java.io.Reader 读取字符流的抽象类
5. java.io.Writer 写入字符流的抽象类
在整个io包中, File类是唯一一个操作文件本身的类, 但不涉及到文件里的内容
文件的本身的操作包括 : 创建 删除 设置权限 各种判断 ...
File类的常用构造方法:
File(String pathname)
通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
创建文件和目录
createNewFile():具有该名称的文件尚不存在时,创建一个新的空文件
mkdir():创建文件夹
mkdirs():创建文件夹目录树
isXxx & canXxx方法(具体查阅API文档)
isDirectory():是否为目录
isFile():是否为文件
canExecute():能执行吗
canRead():能读吗
扫描当前文件夹中
listFiles():获取当前路径下的文件列表,然后遍历
具体的一些getName():获取文件名称包含后缀,length():获取文件大小(字节数)等自行翻阅API文档了解下即可
递归扫描当前文件夹与子文件夹
listFiles():获取当前路径下的文件列表,然后遍历,判断是否是文件夹,是的话递归,记得异常处理,因为有些文件夹因为权限的原因可能会导致报空指针异常