问答详情
源自:4-9 Java循环语句之 for

使用逻辑运算符组合的表达式可以实现吗?

使用逻辑运算符组合的表达式for (int i = 1;i <= 100 && i % 3 != 0; i++ ) { sum = sum + i;}  这样有什么问题呢? 请问输出的结果sum为什么是3

提问者:慕九州3597336 2017-09-21 22:06

个回答

  • 饭勺超人
    2017-11-18 00:07:10
    已采纳

    for (int i = 1;i <= 100 && i % 3 != 0; i++ ) { sum = sum + i;}

    for循环每次执行都要判断当前循环变量的值是否满足循环条件(i <= 100 && i % 3 != 0;i++)

    1. 当 i= 1时,i <=100 && i % 3 !=0 成立 sum =1

    2. i++,i = 2,也满足循环条件,sum = 1 + 2 =3

    3. i++,i = 3,注意: 3<=100的值为true, 3 % 3 !=0 的值false 所以循环条件(i <= 100 && i % 3 != 0;i++)的值为false,终止循环,输出sum = 3;

  • 习惯孤独only
    2017-09-21 22:46:18

    运算符优先级%大于!= 大于&&,先进行i%3的运算,在进行!=0的运算,在整体进行&&的运算

  • 慕九州3597336
    2017-09-21 22:45:39

    可是过程应该是0+1+2+4+5+7+...+100,结果等于3367才对的呀  为啥执行了两步,结果等于3,就停止了呢?

  • 童话1_1
    2017-09-21 22:37:17

    for (int i=1;i<=100&&i%3!=0;i++){sum=sum+i};