2 iceorange2016 iceorange2016 于 2016.04.24 17:53 提问

关于java boolean类型if判断,一个小问题。刚注册实在没有c币,只能说声谢谢了。

截的图里面_if(bool)_里的bool什么意思?是_bool=true_吗?
为什么我把_bool_换成_bool=true_ 编译后输入_40_会把_-1_也打印出来?
先谢好心人解答了,刚学java,好多都不懂

8个回答

w172087242
w172087242   Ds   Rxr 2016.04.24 19:13
已采纳

这个方法表示如果n与a数组里面的所有值都不相等的话,那么bool变量的值就一直是true,就输出-1;
如:
n输入的是5,那么a与1,4,6,9,40都不相等,所以为输出-1;
如果:
n输入的是4,那么a[1]与n就相等,这时候输出的是4,并且bool变动为false,将不输出-1;

希望结贴。

w172087242
w172087242 回复iceorange2016: 对if里面就接受true or false,直接写和==或equals判断都可以
一年多之前 回复
iceorange2016
iceorange2016 if(bool)中的bool=true 打印-1;对吧
一年多之前 回复
iceorange2016
iceorange2016 奥 明白了。 if(bool)中的bool是先判断上一句的if(n==a[i])是否成立,如果成立,bool=false,if(bool)中的bool=false不打印-1。反之,
一年多之前 回复
w172087242
w172087242 还有就是a[i]==n返回的也是boolean值,和你的bool是一样的true or false,既然a[i]==n这样你都能知道怎么回事,那么if(bool)和if(a[i]==n)效果是一样的,true就执行if里面的内容。
一年多之前 回复
iceorange2016
iceorange2016   2016.04.24 18:07

有人能回答一下吗?亲们

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.04.24 18:11

是啊,if(bool)就是如果这个变量为真,就走入这个分支,为假就进入else分支。

iceorange2016
iceorange2016 第一次问图片没有上传成功,刚上传了,在楼下,帮忙看看
一年多之前 回复
w172087242
w172087242   Ds   Rxr 2016.04.24 18:21

这边看不到你说的图片,但是java中boolean类型有true和false两个值;
在if或者while语句中,boolean值为true才能走入当前分支或进入循环。

iceorange2016
iceorange2016 图片没上传成功,又重新上传了,在楼下,帮忙看看
一年多之前 回复
iceorange2016
iceorange2016   2016.04.24 18:52

图片说明

Xiaozhi107
Xiaozhi107   2016.04.24 20:02

你把n赋值40后,在for循环里已经依次打印了1,4,6,9,40,在判断40的时候,是先打印了40然后把bool赋了false,那么此时程序走下去会执行bool
为false的情况,即打印-1,,,我也是初学

Xiaozhi107
Xiaozhi107   2016.04.24 20:06

n=40不会打印-1,只要不等于集合中的元素最后就不会打印-1,这个应该对了。。。=-=

qq_19596071
qq_19596071   2016.04.24 20:20

你输入40,会把bool变为false,地下的system.out.println(''-1'');不会执行

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!