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

为什么sum的值只循环到28呢

public class Break{

   public static void main(String[] args){

       int sum=0;

       for(int x=1;x<10;x++){

          sum=sum+x;

          if(sum>30){

            break;

          }

            System.out.println(sum);

       }

   }

}


正在回答

4 回答

public class HelloWorld{


   public static void main(String[] args){


       int sum=0;


       for(int x=1;x<10;x++){


          sum=sum+x;


          if(sum>30){


             System.out.println(sum);

            break;


          }


           


       }


   }


}


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

当循环到sum=36时,if(sum>30)满足条件,就会执行语句break,跳出for循环,后面的输出语句就不会执行

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

public class Break{

   public static void main(String[] args){

       int sum=0;

       for(int x=1;x<10;x++){

          sum=sum+x;

          System.out.println(sum);

          if(sum>30){

            break;

          }

       }

   }

}

把输出语句和if语句交换一下位置

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

慕粉0910262425 提问者

这个我也试过的,
2017-05-01 回复 有任何疑惑可以回复我~

因为你break了,break发生后面就不会发生了,所以实际上循环到了36只是没有输出而已。你将System.out.println(sum);放到if前就不会出现这情况了。

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

慕粉0910262425 提问者

你说的这种我也试过,会循环到36。但是break了为什么就只输出到28呢。beark在sum不大于30的情况下不是不会终止循环的吗。
2017-05-01 回复 有任何疑惑可以回复我~
#2

java萌新 回复 慕粉0910262425 提问者

因为28后面的一位就是36,已经超过你自己设定的30这个界限,所以在你的语句中,28是你条件中最后一位数
2017-05-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么sum的值只循环到28呢

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