java - 为什么语句不可达?

标签 java for-loop

int i = 0, j = 5;   
tp: for (;;) {
    i++;  
    for (;;) {
        if(i > --j) {
            break tp; 
        } 
    } 
    System.out.println("i =" + i + ", j = " + j); //Unreachable statement, why?
}

我以为语句是可达的,因为前面有break语句,所以System.out.println后面的语句可以正常完成,因为System .out.println 是可达的。哪里错了?

最佳答案

因为你有两个无限循环。改变

break tp;

break;

并且该语句是可达的。

关于java - 为什么语句不可达?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27200680/

相关文章:

java - 在其他类中实现对象参数

java - 数组的最后一个元素在迭代时首先打印

抛出 java.util.ArrayList$Itr.checkForComodification 异常

c - 为什么我的 strlen 似乎在这个 for 循环中返回两个值?

Javascript For 循环被函数调用中断?

javascript - 使用 For 循环追加具有多个子 div 的 div

java - Lombok如何自定义 boolean 对象字段的getter?

java - VPN 下 navision Web 服务中的身份验证

java - 如果配置中提供了默认值,Quarkus >= 0.18.0 将无法构建

file - 批处理脚本编程——如何允许用户从文件夹中的文件列表中按编号选择文件?