Java笔试题学习之11(多个&&操作)

版权声明:欢迎转载,期待指正 https://blog.csdn.net/fighting_sxw/article/details/89840668
public class Test11 {
    public static void main(String[] args) {
        int x=0;
        int y=0;
        int k=0;
        for (int z=0;z<5;z++){
            if((++x>2)&&(++y>2)&&(k++>2)){
                x++;
                ++y;
                k++;
            }
        }
        System.out.println(x+""+y+""+k);
    }
}

输出:531

分析 if语句的条件是:(++x>2)&&(++y>2)&&(k++>2)
x的初始值为0 ,执行++x后,x的值为1,1<2,不符合条件,注意,此时后面的就不再运算了,也就不会执行 ++y和k++

可以修改代码,在if语句后面加上打印语句:

public class Test11 {
    public static void main(String[] args) {
        int x=0;
        int y=0;
        int k=0;
        for (int z=0;z<5;z++){
            if((++x>2)&&(++y>2)&&(k++>2)){
                x++;
                ++y;
                k++;
            }
            System.out.println("第"+z+"次:"+x+","+y+","+k);
        }
        System.out.println(x+""+y+""+k);
    }
}

输出:
第0次:1,0,0
第1次:2,0,0
第2次:3,1,0
第3次:4,2,0
第4次:5,3,1
531

ps:从大佬的抖音直接搬运过来,抖音号:Todaystart,不妥之处,还望指正!

猜你喜欢

转载自blog.csdn.net/fighting_sxw/article/details/89840668