黑马程序员技术交流社区

标题: 九九乘法表,转不过这弯了 [打印本页]

作者: 付江涛    时间: 2014-1-20 15:58
标题: 九九乘法表,转不过这弯了
本帖最后由 付江涛 于 2014-1-21 16:30 编辑
  1. for (int x=1; x<=9;x++ )
  2.                         {
  3.                                 for (int y=1;y<=x ;y++ )
  4.                                 {
  5.                                         System.out.print(y+"*"+x+"="+y*x+"\t");
  6.                                 }
  7.                                 System.out.println();   // 换行
  8.                         }
复制代码



内循环。。

理解不了尖朝上 尖朝下。。。。不理解为什么       为啥就是理解不了呢?


作者: 黄晓鑫    时间: 2014-1-20 15:59
你理解就是循环里面有循环
作者: 付江涛    时间: 2014-1-20 16:03
黄晓鑫 发表于 2014-1-20 15:59
你理解就是循环里面有循环

{:3_55:}感觉越看越晕了
作者: MyFuture    时间: 2014-1-20 16:20
外层循环一次,内层循环一周期    有的时候不要太刻意去了解  可能你思维进入了误区  先缓缓     也可以先记下来   从代码到程序结果   或者说写几遍就会了   心不要太急燥   加油!
作者: MyFuture    时间: 2014-1-20 16:38
有的时候遇到自己很难理解的知识点的时候心里很烦躁,那个时候其实刻意选择放松下再来学  效率会好不少,总之就是心尽量平和点   大家一起努力
作者: dapeng111    时间: 2014-1-20 16:42
毕老师说的尖朝上,尖朝下,只是教会我们一种比较方便、实用的、好记的方式。
其实有很多尖朝上的,尖朝下的代码的编写方式。
作者: 付江涛    时间: 2014-1-20 16:53
dapeng111 发表于 2014-1-20 16:42
毕老师说的尖朝上,尖朝下,只是教会我们一种比较方便、实用的、好记的方式。
其实有很多尖朝上的,尖朝下 ...

就是不明白  内循环 里  初始化表达式什么时候取变量x   循环条件表达式什么时候取变量x。  (是不是这么表达)

老师说的是尖角朝上 尖角朝下  但我就是弄不明白为什么 ,如果老师没说这个 该怎么解决  可能是心里烦躁了
作者: 付江涛    时间: 2014-1-20 17:19
MyFuture 发表于 2014-1-20 16:38
有的时候遇到自己很难理解的知识点的时候心里很烦躁,那个时候其实刻意选择放松下再来学  效率会好不少,总 ...

嗯 一起努力

作者: 罗安迪    时间: 2014-1-25 16:13
亲···
是不是看不懂怎么实现表的打印?
      其实最好的方法就是一步一步来。最开始时:x=1,所以小于9,进入内循环1(这是标记~)。
                                                   然后 y=1 小于9,所以进入循环1-1(标记~)。
                                                   在循环1-1里面,输出1*1=1 后\t即回车,
                                                                          然后执行y++,所以y = 2。循环1-1执行完毕。
                                                   在循环1-2里面,x=1,y=2.y还是小于9,所以输出1*2=2
                                                    ''' '''
                                                    直到y=9执行后,即1*9=9输出后。
                                                    结束内循环1。后执行换行~

                                                    换行后 执行x++后x=2,因为x<9,所以进入内循环2.
                                                   其余同理哈~

想清楚步骤就一切清楚啦~

关于尖朝上 朝下···我跳过了···



                                         
                                                   
                                                  
作者: 罗安迪    时间: 2014-1-25 16:25
付江涛 发表于 2014-1-20 16:53
就是不明白  内循环 里  初始化表达式什么时候取变量x   循环条件表达式什么时候取变量x。  (是不是这么 ...

for(1;2;3){4}

最开始执行1,通常是为了对变量初始化 x=1;
然后执行2,为了判断x是否小于等于9;
假如上面条件满足就执行4,不满足就跳出循环;
在执行完4后,执行3:x++,即x+1(即:1+1);
然后再执行2,判断x是否小于等于9;
‘’‘ ’‘’
直到执行3,x达到10了,再执行2,x不再小于等于9了,循环结束。

作者: 付江涛    时间: 2014-1-25 16:44
罗安迪 发表于 2014-1-25 16:25
for(1;2;3){4}

最开始执行1,通常是为了对变量初始化 x=1;

多谢解答,我现在也懂了,其实有时候碰到难点,不要刻意去想它,继续往后学,过段时间回来再看就明白了
作者: 罗安迪    时间: 2014-1-25 18:21
付江涛 发表于 2014-1-25 16:44
多谢解答,我现在也懂了,其实有时候碰到难点,不要刻意去想它,继续往后学,过段时间回来再看就明白了 ...

是呢~基本要看3遍,理解要看6遍,深入掌握需要~~遍~~:)
作者: 放课后小朋友    时间: 2014-1-26 11:37
其实根本不需要死记硬背,只要for循环的执行顺序就可以了,拿这个乘法表来说:
1、先进入外循环,执行x=1,判断x是否小于等于9,成立,然后跳进内循环,执行y=1,判断y是否<=x,成立,输出1*1=1;y自增1,然后执行下面的换行操作。
2、自增1的y不满足y<=x,返回到外循环,x自增1,成为2,x仍旧满足<=9,跳入内循环,然后执行内容同上一个步骤,知道不满足x<=9为止。
总结:这种写法正好可以创建一个乘法表,如果非要硬生生的记住的话,那就外循环控制行,内循环控制列。

希望可以帮到你。。。
作者: 付江涛    时间: 2014-1-26 11:57
放课后小朋友 发表于 2014-1-26 11:37
其实根本不需要死记硬背,只要for循环的执行顺序就可以了,拿这个乘法表来说:
1、先进入外循环,执行x=1, ...

嗯  多谢解答~
作者: DWBJ    时间: 2014-2-16 12:16
套用双重循环,定义外部循环变量j,外部循环1到9,再定义内部循环变量k,让内部循环变量小于等于外部循环变量,思路就出来了。把你的想法转变为计算机语言就可以了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2