for循环:
1、有大括号与无大括号的区别:
循环体只能有一条语句, 如果需要执行的语句超过一条,就要加大括号将它们变为一条复合语句。
//for循环如此,while循环也是如此.
for(int i=1; i<5; i++)
printf(" A ");
printf("B ");
for(int i=1; i<5; i++)
printf(" A "); printf(" B ");
//A输入5次,B输出1次
while(1)
printf("C");
printf("D");
//不停的输出C ,但不会输出D
2、打印星星:
public class 打印星星 {
@SuppressWarnings("unused")//避免警告提示
public static void main(String[] args) {
/*
* 题目1:
* 打印一个五行五列的星星
* *****
* *****
* *****
* *****
* *****
* 1.使用第一个for循环打印一排数量为5的星星
* *******
* 2.使用第二个for循环嵌套在第一个for循环的外面,使第一个for
* 循环循环五次(打印五次),并使用空字符换行。
* 3.println与print的区别:
* println:将打印的结果直接输出在下一行
* print:将打印的结果直接输出在本行
*/
for(int b = 0; b < 5 ; b ++) {
for(int a = 0; a < 5 ; a ++) {
System.out.print("*");
}
System.out.println("");
}
System.out.println("-----直角三角形的星星-----");
/*
* 题目二:
* 打印一个直角三角形的星星
* *
* **
* ***
* ****
* *****
* 1.规律:
* 变量: 变量:
* B循环第1次(j = 1) A打印出 1(a = j)
* B循环第2次(j = 2) A打印出 2(a = j)
* B循环第3次(j = 3) A打印出 3(a = j)
* B循环第4次(j = 4) A打印出 4(a = j)
* B循环第5次(j = 5) A打印出 5(a = j)
*/
for(int j = 0; j < 5 ; j ++) {
for(int a = 0; a <= j ; a ++) {
System.out.print("*");
}
System.out.println("");
}
System.out.println("------等腰三角形的星星-----");
/*
* 题目三:
* 打印一个等腰三角形的星星
* *
* ***
* *****
* *******
* *********
* 图形解读:
* 5行,空格,星星
* 行与空格的关系:
* 【 空格打印的次数,就是总行数-每次执行的数】
* 执行第1行时,空格执行4
* 执行第2行时,空格执行3
* 执行第3行时,空格执行2
* 执行第4行时,空格执行1
* 执行第5行时,空格执行0
* 空格与星星的关系:
* 总行数4行
* * 第一行:空格数 4 - 1 = 3个 星号数 1 * 2 - 1 = 1个
* *** 第二行:空格数 4 - 2 = 2个 星号数 2 * 2 - 1 = 3个
* ***** 第三行:空格数 4 - 3 = 1个 星号数 3 * 2 - 1 = 5个
* ******* 第四行:空格数 4 - 4 = 0个 星号数 4 * 2 - 1 = 7个
* 解读下列代码:
* A: 当i = 1 时 ,循环第一次时 B: j = 4 循环四次,打印4个空格 C:k = 1 循环一次,打印1个星星
* A: 当i = 2 时 ,循环第二次时 B: j = 3 循环三次,打印3个空格 C:k = 3 循环三次,打印3个星星
* A: 当i = 3 时 ,循环第二次时 B: j = 2 循环三次,打印2个空格 C:k = 5 循环五次,打印5个星星
* A: 当i = 4 时 ,循环第二次时 B: j = 2 循环三次,打印1个空格 C:k = 7 循环七次,打印7个星星
* A: 当i = 5 时 ,循环第二次时 B: j = 0 循环三次,打印0个空格 C:k = 9 循环九次,打印9个星星
*/
int max = 5; // 总行数
A:for (int i = 1; i <= 5; i++) { // 控制行
B:for (int j = 1; j <= max - i; j++) { // 控制空格
System.out.print(" ");
}
C:for (int k = 1; k <= i * 2 - 1; k++) { // 控制"*"号
System.out.print("*");
}
System.out.print("n"); // 换行
}
/*
* 题目四:
* 打印一个菱形星星
* *
* ***
* *****
* *******
* *********
* *******
* *****
* ***
* *
* 上半部分
* 图形解读:
* 5行,空格,星星
* 行与空格的关系:
* 【 空格打印的次数,就是总行数-每次执行的数】
* 执行第1行时,空格执行4
* 执行第2行时,空格执行3
* 执行第3行时,空格执行2
* 执行第4行时,空格执行1
* 执行第5行时,空格执行0
* 空格与星星的关系:
* 总行数4行
* * 第一行:空格数 4 - 1 = 3个 星号数 1 * 2 - 1 = 1个
* *** 第二行:空格数 4 - 2 = 2个 星号数 2 * 2 - 1 = 3个
* ***** 第三行:空格数 4 - 3 = 1个 星号数 3 * 2 - 1 = 5个
* ******* 第四行:空格数 4 - 4 = 0个 星号数 4 * 2 - 1 = 7个
* 解读下列代码:
* A: 当i = 1 时 ,循环第一次时 B: j = 4 循环五次,打印4个空格 C:k = 1 循环一次,打印1个星星
* A: 当i = 2 时 ,循环第二次时 B: j = 3 循环四次,打印3个空格 C:k = 3 循环三次,打印3个星星
* A: 当i = 3 时 ,循环第三次时 B: j = 2 循环三次,打印2个空格 C:k = 5 循环五次,打印5个星星
* A: 当i = 4 时 ,循环第四次时 B: j = 1 循环二次,打印1个空格 C:k = 7 循环七次,打印7个星星
* A: 当i = 5 时 ,循环第五次时 B: j = 0 循环一次,打印0个空格 C:k = 9 循环九次,打印9个星星
*/
//上半部分
System.out.println("-----菱形星星-----");
A:for (int i = 1; i <= 5; i++) { // 控制行
B:for (int j = 1; j <= max - i; j++) { // 控制空格
System.out.print(" ");
}
C:for (int k = 1; k <= i * 2 - 1; k++) { // 控制"*"号
System.out.print("*");
}
System.out.print("n"); // 换行
}
//下半部分
/*
*
*第一次A循环 i = 0
* B:j = 4时 ; j >=3 ;j-- 打印一个空格
* C:k = 7时 ; K >= 1 ; k++ 循环7次 打印七个星星
*第二次A循环 i = 1
* B:j = 4时 ; j >=2 ;j-- 打印二个空格
* C:k = 7时 ; K >= 3 ; k++ 循环5次 打印五个星星
*第三次A循环 i = 2
* B:j = 4时 ; j >=1 ;j-- 打印三个空格
* C:k = 7时 ; K >= 5 ; k++ 循环3次 打印三个星星
*第四次A循环 i = 3
* B:j = 4时 ; j >=0 ;j-- 打印四个空格
* C:k = 7时 ; K >= 7 ; k++ 循环1次 打印一个星星
*/
int max2 = 4;//最大行数
A:for (int i = 0; i < 4; i++) { // 控制行
B:for (int j = 4; j >= max2-i ;j--) // 控制空格
System.out.print(" ");
C:for (int k = 7; k > i * 2 ; k--) { // 控制"*"号
System.out.print("*");
}
System.out.print("n"); // 换行
}
}
}
python学习网,免费的在线学习python平台,欢迎关注!