1.if选择结构
if选择结构是根据条件判断之后再做处理的一种语法结构
语法:
if(条件){ 代码块 //条件成立之后要执行的代码,可以是一条语句,也可以是一组语句 }
if后小括号里的条件是一个表达式,而且表达式的值必须为ture 或 false。
1.1使用基本的if选择结构
import java.util.Scanner; public void GetPrize{ Scanner input = new Scanner(System.in); System.out.print("请输入成绩"); int score = input.nextInt(); if(socre > 98){ System.out.println("考的不错,奖励"); } }
运行结果:请输入成绩:100
考的不错,奖励
1.2使用复杂条件下的if选择结构
常用的逻辑运算符
程序:如果Java成绩大于98分,而音乐成绩大于80分,则奖励;如果Java成绩等于100分,音乐成绩大于70分,也奖励
1 public class GetPrize2(){ 2 public static void main(String[] args){ 3 int javaScore = 100; 4 int muicScore = 72; 5 if((javaScore > 98 && muicScore > 80) || (javaScore == 100 && muicScore > 70)){ 6 System.out.println("考的不错,奖励"); 7 } 8 }
}
运行结果:考的不错,奖励
1.3使用if-else选择结构
if(条件){ //代码块1 }else{ //代码块2 }
if-else结构流程图
程序:如果Java成绩大于98,奖励;否则继续编写代码
1 public class SimpieIf{ 2 public static void main(String[] args){ 3 int score = 91; 4 if(score > 91){ 5 System.out.println("考的不错,奖励"); 6 }else{ 7 System.out.println("继续编写代码吧"); 8 } 9 } 10 }
运行结果:继续编写代码吧。
1.4多重if选择结构
语法:
if(条件1){ //代码块1 }else if(条件2){ //代码块2 }else{ //代码块3 }
多重if选择结构流程图
1)else if 可以有多个或者没有,有几个else if块完全取决于需要
2)else 块最多有一个或没有,else块必须放在else if块之后
程序:对学生的成绩进行评测,成绩>=80为良好,成绩>=60为中等,成绩<60为差
1 public class ScoreAssess{ 2 public static void main(String[] args){ 3 int score = 70; 4 if(score >= 80){ 5 System.out.println("良好"); 6 }else if(score >= 60){ 7 System.out.println("中等"); 8 }else{ 9 System.out.println("差"); 10 } 11 } 12 }
程序运行结果:中等
1.5嵌套if选择结构
语法:
if(条件1){ if(条件2){ //代码块1 }else{ //代码块2 } }else{ //代码块3 }
嵌套if结构流程图
程序:学校举行运动会,百米赛跑成绩在10s内的有资格进入决赛,根据性别分为男子组和女子组
1 import java.util.*; 2 public class Runing{ 3 public static void main(String[] args){ 4 Scanner input = new Scanner(System.in); 5 System.out.print("请输入比赛成绩(s):"); 6 double score = input.nextDouble(); 7 System.out.print("请输入性别:"); 8 String gender = input.next(); 9 if(score < 10){ 10 if(gender.equals("男")){ 11 System.out.print("进入男子组决赛"); 12 }else if(gender.equals("女")){ 13 System.out.print("进入女子组决赛"); 14 } 15 }else{ 16 System.out.print("淘汰"); 17 } 18 } 19 }
运行结果:请输入比赛成绩(s):8
请输入性别: 男
进入男子组决赛
注意:1)只有当满足外层if选择结构的条件时,才会判断内层if的条件
2)else 总是与他前面最近的缺少 else 的那个 if 相配对
2.switch选择结构
语法:
switch(表达式){ case 常量1: //代码块1; break; case 常量2: //代码块2; break; ... ... default: //代码块n; break; }
1)JDK 1.7后,switch 语句小括号里可以是 int、short、byte、char、枚举、String类型表达式
2)case 后必须是一个常量,数据类型与switch后表达式的值相同,通常是一个固定值,case块可以有多个,顺序可以改变,但每个case后的值必须各不相同
3)default:其他情况都不满足时执行default。default后要紧跟冒号,default跟case的顺序可以变动,但通常default块放在结尾,也可以省略。
程序:参加计算机编程大赛:
如果获得第一名,奖励参加下列营;
如果获得第二名,奖励惠普笔记本电脑一台;
如果获得第三名,奖励移动硬盘一个;
否则没有奖励。
1 public calss Compete{ 2 public static void main(String[] args){ 3 int rank = 1; 4 switch(rank){ 5 case 1: 6 System.out.println("参加夏令营"); 7 break; 8 case 2: 9 System.out.println("惠普笔记本"); 10 break; 11 case 3: 12 System.out.println("移动硬盘"); 13 break; 14 default: 15 System.out.println("没有奖励"); 16 break; 17 } 18 } 19 }
运行结果:参加夏令营
3.选择结构总结
1)基本if选择结构:可以处理单一或组合条件的情况。
2)if-else选择结构:可以处理简单的条件分支情况。
3)多重if选择结构:可以处理复杂的条件分支情况。多重if选择结构在解决需要判断的条件是连续的区间时有很大的优势。
4)嵌套if选择结构:这种结构一般用于复杂的流程控制中。
5)switch选择结构:当需要多重分支,并且条件判断是等值判断的情况下,使用switch选择结构代替多重if选择结构会更简单,代码结构更清晰易读