A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

D.JD

初级黑马

  • 黑马币:21

  • 帖子:7

  • 精华:0

© D.JD 初级黑马   /  2018-6-14 12:56  /  371 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

关于嵌套for{for{}}的关系
我们首先要理清一个执行的先后顺序,是从上往下的。
比方说  (1) 一个输出语句
        (2)For(循环3次){
         (3)一个输出语句
        (4)For(循环2次){
(5)一个输出语句
}
       (6)一个输出语句
}
        (7)一个输出语句
上面的一个表达式,他的一个正确的一个顺讯应该是,
12345456234545623454567
我们要知晓,那面一个for循环一次,相当于里面那个for循环了整个周期,如果里面那个for还有一个for,那么最里面的for循环一个周期等于上一级的for循环一次
由此可以知道,最里面for要执行的次数为:最外层的for循环次数*次一级for循环次数*自己要循环的次数。
举个例子 99乘法表的表达式 就是for(){for}体系的:a*b
那么 我们就要先给a 循环一下 可以知道 是 for(a=1;a<10,a++)
                 b 循环一下 可以知道 是for(b=1;b<10,b++)
那么 两个组合一下 就是 for(a=1;a<10,a++){
for(b=1;b<10,b++){
System.out.print(a + "*" + b + "="+a*b+" ")
} System.out.println(" ")

}
但是 这样的出来的结果是所有的情况~我们要按照99乘法表的格式去展现,通过观察可以得到,99乘法表中 A》B
所以 我们的B循环当中的 表达式 应该改成 B《 a
所以 正确的表达式应该是
for (int a = 1; a < 10; a++) {
    for (int b = 1; b <= a; b++) {
        System.out.print(a + "*" + b + "="+a*b+" ");
    }
    System.out.println(" ");
看上去可能有点饶,但是我们应该注意到,当看到有for。。。for时,我们要先去看最里面的for循环是怎么运行的,然后依次往外去观察,这样就会轻松很多。希望对大家有点帮助~

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马