这样编译:
class Ex1 {
public int show() {
try {
int a=10/10;
return 10;
}
catch(ArithmeticException e) {
System.out.println(e);
}
finally {
System.out.println("Finally");
}
System.out.println("hello");
return 20;
}
}
另一方面,这不是:
class Ex15 {
public int show() {
try {
int a=10/0;
return 10;
}
catch(ArithmeticException e) {
System.out.println(e);
}
finally {
System.out.println("Finally");
return 40;
}
System.out.println("hello");
return 20;
}
}
并给出不可达的语句System.out.println(“ hello”); 错误。为什么会这样呢?
最后有一个返回,因此您可能会遇到无法到达的代码块错误。
finally
{
System.out.println("Finally");
return 40;
}
System.out.println("hello"); // unreachable code
return 20;
这实际上是Java中的编译时错误。参见第14.20节。
如果由于语句无法访问而无法执行该语句,则是编译时错误。
问题1: 为什么下面的代码在没有return语句的情况下进行编译? 注意:如果在while之后添加return,则会得到。 问题2: 另一方面,为什么下面的代码会编译, 即使下面的不是。
我开始写一个二叉树函数。该方法目前的目标是在树中找到节点并返回节点。根值是数据,左边和右边是子树。当我在调试器中单步执行它时,当它到达return语句时,它会跳回第二个if块,并最终返回null。
本文向大家介绍Java中如何使用 lambda 表达式中的 return 语句,包括了Java中如何使用 lambda 表达式中的 return 语句的使用技巧和注意事项,需要的朋友参考一下 return语句不是lambda表达式中的表达式。我们必须用大括号({})括住语句。但是,我们不必将void方法调用括在大括号中。方法的返回类型,其中return语句中使用的lambda表达式必须是函数接口。
为什么我不能在不使用return语句的情况下运行此代码段?
根据在线教程,我尝试使用Swing在java中创建一个GUI。我试着在网上找一个排水沟,但我找不到。代码如下: 但是,当我尝试使用JGraph运行代码时,我会遇到以下错误: River.java:4:错误:找不到符号导入javax.swing.container;^symbol:类容器位置:包javax.swing River.java:8:错误:包javax不存在,导入javax.swing;^
问题内容: 当我尝试编译该程序时,在第21行出现“无法到达的语句”错误: 完整的编译器输出为: 我 认为 这些语句在正确的地方…至少在我看来似乎是正确的,并且与我从中克隆的程序相比,该程序看起来是如此简单,以至于我很难确定为什么要这样做。语句无法到达。 复制代码时我做错了什么,我该如何纠正? 问题答案: 您以为您的问题在这里是对的: 该函数将 终止 您的方法,这意味着将不执行任何超出代码的行。如果