if ....else 和if 的区别就在于,if ....else只会执行if和else其中的一部分语句,要么执行if的,要么执行else的,不会两个都执行。而if,是先判断如果if的条件为真,那么就执行if语句里面的内容,如果不满足条件则不执行,但是和if外的其它同级的其它语句,不管if条件是否为真假,都会被执行到。如楼主的代码:
如果输入的不是3位数,那么就不满足 if(number>=100 && number<=999),则它里面的System.out.println("这个数字是水仙花数")和System.out.println("这个数字不是水仙花数")不会被执行到,但是与它同级的System.out.println("请输入一个三位数"),肯定会被执行到的。
如果你输入的是个三位数,且满足if(sum==number)这个条件,则System.out.println("这个数字是水仙花数")被执行到,如果不满足if(sum==number)这个条件,则不会被执行到。但是与它同级的System.out.println("这个数字不是水仙花数");肯定会被执行到,比它高一级的System.out.println("请输入一个三位数")也肯定会被执行到。
如果加上else判断,则二者只能执行其一。 |