一、包装类
基本数据类型:只能描述当前范围内的值
包装类(引用数据类型):不仅能描述当前范围内的值,还提供了对值的一些操作方法
1、基本数据类型和包装类的区别
- 基本数据类型
- 包装类默认值都是null(本质还是个类,默认值和类一样)
- 基本数据
2、基本数据类型对应的包装类
| 基本数据类型\ | 包装类\ |
|---|---|
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
3、构造方法
- 直接传入数值
Integer integer = new Integer(10);
- 传入string转换成int值
Integer integer1 = new Integer("123");
- 可以进行数字运算也可调用方法运算
4、常用方法
每一个包装类里面都有一个静态方法叫做valueof-->都是可以将一个字符串转换为对应类型包装类
5、自动拆箱和装箱
一般写法:
5、1自动装箱
把一个基本数据类型的值赋值给包装类的情况
ex:把69封装为一个对象 再赋值给i这个变量
5、2自动拆箱
把一个对象赋值给基本数据类型的行为
ex:把integer这个对象里面的int值69取出来赋值给i3
5、享元模式
只要是引用数据类型,进行比较都应该使用equals
二、System&Runtime&垃圾自动回收
1、System
1、1常用方法
System.arraycopy(Object[] src, int srcPos, Object[] dest, int destPos, int length)
1、 2、形参介绍
| 标题 | 描述 |
|---|---|
| src | 源数组 |
| srcPos | 源数组开始复制的下标 |
| dest | 目标数组 |
| desPos | 目标数组开始复制下标 |
| length | 复制的元素个数 |
1、3、例子
从源数组src中的srcPos下标处,开始复制 length个元素到目标数组dest中,从destPos下标开始粘贴
注意不要超过两个数组的长度限制
2、Runtime【了解】
2、1概述
该类可以通过Java代码执行启动一个进程(一个应用程序),只能去运行 C:\Windows\System32
2、2常用语法
2、3使用
3、垃圾自动回收【了解】
3、1回收方式
- System
- Runtime
void gc()
运行垃圾回收器。 - Object
protected void finalize()
当垃圾收集确定不再有对该对象的引用时,垃圾收集器在对象上调用该对象。
三、获取随机数
1、使用场景
彩票 验证码 买码 抢红包 贪吃蛇的食物 随机英雄 音乐随机播放
2、获取随机数的方式
| 类型 | 范围描述 |
|---|---|
| Random | boolean double int ... 【0,n) |
| Math | (0,1) |
| UUID | 经常用来做唯一标识ID |
2、1Math
2、2Random常用方法
2、3ThreadLocalRandom常用方法
是Random的子类,没有构造方法,要使用需要先返回当前线程的ThreadLocalRandom 得到一个对象。
ex:
3、动态验证码
五、日期(时间)相关类
1、Date:表示时间的类
构造方法:Date()
分配一个 Date对象,创建当前时间
2、DateFormat:时间格式化的工具类
2、1 SimpleDateFormat(DateFormat的子类)
2、2 常用方法
构造方法:SimpleDateFormat(String pattern)
使用给定模式 SimpleDateFormat并使用默认的 FORMAT语言环境的默认日期格式符号。
2、3使用
六、异常
1、异常Throwable的继承体系
| Throwable | |
|---|---|
| Error | |
| Exception | 由非常多的子类,没有过多方法 |
java里面异常类非常多,仅仅只是对代码运行出现错误的时候进行分类,方便编程人员排错
2、异常的处理方式
2、1捕获异常
语法:
try{
写可能发生异常的代码
}catch(异常类型 变量名){
写异常处理语句
}
或者
try{
写可能发生异常的代码
}catch(异常类型 变量名){
写异常处理语句
}finally{
最终要执行的语句
}
finalay:无论是否发生异常都会执行(就算try和catch都有return返回值也一样)--一般写关闭资源处理语句 --IO JDBC
写异常处理语句
- 记录日志
- 获取异常的信息
打印堆栈信息 e.printStackTrace();
2、2抛出异常 (可以多个异常类型)
修饰符 返回值类型 方法名(形参列表) throws 异常类型,异常类型{
}
PS:抛出异常就是不处理异常
2、3自定义异常
定义
用来新增一个异常,在系统中表示特定异常情况
自定义步骤
- 自己定义一个类,建议以Exception结尾
- 继承一个已知的异常类 建议:要么继承Exception 要么继承RuntimeException
- 一般提供一个无参和有参构造,里面都是调用父类的无参和有参构造
有参构造方法提示异常原因
注意
只有在抛出 RuntimeException或者RuntimeException的子类对象的时候 可以省略 throws语句