程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

跳出嵌套的 if

发布于2022-06-24 17:02     阅读(469)     评论(0)     点赞(9)     收藏(2)


我有一些包含嵌套 if 语句的代码:

if(numberOfNeighbors == 1){

                //go through comparison again, add Pixel(i,j) to current linked list -> complist[numberOfComponents]
                    //  break out of large check ??

                    if(ji.getPixelColor(i, j) == (ji.getPixelColor(i-1,j-1))){ //compare to top left
                        complist[numberOfComponents].addFirst(new Pixel(i,j,numberOfComponents)); break; 
                    }
                    if(ji.getPixelColor(i, j) == (ji.getPixelColor(i,j-1))){ // compare to top
                        complist[numberOfComponents].addFirst(new Pixel(i,j,numberOfComponents)); break;
                    }

                    if(ji.getPixelColor(i, j) == (ji.getPixelColor(i+1,j-1))){ // compare to top right
                        complist[numberOfComponents].addFirst(new Pixel(i,j,numberOfComponents)); break;
                    }
                    if(ji.getPixelColor(i, j) == (ji.getPixelColor(i-1,j))){ // compare to left
                        complist[numberOfComponents].addFirst(new Pixel(i,j,numberOfComponents)); break;
                    }
} // end of if(numberOfNeighbors == 1)

基本上我想做的,不管这可能效率低下,是比较某个东西 4 次,但如果结果是匹配,则跳出 4 个嵌套 if 语句的集合,以及外部 if 语句.

这行得通吗?或者如果它当前处于嵌套状态并继续到下一个直到它完成所有 4 个,它是否会脱离嵌套?


解决方案


重要提示:break语句用于退出循环而不是分支

我理解你的问题,但使用break语句退出循环,如for, while, do while. 当条件满足并执行分支if内的语句时,您可以退出语句。if如果您不想在if满足第一个条件时检查其他条件,则必须使用if else分支而不是使用 4 个 if 语句。这两个链接可能有用

请参阅下面的示例

if(condition) {
    if(condition) { //if this evaluates to true, logic1 is executed
        logic1;
    }
    else if(condition) { //if the above condition fails, but this condition satisfies then logic 2 is executed
        logic2;
    }
    else { //if the above 2 conditions fail, you can execute logic3
        logic3;
    }
}


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/463666/7dc2c19b6de6e2dd34c7/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

9 0
收藏该文
已收藏

评论内容:(最多支持255个字符)