文章目录
java流程控制语句-循环结构详细解析
循环结构(重中之重)
循环结构的概念
- 在Java程序中若希望重复执行一段代码时,就需要使用循环结构
for循环
-
语法结构
for(初始化表达式; 条件表达式; 修改初始值表达式) { 循环体; }
-
图示表示
-
语法含义
执行初始化表达式 => 判断条件表达式是否成立
=> 成立则执行循环体 => 修改初始值表达式 => 判断条件是否成立
=> 若不成立,则循环结束
-
代码演示
/* 编程使用 for 循环的使用,模拟玩游戏的过程 */ public class ForTest{ public static void main(String[] args) throws Exception { for(int i = 1; i <= 10; i++){ System.out.println("王者游戏,恭喜胜利 正在进行第" + i + "场游戏..."); Thread.sleep(5000); // 表示游戏进行的游戏时间 System.out.println("本次游戏结束 你的技术老好了 !!!!"); } } }
continue关键字
-
continue关键字的理解
continue语句用在循环体中,用于结束本次循环而开始下一次循环
-
代码演示
/* 使用for循环打印 1-20 之间的整数 如果遇到5的倍数则跳过不打印 */ public class ContinueTest{ public static void main(String[] args) { // 1.使用for循环打印 1-20之间的整数 for(int i = 1; i <= 20; i++){ // 如果遇到5的倍数则跳过不打印 if(0 == i % 5){ continue; } System.out.println("i = " + i); } } }
break关键字
-
break用于退出当前语句块,break用在循环体中用于退出循环。
-
注意事项
for( ; ; ) - 这种没有循环条件的循环叫做 无限循环,俗称“死循环” 。
-
代码演示
/* 编程使用for循环 和 break 关键字来模拟聊天内容 */ import java.util.Scanner; public class ForBreakTest{ public static void main(String[] args) { for(;;){ // 1.提示用户输入聊天内容 System.out.println("请输入你要发送的聊天内容:"); Scanner sc = new Scanner(System.in); String str = sc.next(); // 2.判断用户输入的是否是bye 若是结束聊天 if("bye".equals(str)){ System.out.println("聊天结束"); break; // 跳出当前循环 } // 3.若不是则打印聊天内容 System.out.println(str); } } }
双重for 循环嵌套(关于多行多列)
-
语法结构
for(初始化表达式1; 条件表达式2; 修改初始值表达式3) { for(初始化表达式4; 条件表达式5; 修改初始值表达式6) { 循环体; } }
-
表示含义
执行表达式1 => 判断表达式2是否成立
=> 若成立,则执行表达式4 => 判断表达式5是否成立
=> 若成立,则执行循环体 => 执行表达式6 => 表达式5是否成立
=> 若不成立,则内层循环结束 => 表达式3 => 表达式2是否成立
=> 若不成立,则外层循环结束
-
双重for 循环嵌套的特点
- 外层循环用于控制打印的行数,内层循环用于控制打印的列数,外层循 环改一下,内层循环从头到尾跑一圈。
- 在以后的开发中若需要打印多行多列时,需要使用双重循环。
- 多重循环不宜嵌套太多层,否则效率很低。一般到三重循环即可,最常 见的就是双重循环。、
-
for循环嵌套打印 99乘法表
/* for 循环嵌套打印 99乘法表 */ public class NineTest{ public static void main(String[] args) { // 1.判断行数 for(int i = 1; i <= 9; i++){ // 2. 判断列数 for(int j = 1; j <= i; j++){ // 3.打印 99 乘法表 System.out.print(i + "+" + j + " = " + i * j + "\t"); // 4.判断是否换行 if(i == j){ System.out.println(); } } } } }
break关键字跳出多层循环
-
在嵌套的循环结构中,break用于退出所在循环体。
-
如果要退出外层循环体,需要使用标号的方式。
for (...) { outer: for (...) { for(...) { for(...) { break; break outer; } } } }
while循环
-
语法结构
while(条件表达式) { 循环体; }
-
图示表示
-
语法意义
判断条件表达式是否成立
=> 若成立,则执行循环体
=> 判断条件表达式是否成立 => 若不成立,则循环结束
-
代码演示
/* 编程实现 while 循环的使用 */ public class WhileTest{ public static void main(String[] args){ // 使用while 循环打印 1 - 10 int i = 0; while(i <= 10){ System.out.println("i = " + i); i++; } } }
while循环和for循环比较
- while循环和for循环完全可以互换,当然推荐使用for循环
- while循环更适合于明确循环条件但不明确循环次数的场合中
- for循环更适合于明确循环次数或范围的场合中
- while(true) 等价于 for(;😉 都表示无限循环
do while循环(熟悉)
-
语法结构
do { 循环体; } while(条件表达式);
-
图示表示
-
语法含义
执行循环体 => 判断条件表达式是否成立
=> 若成立,则执行循环体
=> 判断条件表达式是否成立 => 若不成立,则循环结束
-
注意事项
do-while循环主要用于至少执行一次循环体的场合中
-
代码演示
/* 编程使用do-while 循环 */ public class DoWhileTest{ public static void main(String[] args){ // 使用do—while 循环打印 2-10的数值 int i = 1; do{ System.out.println(i); i++; }while(i <= 10); } }