为了账号安全,请及时绑定邮箱和手机立即绑定

((i>2)&&(i%3==0)),刚开始执行相当于(false&&false),不应该是停止吗?

public static void main(String[] args) {
    for(int i=1;i<=10;i++){
        if((i>2&&(i%3==0))){
            break;
        }
        System.out.println(i);
    }
    System.out.println("结束啦");
}

((i>2)&&(i%3==0)),刚开始执行相当于(false&&false),不应该是停止吗?

i最后的输出为1,不应该是刚执行就判断停止吗?

正在回答

1 回答

对呀,一开始就false,所以没有执行break,只有true才会执行break,所以直接打印i了

搜索

复制

0 回复 有任何疑惑可以回复我~
#1

慕斯2112558 提问者

但是为什么打印结果为1、2。刚开始false后又打印了2,才停止的呢?
2022-06-10 回复 有任何疑惑可以回复我~
#2

电信1班 回复 慕斯2112558 提问者

只有满足if语句后才会运行break,满足后才会结束循环操作(即输出i),然后运行最后的输出语句。否则就是循环不再满足循环条件才运行最后的输出语句。
2022-08-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

((i>2)&&(i%3==0)),刚开始执行相当于(false&&false),不应该是停止吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信