javase-常用类+异常处理

136 阅读4分钟

一、包装类

基本数据类型:只能描述当前范围内的值
包装类(引用数据类型):不仅能描述当前范围内的值,还提供了对值的一些操作方法

1、基本数据类型和包装类的区别

  • 基本数据类型
  • 包装类默认值都是null(本质还是个类,默认值和类一样)
  • 基本数据

2、基本数据类型对应的包装类

基本数据类型\包装类\
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

3、构造方法

  • 直接传入数值
Integer integer = new Integer(10);
  • 传入string转换成int值
Integer integer1 = new Integer("123");
  • 可以进行数字运算也可调用方法运算

image.png

4、常用方法

image.png 每一个包装类里面都有一个静态方法叫做valueof-->都是可以将一个字符串转换为对应类型包装类

image.png

5、自动拆箱和装箱

一般写法:

image.png

5、1自动装箱

把一个基本数据类型的值赋值给包装类的情况

image.png

ex:把69封装为一个对象 再赋值给i这个变量

5、2自动拆箱

把一个对象赋值给基本数据类型的行为

image.png

ex:把integer这个对象里面的int值69取出来赋值给i3

5、享元模式

只要是引用数据类型,进行比较都应该使用equals

二、System&Runtime&垃圾自动回收

1、System

1、1常用方法

image.png

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下标开始粘贴

image.png 注意不要超过两个数组的长度限制

2、Runtime【了解】

2、1概述

该类可以通过Java代码执行启动一个进程(一个应用程序),只能去运行 C:\Windows\System32

2、2常用语法

image.png

image.png

2、3使用

image.png

3、垃圾自动回收【了解】

3、1回收方式

  • System

image.png

image.png

  • Runtime
    void gc()
    运行垃圾回收器。
  • Object
    protected void finalize()
    当垃圾收集确定不再有对该对象的引用时,垃圾收集器在对象上调用该对象。

image.png

三、获取随机数

1、使用场景

彩票 验证码 买码 抢红包 贪吃蛇的食物 随机英雄 音乐随机播放

2、获取随机数的方式

类型范围描述
Randomboolean double int ... 【0,n)
Math(0,1)
UUID经常用来做唯一标识ID

2、1Math

2、2Random常用方法

image.png

2、3ThreadLocalRandom常用方法

是Random的子类,没有构造方法,要使用需要先返回当前线程的ThreadLocalRandom 得到一个对象。

image.png

image.png ex:

image.png

3、动态验证码

image.png

五、日期(时间)相关类

1、Date:表示时间的类

构造方法:Date()
分配一个 Date对象,创建当前时间

image.png

2、DateFormat:时间格式化的工具类

2、1 SimpleDateFormat(DateFormat的子类)

2、2 常用方法

构造方法:SimpleDateFormat(String pattern)
使用给定模式 SimpleDateFormat并使用默认的 FORMAT语言环境的默认日期格式符号。

2、3使用

image.png

六、异常

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:抛出异常就是不处理异常

image.png

2、3自定义异常

定义

用来新增一个异常,在系统中表示特定异常情况

自定义步骤

  • 自己定义一个类,建议以Exception结尾
  • 继承一个已知的异常类 建议:要么继承Exception 要么继承RuntimeException
  • 一般提供一个无参和有参构造,里面都是调用父类的无参和有参构造

image.png

有参构造方法提示异常原因

注意

只有在抛出 RuntimeException或者RuntimeException的子类对象的时候 可以省略 throws语句

image.png