for循环理解

我刚开始学时,一直不明白这个for循环 如何写出99乘法表,之后就放弃编程了,后来因为工作的原因发现离不开它,也看到很多 大佬有把自己的心得记下来,所以 打算重新开始


public class double {

    public static void main(String[] args){

        for(int i=1;i<=9;i++){     //外循环

            for(int o=1;o<=i;o++){    //内循环
                
              System.out.println(o+"*"+i+"="+(i*o)+"/t");  

            }
                System.out.println("");
        }    

    }
}
/*第一遍:i=1;o=1;然后走程序;o<=i;(o<=1;这个判断成立)
  输出结果就是1*1=1;然后程序走完一边;执行i++;

第二遍:但是i<9,所以继续循环,走到内循环里,o<=i;(此时i=2,o=1),条件判断o<=2;输出第一行是1*2=2;
然后o++;由于上个条件成立,输出之后,再次回到内循环,此时i=2;o=2;所以条件成立。输出2*2=2;然后程
序走完一边;执行i++;



第三遍:i<9,i++两次,所以等于3;i<=9;执行内循环,o=1;o<=i(3);i++;第一遍输出1(第一遍的o)*3(第一遍的
i)=3;然后o++;o在第二遍就等于2了;所以第二遍输出的是2*3=6;然后o++;第三遍输出时:i的值仍然是3,o的
值在o++两边后也等于3,输出3*3=9后;o=4时,内循环的条件就不成立了。



然后执行外循环里的换行,再因为i=3,仍然是i<=9;所以外循环继续;知道最后i<=9这个输出出来,i=10时,条
件不满足i<=9,输出结束;



*/

第一点:刚开始不理解为什么外循环的值可以不变,而内循环每次都要从1开始,直到在知乎看到这个解释:

for(循环初始化表达式; 循环条件表达式; 循环后的操作表达式) {
        // 循环体  
    }
在“循环初始化表达式”中声明的变量,我们称之为“循环变量”

for循环执行顺序:

​ 1)“循环初始化表达式”最先执行,并且只执行了一次。

​ 2)如果“循环条件表达式”成立,则执行循环体;如果“循环条件表达式”不成立,则跳出循环。

​ 3)“循环体”执行完毕以后,立刻执行“循环后的操作表达式”

​ 4)“循环后的操作表达式”执行完毕以后,立刻执行“循环条件表达式”
作者:筱毅
链接:https://zhuanlan.zhihu.com/p/73039250
来源:知乎

因为内循环的(循环初始化表达式)在输出完他的结果后已经结束了,但是外循环的变量此时仍然小于9,还没有结束,所以外循环得初始值不变;

至此for循环的嵌套基础理解告一段落;
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值