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分,也奖励
public class GetPrize2(){
public static void main(String[] args){
int javaScore = 100;
int muicScore = 72;
if((javaScore > 98 && muicScore > 80) || (javaScore == 100 && muicScore > 70)){
System.out.println("考的不错,奖励");
}
}
}
运行结果:考的不错,奖励
1.3使用if-else选择结构
if(条件){
//代码块1
}else{
//代码块2
}
if-else结构流程图
程序:如果Java成绩大于98,奖励;否则继续编写代码
public class SimpieIf{
2 public static void main(String[] args){
3 int score = 91;
4 if(score > 91){
System.out.println("考的不错,奖励");
}else{
System.out.println("继续编写代码吧");
}
}
}
运行结果:继续编写代码吧。
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为差
public class ScoreAssess{
public static void main(String[] args){
int score = 70;
if(score >= 80){
5 System.out.println("良好");
}else if(score >= 60){
System.out.println("中等");
}else{
System.out.println("差");
}
}
}
程序运行结果:中等
1.5嵌套if选择结构
语法:
if(条件1){
if(条件2){
//代码块1
}else{
//代码块2
}
}else{
//代码块3
}
嵌套if结构流程图
程序:学校举行运动会,百米赛跑成绩在10s内的有资格进入决赛,根据性别分为男子组和女子组
import java.util.*;
public class Runing{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入比赛成绩(s):");
double score = input.nextDouble();
System.out.print("请输入性别:");
String gender = input.next();
if(score < 10){
10 if(gender.equals("男")){
System.out.print("进入男子组决赛");
}else if(gender.equals("女")){
System.out.print("进入女子组决赛");
}
}else{
System.out.print("淘汰");
}
}
}
运行结果:请输入比赛成绩(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块放在结尾,也可以省略。
程序:参加计算机编程大赛:
如果获得第一名,奖励参加下列营;
如果获得第二名,奖励惠普笔记本电脑一台;
如果获得第三名,奖励移动硬盘一个;
否则没有奖励。
public calss Compete{
public static void main(String[] args){
int rank = 1;
switch(rank){
case 1:
System.out.println("参加夏令营");
break;
case 2:
System.out.println("惠普笔记本");
break;
case 3:
System.out.println("移动硬盘");
break;
default:
System.out.println("没有奖励");
break;
}
}
}
运行结果:参加夏令营
3.选择结构总结
1)基本if选择结构:可以处理单一或组合条件的情况。
2)if-else选择结构:可以处理简单的条件分支情况。
3)多重if选择结构:可以处理复杂的条件分支情况。多重if选择结构在解决需要判断的条件是连续的区间时有很大的优势。
4)嵌套if选择结构:这种结构一般用于复杂的流程控制中。
5)switch选择结构:当需要多重分支,并且条件判断是等值判断的情况下,使用switch选择结构代替多重if选择结构会更简单,代码结构更清晰易读