第3章 选择结构
if条件选择结构
- 基本if条件结构。
if选择结构是根据条件判断值都在做处理的一种语法结构,下面是最基本的if选择结构的语法。
if(条件){
代码块:
}
其中,if后小括号里的条件必须是一个布尔表达式,即表达式的值必须为布尔值或false。程序执行时先判断条件,当结果为true时,程序先执行大括号里的代码块,再执行if结构快后面的代码;当结果为false时,不执行大括号里的代码块,而直接执行if结构块后面的代码。代码块可以是一条语句,也可以是一组语句。
例如:
public class Demo{
public static void main(String[] args){
Scanner input =new Scanner(System.in);
System.out.print("输入xx的Java成绩:");
int score=input.nextInt();
if(score>98){
System.out.println("老实说:不错,奖励一个MP4!");
}
}
}
- 多重if条件结构。
Java中还有一种if选择结构的形式:多重if选择结构。多重if选择结构在解决需要判断的条件是连续的区间时有很大的优势。多重if选择结构不是多个基本if选择结构简单地排列在一起。if选择结构语法如下:
if(条件1){
代码块1;
}else if(条件2){
代码块2;
}else{
代码块3;
}
多重if选择结构的执行过程是:①判断条件1,如果成立则执行代码块1,然后直接跳出多重if选择结构,执行它后面的代码块。这种情况下,代码块2和代码块3都不执行。②如果条件1不成立,则判断条件2.如果条件2成立,执行代码块2,然后跳出这个多重if选择结构,执行它后面的代码。这种情况下,代码1和代码3不执行。③如果条件2也不成立,代码块1和代码块2都不执行,直接执行代码块3。其中,else if块可以有多个或没有。注意:else块最多有一个或没有,else块必须要放在else if块之后。
例如:
public class ScoreAssess {
public static void main(string[] args) {
int score=70;
if (score >=90){
System.out.println("优秀");
}else if(score>=80){
System.out.println("良好");
}else if(score>=60){
System.out.println("中等");
}else{
System.out.println("差");
}
}
}
- 嵌套if条件结构。
嵌套if选择结构就是你在if里再嵌入if选择结构,语法如下:
if(条件1){
if (条件2){
代码块1;
}else{
代码块2;
}
}else {
代码块3;
}
例如:
public class RunningMatch {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请输入比赛成绩:");
double score=input.nextDouble();
System.out.print("请输入性别:");
String gender=input.next();
if(score<=10){
if(gender.equals("男")){
System.out.println("进入男子组决赛!");
}else if{(gender.equals("女")){
System.out.println("进入女子组决赛!");
}
}else{
System.out.println("淘汰!");
}
}
}
switch条件选择结构。
switch语句由一个控制表达式和多个case标签组成,与if语句不同的是,switch语句后面的控制表达式的数据类型只能是byte、short、char、int这4个整数类型和枚举类型,不能是boolean类型。
switch语句往往需要在case标签后紧跟一个代码块,case标签作为这个代码块的标识。