Java基础回顾 Day1

常用工具类相关

1.    自动装箱和自动拆箱
基本数据类型和包装类转换 

2.    String、StringBuffer、StringBuilder区别与联系。
string 不可变,线程安全
stringbuffer 可变,线程安全
stringbuilder 可变,线程不安全,效率高

3.    String str=”ccjr”;和String str= new String(“ccjr”);的区别
前者在常量池寻找,若”ccjr”已存在,就直接使用已有对象,否则则创建,后者是建新的对象

4.    java.sql.Date和java.util.Date的联系和区别
java.sql.Date是java.util.Date的子类,只精确到年月日,用于数据库填入日期,后者精确到毫秒

5.    为什么要使用包装类,包装类的作用。
包装类是可以使用list set集合,可以使用方法parseInt等,可以使用反省

6.    递归算法的优点是什么?缺点是什么?
递归算法的优点是他能够代码简洁,缺点是容易栈溢出,效率低

异常相关

f-else堵漏洞的缺点:

代码臃肿,业务代码和处理异常的代码混在一起。

可读性差

程序员需要花费大量的精力来维护这个漏洞

程序员很难堵住所有的漏洞。

通过异常的方式处理可以将业务和异常处理代码分开,让代码可读性变强,尤其在更复杂的业务情况,显得尤为明显。

java两大异常

1. 检查型异常 (Checked Exceptions)

这些异常是程序运行时可以预见的,需要进行捕获或声明抛出。

IOException:输入输出异常,通常在文件操作时发生。
SQLException:数据库操作异常。
ClassNotFoundException:类没有找到异常,通常在动态加载类时发生。
FileNotFoundException:文件未找到异常,通常在文件读取时发生。

2. 运行时异常 (Runtime Exceptions)

这些异常通常在程序运行时动态发生,不需要显式捕获,但可以捕获以避免程序崩溃。

NullPointerException:空指针异常,访问 null 对象时抛出。
ArrayIndexOutOfBoundsException:数组下标越界异常。
ArithmeticException:算术异常,例如除以零。
IllegalArgumentException:非法参数异常。
NumberFormatException:数字格式化异常,当字符串无法转换为数字时抛出。
ClassCastException:类型转换异常,尝试将对象转换为不兼容的类型时抛出。
IndexOutOfBoundsException:索引越界异常,访问集合、字符串或其他数据结构时越界。

3. 错误 (Errors)

错误表示系统级的严重问题,通常不需要也不能进行捕获。

OutOfMemoryError:内存溢出错误。
StackOverflowError:栈溢出错误,通常由于递归调用过深。

Error和Exception的区别

Error是系统出现严重错误如内存溢出等,有jvm自动抛出
Exception是不严重的错误,分为编译异常,和运行时异常

Java异常处理中,关键字try、catch、finally、throw、throws分别代表什么含义?

try:可能抛出异常的代码块
catch:用于捕获异常
throw:用于抛出异常
throws:用于声明可能抛出的异常
 

你可能感兴趣的:(Java基础回顾,java,开发语言)