作业帮 > 综合 > 作业

java中遇到一个问题 boolean b; while(b = true) 这是一个正确的示例,请高手帮忙讲解下为什么

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/23 00:20:03
java中遇到一个问题 boolean b; while(b = true) 这是一个正确的示例,请高手帮忙讲解下为什么条件能这么写
看了很多,大概有两种解释,
一种是赋值成功了,所以为真,但是本人尝试了,各种数据类型,除了布尔类型以外都失败,所以应该不是这样.
另外一种非常又道理,程序在执行的时候先执行了赋值然后又读取了b的值以赋值之后变量b的值为准进行条件判断,本人认为这是正确的说法.
那么本人想继续请教,这种写法是一直都有吗?
而且在java中赋值语句本身也是一个表达式吗?
oolean b; while(b = true)
JAVA不推荐这么写的
这个里面有2步操作
1) b = true;将b赋值为true
2) while(b),最终判断是根据boolean类型的b来判断的.
所以这个循环等同于死循环,while(true)
再问: 这个是一直都能用的,还是后来的JDK版本加进去的? 是不是只有boolean类型可以这么用其他的就不行了呢.
再答: 一直都可以,但是开发中很少这样写 只有boolean类型才可以的,JAVA不同于C/C++,BOOLEAN类型只接受true和false