涨知识-赋值运算符作为判断条件的是否执行

挺疑惑的
本来只是探究关于逻辑运算符
如果能判断出结果后半部分就不继续执行了
比如这里把ij,k输出为3
但是我写i 我的b=i 应该是实打实运行了,我搜了一下赋值运算符返回值是等号右边的结果
但是我输出
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 只会判断赋值运算符
然后看=右边
判断i 为false
然后就进行向下执行了?

涨知识-赋值运算符作为判断条件的是否执行_第1张图片
新发现
只有我把两个条件都改对的时候
b=i 才会真正的运行

我到时去问一下老师
给大家答复!

你可能感兴趣的:(涨知识系列,java,开发语言)