Java Process Control
顺序结构
-
JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
-
顺序结构是最简单的算法结构。
-
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
if单选择结构
package struct; import java.util.Scanner; public class ifDemo01 { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); System.out.println("请输入内容:"); String s = scanner.nextLine(); //equals:判断字符串是否相等 if(s.equals("Hello")){ System.out.println(s); } System.out.println("End"); scanner.close(); } }
第一种:
第二种:
if双选择结构
-
我们需要有两个判断,需要一个双选择结构,所以就有了if- else结构。
-
语法:
if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的值为false }
如下面判断成绩是否及格:
package struct; import java.util.Scanner; public class ifDemo02 { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩:"); int score = scanner.nextInt(); if(score>60){ System.out.println("及格"); }else{ System.out.println("不及格"); } scanner.close(); } } //50 //不及格
if多选择结构
我们发现刚才的代码不符合实际情况,真实的情况还可能存在ABCD,存在区间多级判断。比如90-100就是A,80-90就是B.等等,在生活中我们很多时候的选择也不仅仅只有两个,所以我们需要一个多选择结构来处理这类问题!
语法:
if(布尔表达式 1){ //如果布尔表达式1的值为true执行代码 }else if(布尔表达式2){ //如果布尔表达式2的值为true执行代码 }else if(布尔表达式3){ //如果布尔表达式3的值为true执行代码 }else { //如果以上布尔表达式都不为true执行代码 }
判断成绩等级:
package struct; import java.util.Scanner; public class ifDemo03 { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩:"); int score = scanner.nextInt(); if(score==100){ System.out.println("恭喜满分"); }else if(score<100&&score>=90){ System.out.println("A级"); }else if(score<90&&score>=80){ System.out.println("B级"); }else if(score<80&&score>=70){ System.out.println("C级"); }else if(score<70&&score>=60){ System.out.println("D级"); }else if(score<60&&score>=0){ System.out.println("不及格"); }else{ System.out.println("输入成绩不合法"); } scanner.close(); } }
嵌套的if结构
使用嵌套的if...else语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用if或者 else if 语句。你可以像 if 语句一样嵌套
else if...else。
语法:
if(布尔表达式1){ //如果布尔表达式1的值为true执行代码 if(布尔表达式2){ //如果布尔表达式 2的值为true执行代码 } }
思考?
我们需要寻找一个数,在1-100之间:
最简单的办法就是一个一个对比,但如果输入的数字是100,那就要比较100次这样子是十分消耗时间的。但如果我们可以用 if 语句一次筛选掉50个,25个,这样子就会节省很多时间。
switch多选择结构
-
多选择结构还有一个实现方式就是switchcase语句。
-
witchcase语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
-
switch语句中的变量类型可以是:
-
byte、shortint 或者char
-
从Java SE7 开始
-
switch 支持字符串 String 类型了
-
同时case标签必须为字符串常量或字面量。
switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句 default ://可选 //语句 }
//case具有穿透性,所以写完一个就要加break
-
package struct; public class SwichDemo01 { public static void main(String[] args){ char grade = 'C'; switch (grade){ case'A': System.out.println("优秀"); break; case'B': System.out.println("良好"); break; case'C': System.out.println("及格"); break; case'D': System.out.println("再接再厉"); break; case'E': System.out.println("挂科"); break; } } }
//及格
//反编译,表达式结果可以是字符串!!! 字符的本质还是数字,学会看源码
package struct; public class SwichDemo02 { public static void main(String[] args){ String name="你好"; //JDK7的新特性,表达式结果可以是字符串!!! switch(name){ case "你好": System.out.println("你好”);" + break; case "开心": System.out.println("开心"); break; default: System.out.println("弄啥嘞!"); } } }
//反编译一定是输出了一个Java-class文件(字节码文件)
package struct; public class SwichDemo02 { public SwichDemo02() { } public static void main(String[] args) { String name = "你好"; byte var3 = -1; switch(name.hashCode()) { case 652829: if (name.equals("你好")) { var3 = 0; } break; case 778435: if (name.equals("开心")) { var3 = 1; } } switch(var3) { case 0: System.out.println("你好"); break; case 1: System.out.println("开心"); break; default: System.out.println("弄啥嘞!"); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!