883 次浏览
在 Java 中,您可以声明三种类型的变量,即实例变量、静态变量和局部变量。局部变量 - 在方法、构造函数或代码块内部定义的变量称为局部变量。变量将在方法内部声明和初始化,并且当方法完成时变量将被销毁。类(静态)变量 - 类变量是在类内部、任何方法外部声明的变量,并使用 static 关键字。try 块中的静态方法同样,静态变量属于类,可以在类的任何地方访问,这与局部变量的定义相矛盾。因此,声明 ... 阅读更多
6K+ 次浏览
异常是在程序执行期间发生的错误(运行时错误)。当发生异常时,程序会突然终止,并且生成异常的那一行之后的代码永远不会执行。用户定义的异常您可以在 Java 中创建自己的异常,它们被称为用户定义的异常或自定义异常。要创建用户定义的异常,请扩展上述类之一。要显示消息,请覆盖 toString() 方法,或通过以字符串格式传递消息来调用超类的带参数构造函数。MyException(String msg){ super(msg); } 或者,public String toString(){ return ... 阅读更多
176 次浏览
否,为此,要显式抛出任何异常,您需要创建该异常的对象并使用 throw 关键字抛出它。如果不创建对象,则无法显式抛出异常,您可能会创建一个导致相应异常的情况。示例以下 Java 程序抛出 NullPointerExceptionpublic class ExceptionExample { public static void main(String[] args) { System.out.println("Hello"); NullPointerException nullPointer = new NullPointerException(); throw nullPointer; } }输出Hello Exception in thread "main" java.lang.NullPointerException at MyPackage.ExceptionExample.main(ExceptionExample.java:6)
638 次浏览
在构造函数或任何方法中读取用户的值时,您可以使用 if 条件验证这些值。示例在以下 Java 示例中,我们定义了两个自定义异常类来验证姓名和年龄。import java.util.Scanner; class NotProperAgeException extends Throwable{ NotProperAgeException(String msg){ super(msg); } } class NotProperNameException extends Throwable{ NotProperNameException(String msg){ super(msg); } } public class CustomException{ private String name; private int age; public static boolean containsAlphabet(String name) { for (int i = 0; i < name.length(); i++) { char ch = name.charAt(i); if (!(ch >= 'a' && ch
3K+ 次浏览
读取输入并在方法中执行所需的计算。将导致异常的代码保留在 try 块中,并在 catch 块中捕获所有可能的异常。在每个 catch 块中显示相应的消息并再次调用该方法。示例在以下示例中,我们有一个包含 5 个元素的数组,我们从用户那里接受两个整数,分别表示数组中的位置,并对它们执行除法运算,如果输入的表示位置的整数大于 5(异常的长度),则会发生 ArrayIndexOutOfBoundsException,如果为分母选择的位置为 4,即 0 ... 阅读更多
异常是在程序执行期间发生的错误(运行时错误)。当发生异常时,程序会突然终止,并且生成异常的那一行之后的代码永远不会执行。打印异常消息您可以使用以下继承自 Throwable 类的其中一种方法在 Java 中打印异常消息。printStackTrace() - 此方法将回溯打印到标准错误流。getMessage() - 此方法返回当前 throwable 对象的详细消息字符串。toString() - 此消息打印当前 throwable 对象的简短描述。示例import java.util.Scanner; public class PrintingExceptionMessage { ... 阅读更多
在 Java 中,每种类型都有默认值,当您不初始化类的实例变量时,Java 编译器会代表您使用这些值初始化它们。Null 是对象类型的默认值,您也可以在方法中手动将 null 分配给对象。Object obj = null;但是,如果您使用具有 null 值的对象或(对象而不是 null 值),则会抛出 NullPointerException。示例public class Demo { String name = "Krishna"; int age = 25; public static void main(String args[]) { ... 阅读更多
1K+ 次浏览
IllegalStateException:当您在非法或不适当的时间调用方法时,会生成 IlleagalStateException 异常。例如,ArrayList 类的 remove() 方法在调用 next() 或 previous 方法后删除最后一个元素。在删除当前位置的元素后,您需要移动到下一个元素才能删除它,即每次调用 next() 方法,您只能调用一次此 remove() 方法。由于列表的初始位置(指针)将在第一个元素之前,因此您不能在不调用 next 方法的情况下调用此方法。如果您在其他情况下调用 remove() 方法 ... 阅读更多
836 次浏览
每当您向方法或构造函数传递不合适的参数时,都会抛出 IllegalArgumentException。它是一个运行时异常,因此无需在编译时处理它。示例java.sql.Date 类的 valueOf() 方法接受一个表示 JDBC 转义格式 yyyy-[m]m-[d]d 中的日期的字符串,并将其转换为 java.sql.Date 对象。import java.sql.Date; import java.util.Scanner; public class IllegalArgumentExample { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("请输入您的出生日期,使用 JDBC 转义格式 (yyyy-mm-dd)"); String dateString = sc.next(); ... 阅读更多