看看这个吧,Java的,不理解为什么

img


用下列哪个代码替换程序标注的【代码】会导致编译错误?
public class E {
public static void main (String args[ ]) {
int m=10,n=0;
while(【代码】) {
n++;
}
}
}
就是不理解为什么

c选项是赋值,while括号里面要填条件表达式,要么是true要么是false

while()括号中是一个条件表达式,结果只能为true或者false
m=0,是赋值语句,表明把0赋值给m变量;
判断用双等号“==”,如果C选项为m==0,就没问题了,此时表示m是否等于0。

如果对你有帮助,不要忘了点采纳,谢谢啦!写这么多不容易
因为while()中需要一个布尔值(boolean),布尔值是java中的一个基本数据类型,其包括true和false
boolean布尔值:用来做判断的
布尔值主要是用来做条件判断的。
所以while(m=0),为将0赋值给m,就成了while(0)
而while()需要的是布尔值,也就是必须是while(true或者false)

所以C错误
而其他几个选项:
A:m-->0 表示m先减1后判断是否大于0,返回布尔值,可行
B:m++>0 表示m先加1后判断是否大于0,返回布尔值,可行
D:m>0&&true ,表示判断m是否大于0,布尔值,然后且上true(布尔值),返回的还是一个布尔值
综上所述,只有C放进去错误。

判断语句:
注意的点:=不是判断符号,是赋值符号。若要判断应用“==”
① <
② >
③ ==
④ != :不等于
若直接打印布尔值将返回为 false 或 true

img

img

while中的括号应该放个判断式,或者false,true。