为了账号安全,请及时绑定邮箱和手机立即绑定

如何不混淆JAVA语言中的多重if语句与嵌套if语句

如何不混淆JAVA语言中的多重if语句与嵌套if语句

唯晓宝 2016-07-21 12:41:41
初学JAVA,学到了条件语句中的多重if和嵌套if。我认为这两种语句从本质上来讲并没有区别,只是使用条件不同,一个是当布尔表达式为false执行一个是当布尔表达式为true的时候执行。 我想问下不知道我理解的对不对,还有,有没有一个逻辑问题既可以用多重if来写也可以用嵌套if来写呢?
查看完整描述

2 回答

?
KXFT

TA贡献113条经验 获得超58个赞

不能这样说一个多重if只要满足其中一个条件就会执行,嵌套需要满足所有if的条件才能执行,更类似于&&和||的关系

查看完整回答
反对 回复 2016-07-21
  • 唯晓宝
    唯晓宝
    麻烦能给我举个例子吗
  • KXFT
    KXFT
    多重 if(a>1){ System.out.printIn("执行了多重if"); }else if(a<1){ System.out.printIn("执行了多重if"); }else{ } 上面这个if语句无论是满足了a>1还是a<1都会输出执行了多重if,这里的if条件一般是没有交集的,而且if条件里的参数一般是一个 而下面这个语句只有在a>1和a<3同时满足是才会输出执行了嵌套if,这时候的if条件就会有交集 if条件里的参数也可以是各种各样的a,b,c,d.只要他们可以同时满足 if(a>1){ if(a<3){ System.out.printIn("执行了嵌套if"); } }
  • 唯晓宝
    唯晓宝
    哦,这样啊,跟我在慕课网教程上看的不太一样
?
KevinHY

TA贡献4条经验 获得超3个赞

多重if和嵌套if还是有区别的,在其选择条件的级别上有区别。
多重if的选择条件可以说是在一个级别上的,而且是具体的。for example:
if(score<60){System.out.println("不及格");}
else if(score=60 && score>60){System.out.println("及格");}
嵌套if的选择条件可以说不在同一级别上,每嵌套一个if,它的条件会更高一级。for example:
if(score<60){System.out.println("不及格");}
else if(score>=60){
  if(score=60){System.out.println("及格");}
  if(score>60 && score<80){System.out.println("一般");}
  if(score>=80 && score<90){System.out.println("良好");}
  if(score>= 90){System.out.println("优秀");}
}
不知道我举的例子你觉得是否合适。


查看完整回答
反对 回复 2016-07-21
  • 唯晓宝
    唯晓宝
    你举得这个例子,两种语句都可以完成啊,感觉就像是一个啊。额,原谅我是小白
  • 2 回答
  • 0 关注
  • 1620 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信