第1章 循环嵌套
1.1.1 请输出一个4行5列的星星(*)图案
1.1.1.1 案例代码十一
/*
* 需求:请输出一个4行5列的星星(*)图案。
* 结果:
* *****
* *****
* *****
* *****
*
* 循环嵌套:就是循环体语句本身是一个循环语句。
*
* 结论:
* 外循环控制的是行,内循环控制的是列
*/
publicclassForForDemo {
publicstaticvoidmain(String[] args) {
//原始的做法
//虽然我们完成了题目的要求,但是不好
//假如我们有很多这样的要求,而且行和列是变化的
//所以我们要改进目前的代码的写法
//我要在一行上输出一颗*
//System.out.println("*");
//我要在一行上输出5颗*
/*
*/
//之所以出现这样的结果,是因为System.out.println()每次把内容输出后加一个换行
//有解决方案呢?有
//用System.out.print()就可以解决
/*
*/
/*
//用循环改进代码
for(int x=1; x
}
//采用下面的内容就可以实现换行
//第二行的5颗*
for(int x=1; x
}
//第三行的5颗*
for(int x=1; x
}
//第四行的5颗*
for(int x=1; x
}
*/
//重复的代码执行多次,用循环改进
for(inty=1; y
for(intx=1; x
}
}
for(inty=1; y
for(intx=1; x
}
}
}
}
1.1.2 循环嵌套练习之打印正三角形
1.1.2.1 案例代码十二
/*
* 需求:请输出如下图形
* *
* **
* ***
* ****
* *****
*/
publicclassForForTest {
publicstaticvoidmain(String[] args) {
//通过简单的观察,我们发现这是一个5行的,列数变化的形状
//首先来实现一个5行5列的形状
for(intx=1; x
for(inty=1; y
}
}
//虽然我们实现了一个5行5列的形状
//但是这不是我们想要的
//我们要的形状是列数变化的
//怎么办呢?
//第一行:1 y=1; y
//第二行:2 y=1; y
//第三行:3 y=1; y
//第四行:4 y=1; y
//第五行:5 y=1; y
//我们需要一个变量的变量是从1开始,到5结束
intz = 1;
for(intx=1; x
for(inty=1; y
}
z++;
}
//我们现在已经实现了我们的需求,但是我们继续观察会发现
//第一次:x的值是1
//第二次:x的值是2
//...
//x和z是一样的变化过程,这样的话,我们就可以省略z,直接用x替代
for(intx=1; x
for(inty=1; y
}
}
}
}
1.1.3 循环嵌套练习之打印九九乘法表
1.1.3.1 案例代码十三
packagecom.itheima;
/*
* 需求:在控制台打印九九乘法表
*
* \t:转移字符,表示一个tab键的位置
*/
publicclassForForTest2 {
publicstaticvoidmain(String[] args) {
//先打印一个9行9列的星形(列是变化的)
for(intx=1; x
for(inty=1; y
}
}
/*
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
...
*/
for(intx=1; x
for(inty=1; y
}
}
}
}
领取专属 10元无门槛券
私享最新 技术干货