一、for循环
语法规则: for(表达式1;表达式2;表达式3){ ...代码块/循环体... } 理解: 表达式1 - 初始化变量 表达式2 - 判断条件 表达式3 - 更新变量
执行步骤: 1.初始化变量 2.判断条件 - 结果必须是boolean类型 2.1 true - 执行代码块,更新变量,重复第2个步骤 2.2 false - 直接跳出循环体
public static void main(String[] args){ for(int i = 0;i<5;i++){ System.out.println("测试"); } //打印1~10的数字 for(int i = 1;i<=10;i++){ System.out.println(i); } //打印1~10的奇数数字 for(int i = 1;i<=10;i+=2){ System.out.println(i); } //for循环变形记: int i = 0; for(;i<5;){ System.out.println("用良心做教育 -- " + i); i++; } System.out.println(i); //案例:循环录入某同学的5门课成绩,计算平均分 Scanner scan = new Scanner(System.in); double sum = 0; for(int i = 1;i<=5;i++){ System.out.println("请输入第" + i + "门成绩:"); double num = scan.nextDouble(); sum += num; } double avg = sum/5; System.out.println("平均分为:" + avg); }小结: 1.初始化变量不一定从0开始 2.更新变量不一定++ 3.在for循环中声明的变量只能在当前for循环里使用 4.for循环里的更新变量中编写i++和++i没有区别
知识点:for循环嵌套
//示例1:打印以下图形 // **** // **** // **** for(int i = 0;i<3;i++){ for(int j = 0;j<4;j++){ System.out.print("*"); } System.out.println(); } //示例2:打印以下图形 // * // ** // *** // **** // ***** for (int i = 1; i <= 5; i++) { for (int j = 0; j < i; j++) { System.out.print("*"); } System.out.println(); } //示例3:打印以下图形 // * // *** // ***** // ******* for (int i = 0; i < 4; i++) { for (int j = 0; j < 3-i; j++) { System.out.print(" "); } for (int k = 0; k <2*i+1 ; k++) { System.out.print("*"); } System.out.println(); } //示例4:打印以下图形 // * // * * // * * // ******* for (int i = 0; i < 4; i++) { for (int j = 0; j < 3-i; j++) { System.out.print(" "); } for (int k = 0; k <2*i+1; k++) { if(i==0||i==3||k==0||k==i*2){ System.out.print("*"); } else { System.out.print(" "); } } System.out.println(); }
二、while循环
语法规则: while(表达式){ ...代码块/循环体... }
理解:表达式 - 判断条件 必须是boolean类型 执行步骤:表达式为true时,循环一直执行,直到表达式为false时结束循环
int i = 0; while(i<5){ i++; System.out.println(i); }
三、do-while循环
语法规则:
do {
// 循环体语句
} while (表达式);
理解:表达式 - 判断条件 必须是boolean类型
不论条件是否为真,do-while循环至少执行一次
执行步骤:
1.先执行循环体语句
2.判断表达式是否为true;为true继续执行循环体语句 false结束此循环
Scanner sc = new Scanner(System.in); //案例:学校组织的歌咏比赛,大赛在即,老师建议: // 先彩排一次,如果很令人满意,以后就不用彩排了,否则每天都排,直到现场表现满意为止! String str = ""; do{ System.out.println("排练"); System.out.println("请输入是否满意"); str = sc.next(); }while (str.equals("不满意"));
四、for 、 while 、 do-while的应用场景
for循环:适合用于已知循环次数的情况,可以通过初始化、条件判断和迭代更新来控制循环 ,通常用于遍历数组或集合元素等情 况。
while循环:适合用于未知循环次数、但有判断条件的情况,只要条件为真就会一直执行循环体。
do-while循环:适合用于至少执行一次循环体的情况,然后根据条件判断是否继续执行循环。