天天看点

流程控制之分支语句

:::info

💡 根据 ​​​遗忘曲线​​​:如果没有记录和回顾,6天后便会忘记75%的内容

读书笔记正是帮助你记录和回顾的工具,不必拘泥于形式,其核心是:记录、翻看、思考

:::

流程控制语句概览

在默认程序中是顺序结构,从上往下依次执行;用思维导图,结构化核心概念。
流程控制之分支语句

分支语句

if语句(判断条件最终必须为:布尔类型值)

1 简单if语句格式:

语句格式:

if (判断条件){

语句体; //判断条件成立执行语句体;

}

int nub1 = 1;
int nub2 = 2;
if(nub1>nub2){
       System.out.println("执行了语句体");  //判断条件为false,此语句不执行;
}      

2 if…else语句格式

语句格式:

if (判断条件){

语句体1; //判断条件成立执行语句体1;

}else{

语句体2; //判断条件不成立执行语句体2;

}

int nub1 = 1;
int nub2 = 2;
if(nub1>nub2){
       System.out.println("执行了语句体1");  //判断条件为false,此语句不执行体;
}else{
       System.out.println("执行了语句体2");  //判断条件为false,执行此语句体;
}      

3 if…else if…else…语句格式

语句格式:

if (判断条件1){

语句体1; //判断条件成立执行语句体1;

}else if(判断条件2){

语句体2; //判断条件1不成立,判断条件2成立,执行语句体2;

}else{

语句体3; //判断条件1和2都不成立执行语句体3;

}

/*
考试奖励:
    分数>=90:奖励自行车一辆
    90>分数>=80:奖励游乐园一日游
    80>分数:一顿狂揍
*/
public class IfTest {
    public static void main(String[] args) {
        int chengji;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入成绩:");
           chengji = sc.nextInt();
           if (chengji <=100 && chengji>=0){
               if (chengji>=90){
                   System.out.println("恭喜!奖励自行车一辆!");
               }else if (chengji>=80 && chengji<90){
                   System.out.println("恭喜!奖励游乐园一日游!");
               }else{
                   System.out.println("来吧一顿接受狂揍!");
               }
           }else{
               System.out.println("成绩输入有误!");
           }
    }
}      

switch语句

switch语句格式:

switch(){

case 1:

语句体1;

break;

case 2:

语句体2;

break;

case 3:

语句体3;

break;

.

.

.

default:

默认值语句体;

break;

}

1 注意事项:jdk特性与week的取值范围
  • 基本类型:byte、short、int、long
  • 引用类型:jdk5开始,允许枚举类型;jdk7开始,允许String
  • jdk14开始允许,一个case 后跟多个值:case 1,2,3:
  • if与switch选用:范围性的判断用if;固定值判断用switch;
switch(week){
    case 1:
       // 语句体1;
        break;
    case 2:
       // 语句体2;
        break;
    case 3:
      //  语句体3;
        break;
    default:
      //  默认语句体;
        break;
}      
2 case穿透(可以优化代码)
switch(week){
    case 1:
    case 2:
    case 3:
        //重复语句体;
        break;
    default:
        break;
}      
3 jdk14以后新特性(可以优化代码)
switch(week){
    case 1,2,3:
        //重复语句体;
        break;
    default:
        break;
}      

注意:在编程中最常用的逻辑运算符是: 短路与(&&)、短路或(||)和非(!);可以提高代码的运算效率;