if分支结构
基础语法
单分支结构
if(判断条件){满足条件,执行该代码,不满足则跳过该代码}
多分支结构
if(判断条件){满足条件,执行代码块1}else{不满足条件,执行代码块2}
嵌套分支结构
if(判断条件1){满足判断条件1,执行代码块1}else if(判断条件2){满足判断条件2,执行代码块2}else if(判断条件3){满足判断条件3,执行代码块3}·········else{以上都不满足,执行该代码}
案例
打折案例
package cn.tedu.basic;import java.util.Scanner;/** 练习分支结构打折案例*///接收用户输入的原价。满1000打9折;满2000打8折;满5000打5折public class TestDiscount {public static void main(String[] args) {System.out.print("请输入商品原价:");double price = new Scanner(System.in).nextDouble();double count = price;if(price >= 10000) {count = price * 0.1;}else if(price>=5000) {count = price * 0.5;}else if(price >=2000) {count = price * 0.9;}else if(price >= 1000) {count = price * 0.95;}System.out.println("打折后价格为:" + count);}}
成绩分段案例
package cn.tedu.basic;import java.util.Scanner;/** 判断分数档位*/public class TestScore {public static void main(String[] args) {System.out.print("请输入学生分数:");float score = new Scanner(System.in).nextFloat();if(score < 0 && score > 100) {System.out.println("输入成绩不合法!");}else {if(score >= 90) {System.out.println("该学生成绩为优秀。");}else if(score >= 80 && score <90) {System.out.println("该学生成绩为良好。");}else if(score >= 70 && score < 80) {System.out.println("该学生成绩为中等。");}else if(score >= 60 && score <70) {System.out.println("该学生成绩为及格。");}else {System.out.println("该学生成绩为不及格。");}}}}
switch选择结构
基础语法
switch(expression){case value ://语句break; //可选case value ://语句break; //可选//你可以有任意数量的case语句default : //可选//语句;保底操作}
- switch 语句中的变量类型可以是: byte、short、int 、 char、 String 类型,case 标签必须为字符串常量或字面量。
- switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
- case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
- 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
- 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
- switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。
switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。
案例
数字匹配案例
package cn.tedu.basic;/*本类用于练习switch结构*/public class TestSwitch {//1.创建程序的入口函数mainpublic static void main(String[] args) {//2.定义一个变量int a = 19;//3.完成switch结构的测试switch(a) {case 1 : System.out.println(1);break;case 2 : System.out.println(2);break;case 3 : System.out.println(3);break;case 4 : System.out.println(4);break;case 5 : System.out.println(5);break;default : System.out.println(0);}}}
总结:
- 1.变量a的类型byte short char int String。
- 2.会拿着变量a的值依次与case后的值做比较,如果不加break,会向后穿透所有case,包括default。
- 3.如果设置了default“保底选项”,并且没有任何case匹配到的话,就执行default。
- 4.break与default是可选项,根据具体业务来决定加不加。
字符串类型的switch结构
```java package cn.tedu.basic;
public class TestSwitch2 { public static void main(String[] args) { String s = “5”; switch(s) { case “1” : System.out.println(“吃火锅”); break; case “2” : System.out.println(“吃麻辣香锅”); break; case “3” : System.out.println(“吃冒菜”); break; case “4” : System.out.println(“吃麻辣烫”); break; case “5” : System.out.println(“吃烧烤”); break; case “6” : System.out.println(“吃小龙虾”); break; case “7” : System.out.println(“吃方便面”); break; default : System.out.println(“吃馒头咸菜”); } }
}
```
