qq_33676771 2016-06-22 09:16 采纳率: 25%
浏览 3263
已采纳

java基础循环(i=0;i<=5;i++)

for(int i=0;i<5;i++)
System.out.println(i);
输出的话i是等于5的,但是循环条件里i是小于5,请问下是不是碰到这种情况的话当i循环了第四次之后,发现下次循环会等于5了,就会跳过i<5,执行i++,然后再跳出循环,
所以i最后输出是等于5

  • 写回答

15条回答 默认 最新

  • 程序人生。 2016-06-22 10:39
    关注

    for 循环中的执行顺序错误理解如下:

    for(1;2;3){
    4
    }

    其实for循环中的顺序是这样的:
    for(0;1;3){
    2
    }
    其中,0为初始语句,只执行一次,
    然后进行1中的判断语句,判断true时执行{2},false就退出循环,
    2中如果没有终止语句(比如:return 和 break)的话,就执行3中的语句,如果有终止语句,则退出循环
    3执行完进入1判断 true执行2 false退出循环.
    需要注意的是,
    for(int i=0;i<5;i++)
    System.out.println(i);
    中 操作的变量i既是变量,又是操作内容
    所以在i=4的时候 4<5 ,执行System.out.println(i);再i++,此时i=5, i<5为 false,退出循环 ,结果应该是4,而最后其实i的值为5,因为还要执行i++
    而你的标题是for(int i=0;i<=5;i++)
    所以在i=4的时候 4<=5 ,执行System.out.println(i);再i++,此时i=5, i<=5为 true,继续循环 ,结果应该是5, 而此时i会继续执行i++,i最后的值为6,只不过最后退出循环体了而已

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(14条)

报告相同问题?

悬赏问题

  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统