为什么for语句后面可以添加分号

来源:4-15 编程练习

qq_新城旧梦_03226011

2016-07-03 13:09

int num = 999;
        int count =0;
        for(count=1;(num/=10)>0;count++);
        System.out.println("它是个"+count+"位的数!");

这样也能正确输出,但是谁能讲解下这段代码的意思

写回答 关注

2回答

  • 慕粉1466052569
    2016-07-05 23:03:38
    已采纳

    for语句后面直接加分号,说明循环中没有可执行的循环操作,自动进入下一次循环,唯一变化的只是count的值自加一次,直到不满足循环条件,跳出循环,循环结束。

    count=1,  999/10=99>0,  count=2,  99/10=9>0,  count=3,  9/10<0,  跳出循环,  输出“它是个3位的数”

    qq_新城旧...

    谢啦,

    2016-07-06 09:08:04

    共 1 条回复 >

  • 荷兰
    2016-07-03 13:24:58

     for(count=1;(num/=10)>0;count++);

    count=1,再判断(num/=10)>0,显然成立,然后count+1=2;执行下面的语句,但分号前为空,即没有要执行的。所以再回到判断(num/=10)>0,成立,然后count+1=3;最后判断(num/=10)>0不成立,所以输出count为3.如果不加分号,for循环就包括了 System.out.println("它是个"+count+"位的数!");

    qq_新城旧...

    也就是说分号的作用是让前两次不被输出,只有当for循环不成立才会输出下一句是么?

    2016-07-03 14:21:13

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题