Java基础中异常及包归纳整理
Java作为一门高级面向对象编程语言,具有强大的异常处理机制和模块化编程的“包”机制。以下是关于Java基础中异常及包的归纳整理。
异常(Exception)
Java中把程序运行中发生的不正常情况称为“异常”。异常分为两大类:受查异常和非受查异常。受查异常是指在使用一个类或者方法时,必须对其进行异常处理(try-catch或throws)。非受查异常是指程序中编写的错误导致的问题,Java程序员通常使用try-catch来捕捉这样的异常。
在Java中,每个异常都是一个对象。发生异常时,Java系统会生成一个异常对象并将控制权交给调用者。如果异常对象在当前方法(调用者)中未被捕获处理,则控制权传递回调用方法中,如果还没有处理,则继续传递,直至传递到Java虚拟机(JVM),程序终止。
下面列举几个典型的异常:
NullPointerException(空指针异常)
空指针异常是Java中最常见的异常,通常是因为对空引用对象调用了方法或字段导致的。
String str = null;
str.charAt(0); // 这里会抛出NullPointerException
ArrayIndexOutOfBoundsException(数组下标越界异常)
数组下标越界是因为数组中没有该下标对应的元素。
int[] arr = new int[3];
arr[3] = 0; // 这里会抛出ArrayIndexOutOfBoundsException
包(Package)
Java的包是用于管理Java类的分组机制,通过使用包,可以更好地组织和管理自己的代码。可以将一个包看作是存放类的容器,同样的类名可以放在不同的包中,以避免类名冲突。
导入包
使用Java内置的类不需要导入,而使用自己创建的类时,需要导入对应的包。可以使用Java中的import关键字来导入某个包。
import java.util.Random; // 导入java.util下的Random类
如果要导入同个包下的所有类,可以使用“星号+包名”的方式导入。
import java.util.*; // 导入java.util包下的所有类
包的定义和命名
一个包是一个目录,其名称是该目录的路径名。Java程序中的类名通常包含了其所属的包的名称,类似于文件系统的路径。为了避免冲突,建议在命名包时使用域名倒序加以区分,例如com.example.mypackage。
示例
下面的示例是一个异常处理的例子,通过catch块捕获并处理输入不合法的异常。
import java.util.Scanner;
public class ExceptionExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入整数:");
try {
int num = Integer.parseInt(scanner.nextLine());
System.out.println("输入数字是:" + num);
} catch (NumberFormatException e) {
System.out.println("输入的不是整数,请输入整数!");
}
}
}
下面的示例是一个使用import关键字导入包的例子。
import java.util.Random;
public class PackageExample {
public static void main(String[] args) {
Random random = new Random(); // 使用导入的java.util包中的Random类
System.out.println(random.nextInt(10)); // 输出0~9之间的随机数
}
}
结论
Java中的异常处理和包机制是Java编程中必不可少的两大机制,掌握好它们对于编写高质量的Java程序非常重要。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java基础中异常及包归纳整理 - Python技术站