Java 专升本考试

186 阅读3分钟

Java SE 基础易错点

byte 运算注意点

byte 基本数据类型在运算式里面不能直接进行计算,会自动转型为 int 计算。

所以在 byte 计算时结果至少需要 int 类型来接受,除非是赋值,或者强转。

try...catch...finally

try...catch 只能用在方法体中。

除了 RuntimeException 其他的异常必须捕获处理。

捕获多个异常时需要注意异常类型从小到大。

自定义异常时,只有继承 RuntimeException 才能 try...catch...

catch 代码块不能为空。

所有异常类的父类是 Throwable 吗?为什么?

所有异常类的父类是 Exception 类,Throwable 是 Error 和 Exception 的父类,Error 是错误类,不是异常类。

Java 的 package 和 import

package :

其上可以写注释和空行,必须是代码的第一行。

import :

  1. 按类型导入:import com.xxx.controller.*,如果需要使用 controller 子包下的结构,仍需要显式导入。也就是只能导入当前目录下的类和接口的声明,子包的结构需要再次显式导入。
  2. java.lang 包下是系统自定义。可以省略。

Random:(产生随机数的类,位于 util 下)

用于生成伪随机数,是线程安全的。

两个构造方法:

无参构造和Random(long seed):用单个long种子创建新的随机数生成器。

常用方法:

nextInt() :生成 int 类型的伪随机数。

nextDouble() :生成 double 类型的伪随机数。

其他类型的一样

Math:(位于 java.lang 下)

是一个被 final 修饰的类。

静态常量属性:

Math.PI: 圆周率。

常用方法:

Math.random(): 生成伪随机数。

Math.abs() :取绝对值。

Math.sqrt() :平方根。

Math.cbrt() :取立方根。

Math.pow() :x 的 y 次方。

throw 和 throws 的区别

throw 是方法体中抛出某种异常,由系统或程序员主动抛出。

throws 用在方法头上,表示方法可能抛出异常的声明,如果抛出异常会将其向上层传递进行异常处理。

throw 和 throws 并不会去处理异常,真正处理异常是由上层调用处理。

throws 不能直接抛出 Exception,必须是具体的异常。

File 类常用方法:

文件和目录路径名的抽象表示

构造方法一般使用:

File(File parent, String child) : 从父抽象路径和子路径名字符串创建新的 File 实例。

File(String pathname) : 通过给定的路径名字符串转换为抽象路径名创建新的 File 实例。

常用方法:

  • createNewFile():当且仅当 File 指定的文件不存在时,自动创建一个新的空文件。
  • exists():判断 File 指定的文件或目录是否存在。
  • isFile(): 判断 File 指定的抽象路径是否是普通文件。
  • isDirectory(): 判断 File 指定的抽象路径是否是目录。
  • delete():删除 File 指定的抽象路径表示的文件或目录,注意目录必须为空才能被删除。
  • mkdir():创建抽象路径命名的目录,父目录必须存在。
  • mkdirs():创建抽象路径命名的目录,父目录如果不存在则创建。
  • renameTo(File dest):表示重命名
  • list():返回字符串数组表示目录中的文件和目录

RandomAccessFile 类:

两个构造方法:

RandomAccessFile(File file, String mode)

RandomAccessFile(String name, String mode)

有以下几个 mode:

  • r:只能读,如果调用 write 方法回抛出 IO 异常
  • rw:可以读写
  • rws:可以读写,要求对”文件的内容“和”元数据“的每个更新都同步到存储设备
  • rwd:可以读写,要求对”文件的内容“的每个更新都同步到存储设备

线程的调度和基本控制:

线程的基本生命周期:

  • 新建
  • 就绪
  • 运行
  • 阻塞
  • 消亡

\