java流程语句进阶

张开发
2026/4/2 23:37:24 15 分钟阅读
java流程语句进阶
再之前一篇文章的基础上我们详细的讲述分支和循环再之前一篇文章的基础上再详细的讲述分支和循环一、分支语句它像生活中的十字路口程序要根据条件判断走那条路1.1 if单分支适用场景只有满足一个条件时才做某事语法if (条件) {// 条件为 true 时执行的代码}例子考试成绩大于60就打印及格package jijiangjava.lcyj; public class ifyj { public static void main(String[] args) { //一if单分支 为true时执行 // 例子考试成绩大于60就打印及格 int score 75; //(不满足条件不输出) if(score 60){ System.out.println(及格); } } }1.2if-else双分支二选一适用场景二选一满足条件做 A不满足做 B语法if (条件) {// 条件为 true 时执行} else {// 条件为 false 时执行}例子分数大于 60打印“及格”否则打印“不及格”package jijiangjava.lcyj; public class ifyj { public static void main(String[] args) { //二if-else 双分支 //二选一满足条件输出A不满足输出B //例子分数大于 60打印“及格”否则打印“不及格” int score 75; if (score 60) { System.out.println(及格); } else { System.out.println(不及格); } } }1.3if-else if-else多分支(很多条岔路选一条)适用场景多选一比如根据分数划分等级A、B、C..语法if (条件1) {// 满足条件1} else if (条件2) {// 满足条件2} else {// 都不满足}例子成绩分级(输出c)package jijiangjava.lcyj; public class ifyj { public static void main(String[] args) { //三:if-else ,if-else多分支 //多选一根据成绩划分等级(A,B,C,D...) //if-else if 一旦满足一个条件后面的就不会再判断了 int score 75; if (score 90) { System.out.println(A); } else if (score 80) { System.out.println(B); } else if (score 60) { System.out.println(C); } else { System.out.println(D); } } }1.4:switch-case(固定值多分支)适用场景当判断的条件是具体的值如星期几时比if更清晰语法switch (变量) {case 值1:// 执行代码break; // 必须加 break否则会“穿透”到下一个 casecase 值2:// 执行代码break;default: // 默认情况}例子输入 1 输出“周一”package jijiangjava.lcyj; public class ifyj { public static void main(String[] args) { //四swich-case(固定多分支) //当判断的条件是具体的值如星期几、菜单选项时比 if 更清晰 //break 是防止“穿透”fall-through的关键。 int day 1; switch (day) { case 1: System.out.println(周一); break; case 2: System.out.println(周二); break; default: System.out.println(输入错误); } } }不加break程序继续往下执行不管条件二循环语句循环就是让一段代码重复执行2.1 for 循环已知次数适用场景明确知道要循环多少次特点结构紧凑变量作用域在循环内。语法for(初始化;条件判断;步进){//循环体重复执行的代码}步进即更新表达式步进 每一轮结束后变量怎么变执行顺序① 初始化 → ② 判断 → ③ 循环体 → ④ 步进 → ② 再判断 → ……简化口诀初 → 判 → 干 → 进 → 判 → 干 → 进 → ……例子打印1到5package jijiangjava.lcyj; public class xhyj { public static void main(String[] args) { //2.1 for循环 //例子打印1到5 for (int i 1; i 5; i) { // i1初始化 // i5循环条件 // i每次循环后 i 加 1 不能漏写 System.out.println(第 i 次); } //i 是关键它确保了计数器不断变化最终让循环结束 // 输出 // 第 1 次 // 第 2 次 // 第 3 次 // 第 4 次 // 第 5 次 } }输出第 1 次 第 2 次 第 3 次 第 4 次 第 5 次部分含义int i 1初始化定义一个整型变量i并赋初值为 1。这个变量就是“计数器”。i 5循环条件只要i小于等于 5就继续执行循环体。i更新计数器语句每次循环结束后i自增 1即i i 1。注意事项循环条件最终必须变为 false否则会成为死循环。❌ 例子如果写成 for (int i 1; i 5; )没有 i那么 i 始终是 1永远满足条件 → 死循环更新计数器语句不能漏写否则条件永远成立。2.2while循环未知次数适用场景只要条件满足就一直循环不知道具体次数。特点先判断条件再执行循环体。适合在“不知道具体执行几次”的情况下使用比如本例中只知道“有钱就买”不关心具体买几瓶。语法while (循环条件) {// 循环体}先判断条件条件成立才执行循环体可能一次都不执行如果一开始条件就不满足循环体一次都不执行。例子有余额100元每瓶水3元能买多少瓶package jijiangjava.lcyj; public class xhyj { public static void main(String[] args) { //2.1 for循环 //例子打印1到5 for (int i 1; i 5; i) { // i1初始化 // i5循环条件 // i每次循环后 i 加 1 System.out.println(第 i 次); } // 输出 // 第 1 次 // 第 2 次 // 第 3 次 // 第 4 次 // 第 5 次 } }输出买了第 1 瓶剩余 97 元 买了第 2 瓶剩余 94 元 买了第 3 瓶剩余 91 元 买了第 4 瓶剩余 88 元 买了第 5 瓶剩余 85 元 买了第 6 瓶剩余 82 元 买了第 7 瓶剩余 79 元 买了第 8 瓶剩余 76 元 买了第 9 瓶剩余 73 元 买了第 10 瓶剩余 70 元 买了第 11 瓶剩余 67 元 买了第 12 瓶剩余 64 元 买了第 13 瓶剩余 61 元 买了第 14 瓶剩余 58 元 买了第 15 瓶剩余 55 元 买了第 16 瓶剩余 52 元 买了第 17 瓶剩余 49 元 买了第 18 瓶剩余 46 元 买了第 19 瓶剩余 43 元 买了第 20 瓶剩余 40 元 买了第 21 瓶剩余 37 元 买了第 22 瓶剩余 34 元 买了第 23 瓶剩余 31 元 买了第 24 瓶剩余 28 元 买了第 25 瓶剩余 25 元 买了第 26 瓶剩余 22 元 买了第 27 瓶剩余 19 元 买了第 28 瓶剩余 16 元 买了第 29 瓶剩余 13 元 买了第 30 瓶剩余 10 元 买了第 31 瓶剩余 7 元 买了第 32 瓶剩余 4 元 买了第 33 瓶剩余 1 元 总共买了 33 瓶水2.3do-while 循环至少执行一次适用场景不管条件满不满足先执行一次再判断。特点先执行一次循环体再判断条件条件成立则继续否则退出。循环体至少执行一次。语法do {// 循环体} while (条件);例子输入密码直到正确为止至少会要求输入一次package jijiangjava.lcyj; import java.util.Scanner; // 导入 Scanner 类 public class xhyj { public static void main(String[] args) { //2.3do-while循环 int password; int correct 1234; Scanner sc new Scanner(System.in); do { System.out.print(请输入密码); password sc.nextInt(); // 接收用户输入 if (password ! correct) { System.out.println(密码错误请重试); } } while (password ! correct); // 条件成立则继续循环 System.out.println(登录成功); sc.close(); //好习惯 } }输出请输入密码122 密码错误请重试 请输入密码122 密码错误请重试 请输入密码4454 密码错误请重试 请输入密码1234 登录成功注意do-while无论条件真假循环体至少执行一次适合需要“先做一次再判断”的场景。

更多文章