为什么这个语句不起作用
boolean b = (y==3-x)||(y==3)||(y=3+x);
但是这个确实
boolean b = (y==3-x)||(y==3);
b = b || (y == x-3);
和&&
语句在传递的参数数量上没有问题
boolean b = x < 7 && x >= 0 && y < 7 && y >= 0;
为什么这个语句不起作用
boolean b = (y==3-x)||(y==3)||(y=3+x);
但是这个确实
boolean b = (y==3-x)||(y==3);
b = b || (y == x-3);
和&&
语句在传递的参数数量上没有问题
boolean b = x < 7 && x >= 0 && y < 7 && y >= 0;
您错过了一个等号,这意味着最后一个括号分配3+x
给b
,计算结果为int
而不是boolean
,因此不能用于逻辑 OR 表达式。但是,这有效:
boolean b = (y==3-x)||(y==3)||(y==3+x);
因为在第一种情况下:
boolean b = (y==3-x)||(y==3)||(y=3+x);
你正在做的任务不是比较(y=3+x)
将其更改为:
boolean b = (y==3-x)||(y==3)||(y==3+x);
它会为你工作
但是在第二种情况下:
boolean b = (y==3-x)||(y==3);
b = b || (y == x-3);
您正在到处进行比较,这就是它对您有用的原因!
同样在第三种情况下,您正在进行比较
boolean b = x < 7 && x >= 0 && y < 7 && y >= 0;
笔记:-
==用于比较,=用于分配。
<,>,<=,>=,==都是用来比较的