挺疑惑的
本来只是探究关于逻辑运算符
如果能判断出结果后半部分就不继续执行了
比如这里把i<j换成i>j,k输出为3
但是我写i<j
我的b=i<j
应该是实打实运行了,我搜了一下赋值运算符返回值是等号右边的结果
但是我输出
b
还是false???
public class Main {
public static void main(String[] args) {
int i = 1, j = 2, k = 3, m = 4;
boolean b;
if(b = i < j && k++ > m) {
}
System.out.println(b);
System.out.println(b = i < j);
System.out.println(k);
}
}
输出
false
true
4
这里其实我还没搞清楚
我的理解是
作为我们的条件
他只在乎返回的结果,而不会去运行整个 b=i<j
只会判断赋值运算符
然后看=右边
判断i<j
为false
然后就进行向下执行了?
新发现
只有我把两个条件都改对的时候
b=i<j
才会真正的运行
我到时去问一下老师
给大家答复!