流程控制之分支语句

216 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第31天,点击查看活动详情 >>

📖个人介绍

大家好我是:Zinksl

认真分享技术,记录学习点滴 如果分享对你有用请支持我哦🍺

点赞:👍 留言:✍收藏:⭐️ 个人格言: 想法落实的最佳时机就是现在!🏄


:::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穿透(可以优化代码)

case穿透示例:如果有多个重复的语句体可以使用case穿透

switch(week){
    case 1:
    case 2:
    case 3:
        //重复语句体;
        break;
    default:
        break;
}
3 jdk14以后新特性(可以优化代码)

case穿透示例:如果有多个重复的语句体可以使用case穿透

switch(week){
    case 1,2,3:
        //重复语句体;
        break;
    default:
        break;
}

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