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"); // 换行 } } }
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试