分支结构(重点)

生活案例: 路口也是一种选择,只能选择一条路走。

                   上学去哪所学校也是一种选择。

                   分支是一种选择。 

if分支结构语法格式:
if (表达式) {

语句体;

}  执行流程:首先走到if分支判断括号里的表达式,结果为true则执行括号里的语句体,表达式为false,则不执行当前语句体。

public class Demo4{
    public static void main(String[] args) {
      //结果为false,则不会输出
      int a1 = 34;
      if (a1 < 21){
          System.out.println("您输入的代码错误");
         }
      //结果为true,则输出语句
      int b1 = 45;
      if (b1 > 22) {
          System.out.println("您输入的代码正确");
      }
    }
}
public class Demo4{
    public static void main(String[] args) {
        //练习:用户名  111  密码  111 (int类型的数据) 使用if语句如果用户名和密码都对的话,打印一句话,登陆成功。
        int a1 = 111;
        int a2 = 111;
        if (a1 == 111 && a2== 111) {
            System.out.println("登陆成功");
        }
    }
}

if -else分支结构语法格式:

if (表达式1) {

语句体1;

}else {

语句体2;

} 执行流程:首先走到if判断括号里的表达式为true,则执行当前的语句体,如果表达式为false,则执行else中的语句体2;   只能执行一个,不能同时执行。

public class Demo4{
    public static void main(String[] args) {
       int a1 = 23;
       int a2 = 2;
       if (a1 > a2) {
           System.out.println("正确");
       } else {
           System.out.println("错误");
       }


       System.out.println("------------------------------------");
       int s1 = 23;
       int s2 = 3;
       //如果表达式结果为true,那么会执行当前的语句体,如果表达式为false,则执行else中的语句体
       if (s1 < s2) {
           System.out.println("正确");
       } else {
           System.out.println("错误");
       }


       public class Demo4{
       public static void main(String[] args) {
       String name = "12345";
       String name1 = "12345";
       if (name == name1) {
           System.out.println("正确");
       }
       //语句体外的则都会执行
        System.out.println("嘻嘻哒");
        System.out.println("HelloWorld");
    }
}
    }
}

案例:判断一个年份是否是闰年。

注意:能被4整除,并且不能被100整除,或者能被400整除的年份

public class Demo4{
    public static void main(String[] args) {
        //案例:判断一个年份是否是闰年。注意:能被4整除,并且不能被100整除,或者能被400整除的年份
        int age = 1996;
        if (age % 4 == 0 && age != 100 || age % 400 == 0) {
            System.out.println("是闰年");
        } else {
            System.out.println("不是闰年");
        }
    }
}

if-else 嵌套写法语法格式

if (表达式1) {

if (表达式2) {

if (表达式3) {

}else {

语句体3;

}

}else {

语句体2

}

}else {

语句体1;

}执行流程:如果第一个if表达式为true,那么会进如第二个if分支语句,第二个if语句为true,会进入第三个if语句体,如果有一个位false,则不会往下执行。

public class Demo4 {
    public static void main(String[] args) {
        int a1 = 34;
        if (a1 > 12) {//a1大于12则输出哈哈,进入下一个if
            System.out.println("哈哈");
            if (a1 > 13) {//a1大于了13则输出语句嘻嘻哒  进入下个if
                System.out.println("嘻嘻哒");
                if (a1 < 12) {//a1小于了12位false,则输出else中的语句
                    System.out.println("a1小于12");
                } else {
                    System.out.println("a1小于了2");
                }
            } else {
                System.out.println("a1大于13");
            }
        } else {
            System.out.println("a1大于12");
        }
    }
}

if -else if分支结构

if (表达式1) {

语句体1;

}else if (表达式2) {

语句体2;

}else if (表达式3) {

语句体3;

}else {

语句体4;

}执行流程:首先走到if分支判断布尔表达式结果为true,则执行语句体1;如果表达式结果为false,则进入第二个if分支判断表达式为true,则执行语句体2,如果都为false,则执行语句体4.鱼和熊掌不可兼得,只能执行一个。

	/**
		 * 学生的成绩:
		 * 90-100:打印优秀
		 * 80-90:打印良好
		 * 70-80:打印一般
		 * 60-70:打印及格
		 * 60分以下:叫家长
		 */
使用if-else if
public class Demo4 {
    public static void main(String[] args) {
        int score = 88;
        if (score > 90 && score < 100) {
            System.out.println("优秀");
        } else if (score > 80 && score < 90) {
            System.out.println("良好");
        } else if (score > 60 && score < 50) {
            System.out.println("及格");
        } else {
            System.out.println("正确");
        }//使用&&只要两个条件都为true,则执行语句体
        //如果有一个为false,则不执行语句体。
    }
}

案例

案例:

​	手机按键  

如果你按的是1   打印给爸爸打电话

如果你按的是2   打印给妈妈打电话

如果你按的是3   打印给爷爷打电话

如果你按的是4   打印给奶奶打电话

如果你按的是其他的   报警
  int age = 4;
        if (age == 1) {
            System.out.println("给爸爸打电话");
        } else if (age == 2) {
            System.out.println("给妈妈打电话");
        } else if (age == 3) {
            System.out.println("给奶奶打电话");
        } else if (age == 4) {
            System.out.println("给哥哥打电话");
        } else {
            System.out.println("报警");
        }

 switch-case分支结构

也是一种选择,只有满足条件的时候才会执行。

语法格式:

switch(表达式){

case 常量1:

语句体;

break;

case 常量2:

语句体2;

break;

case 常量3:

语句体3;

break;

default:

break;

}执行流程:switch 括号里表达式的值去匹配case后面的常量。如果匹配成功则执行当前的语句体,如果匹配失败则往下执行。

public class Demo4 {
    public static void main(String[] args) {
        int score = 3;
        switch(score){
            case 1:
                System.out.println("给爸爸打电话");
            break;
            case 2:
                System.out.println("给妈妈打电话");
            break;
            case 3:
                System.out.println("给哥哥带电话");
            break;
            //如果都匹配失败则执行default里面的语句体;
            default:
                System.out.println("执行代码错误");
                break;
        }
    }
}
public class Demo4 {
    public static void main(String[] args) {
        int core = 90;
        switch(core / 10){
            case 10:
                System.out.println("优秀");
                break;
            case 7:
                System.out.println("良好");
                break;
            case 9:
                System.out.println("及格");
                break;
            case 6:
                System.out.println("叫家长");
                break;
            default:
                System.out.println("重新考试");
                break;
        }
    }
}

重点switch(表达式的值可以是什么数据类型的)

byte  short  int  char  String  枚举

平时声明变量的时候就是int  a = 10;

现在就是在控制台声明值赋值给我们的变量

1.导包

2.创建Scanner对象

3.int  a1 = str.NextInt();在控制台输入的数据传给我们的变量a1

  Nextbyte() 

  NextShort

  NextInt()

  NextLong()

  NextFloat()

  NextDouble()

  Next Line().CharAt()  

  NextBoolean()


public class Demo4 {
    public static void main(String[] args) {
        Scanner str = new Scanner(System.in);
        System.out.println("请输入一个int类型的数据");
        int a1 = str.nextInt();
        if (a1 > 23) {
            System.out.println("正确");
        } else if (a1 > 45) {
            System.out.println("嘻嘻哒");
        } else if (a1 >= 32) {
            System.out.println("哈哈");
        } else {
            System.out.println("xinfvhbb");
        }
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值