流程控制语句(分支)

流程控制语句(分支)

Java 基础语法
    变量
     变量的概念
     变量的使用  声明   初始化
     
     标识符的命名规则 数字 字母下划线  美元符号 
     不能以数字开头 不能使用java中的关键字保留字 
     驼峰命名  见名知意
     
     数据类型
     基本数据类型 四大类 八种
      整数型(byte  short int  long)
      浮点型(float double )
      字符型(char)
      布尔型(boolean)
      
      引用数据类型
      String
      Scanner
      
      数据类型转换
      自动类型转换 小转大  自动转
      强制类型转换 大转小  强制转换   再前面加上括号和相应的数据类型
      
      数据类型转换的细节:
        byte short char  参与 自动提升 int   
        出现任何一个整数都是int
        出现任何一个小数都是double
        
        发生强转的时候 会有数据的丢失
        
        运算符
        算术运算符 ++  -- 
        赋值运算符 =赋值 
        关系运算符 结果都是boolean
        逻辑运算符 与  或  非 短路与  短路或
        三目运算符 用来简单的判断
        位运算符
        按位与    同为1 为1
        按位或    相同为0 才为0
        按位亦或  相同位数相同为0 不同为1
        按位取反  就是每一位取反
        左移 右移 补码移动
        无符号右移 要用32位   无论正负 向右移N位  高位补0
        
​
      

一、流程控制语句 三大结构

  • 简单的if分支

    • 语法:

      • if(逻辑条件判断(boolean类型)){

      • 满足条件执行的代码块

      • }

package com.qf;
​
import java.util.Scanner;
​
public class Demo01 {
    public static void main(String[] args) {
​
        //案例 如果成绩大于90  奖励豪华作业题一套
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的成绩");
        int score = sc.nextInt();
​
        if (score>=90){
            //这里是满足条件 成绩大于等于90 执行的代码块
            System.out.println("奖励豪华作业一套");
        }
        System.out.println("欢迎下次再来");
​
​
        // 如果年龄大于65   可以领取养老金
        System.out.println("请输入年龄");
        int age=sc.nextInt();
        if (age>=65){
            //执行的代码块
            System.out.println("可以领取养老金");
        }
​
​
        // 如果 身高大于180   且体重小于180 就可以当模特
​
        System.out.println("请输入你的身高(cm)");
        int height = sc.nextInt();
​
        System.out.println("请输入你的体重(500g)");
        int weight = sc.nextInt();
​
        if (height>180  && weight<180){
            System.out.println("可以当模特");
        }
​
    }
}
​

二、if....else分支

  • 语法:

    • if(逻辑条件){

    • 满足逻辑条件执行代码

    • }else{

    • 不满足逻辑条件执行的代码

    • }

package com.qf;
​
import java.util.Scanner;
​
public class Demo02 {
    public static void main(String[] args) {
        //案例 如果 用户名为 admin  密码123456 则跳转首页  否则 返回登陆页面、
        //创建 Scanner 对象
        Scanner sc = new Scanner(System.in);
​
        //获取用户名
        System.out.println("欢迎进入JavaEE 2301 班级登陆系统");
        System.out.println("请输入用户名");
        String userName = sc.next();
        System.out.println("请输入密码");
        String passWord = sc.next();
​
        if (userName.equals("admin")&&passWord.equals("123456")){
            System.out.println("跳转首页");
        }else{
            System.out.println("用户名或密码错误 请重新输入");
            System.out.println("跳转登陆页面");
        }
​
​
        // 案例 如果身上的余额大于100元   中午吃饭加个鸡腿  否则泡面
        System.out.println("请输入你的余额");
        int money = sc.nextInt();
        if (money >=100){
            System.out.println("加个鸡腿吧");
        }else {
            System.out.println("吃泡面吧");
        }
        
        
        
        //在java当中 == 比较的是内存地址 比较基本数据类型的时候使用== 比较   所以在后面的字符串比较不要使用 == 
       // 而应该使用equals
​
    }
}
​

三、多重if分支

  • 语法

    • if(逻辑条件1){

    • 满足条件 1 执行的代码

    • }else if(逻辑条件2){

    • 满足条件 2 执行的代码

    • } else if(逻辑条件3){

    • 满足条件 3 执行的代码

    • }else{

    • 不满足以上所有条件执行的代码

    • }

package com.qf;
​
import java.util.Scanner;
​
public class Demo03 {
    public static void main(String[] args) {
        /*
        * 案例:
        *  根据手上的余额来选择手机品牌
        *  如果大于10000 买个 iphone 14 pro max
        *  如果大于7000  买个 华为meta15
        *  如果大于5000  买个 小米13
        *  如果大于3000   vivoX12
        *   否则,座机
        *
        *
        * */
​
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的余额");
        int money = sc.nextInt();
        if (money>10000){
            System.out.println("购买了iphone 14 pro max ");
        }else if(money>7000){
            System.out.println("购买了华为meta15 ");
        }else if (money>5000){
            System.out.println("购买小米13");
        }else if(money>3000){
            System.out.println("购买了vivoX12");
        }else {
            System.out.println("打座机");
        }
    }
}
​

四、嵌套if 分支

  • 语法:

    • if(逻辑条件1){

    • if(逻辑条件2){

    • 满足逻辑条件1 且 条件2满足条件执行的代码

    • }else{

    • 满足条件1 但不满足条件2执行的代码

    • }

    • }else{

    • 不满足逻辑条件1执行的代码

    • }

package com.qf;
​
import java.util.Scanner;
​
public class Demo04 {
    public static void main(String[] args) {
        //案例 学校举办跑步比赛 如果成绩在15s 以内 就进入决赛 ,男的进男子组,女的进女子组
​
        System.out.println("请输入你的比赛成绩");
        Scanner sc = new Scanner(System.in);
        double score = sc.nextDouble();
        if (score<15){
            System.out.println("请输入你的性别");
            String sex = sc.next();
            if (sex.equals("男")){
                System.out.println("请你进入男子组");
            }else {
                System.out.println("请你进入女子组");
            }
​
        }else {
            System.out.println("非常遗憾 你被淘汰了");
        }
    }
}
​

五、分支语句的细节

  • 注意:

    • 在java中== 比较的是内存地址 String类的equals 比较的是内容

    • 基本数据类型使用== 比较

    • String类型使用equals比较

  • 注意2:

    • 在if分支中,大括号可以省略不写,但是如果大括号不写的话,那么这个if分支只能控制一行代码

  • 注意3:

    • 多重if要将苛刻的条件写在前面

六、switch分支

6.1 switch分支的使用

  • switch分支结构

    • switch的值:byte short int char String 枚举类型

    • switch(值){

    • case值1:

    • switch 中的值与值1 相等的时候执行的代码

    • break;

    • case值2:

    • switch 中的值与值2 相等的时候执行的代码

    • break;

    • case值3:

    • switch 中的值与值3 相等的时候执行的代码

    • break;

    • case值n:

    • switch 中的值与值n 相等的时候执行的代码

    • break;

    • default :

    • switch中值 与以上的所有值都不匹配的时候执行的代码

    • }

package com.qf;
​
import java.util.Scanner;
​
public class Demo05 {
    public static void main(String[] args) {
        /*
        * 案例
        *  选择1 查询操作
        *  选择2 增加操作
        *  选择3 删除操作
        *  选择4 修改操作
        *  选择5 退出系统
        *  选择其他 提示输入有误
        *
        *
        *
        * */
​
        System.out.println("请做出你的选择");
        Scanner sc = new Scanner(System.in);
        int option = sc.nextInt();
​
        switch (option){
            case 1:
                System.out.println("查询操作");
                break;
            case 2:
                System.out.println("增加操作");
                break;
            case 3:
                System.out.println("删除操作");
                break;
            case 4:
                System.out.println("修改操作");
                break;
            case 5:
                System.out.println("退出操作");
                break;
            default:
                System.out.println("输入有误");
        }
    }
}
​

6.2 switch 分支细节

  • 在switch当中case的值不可以重复

  • switch的break 表示结束当前switch语句

    • break可以省略 (一般不省略) 如果省略的话 代码会一直往下执行 知道遇到下一个break

  • switch 和多重if的区别:

    • 多重if 可以做关系运算 在switch中就只能做等值判断

  • 案例:(要求选择A a 的结果一致)

  • 选择A 好评

  • 选择B 一般

  • 选择C 良好

  • 选择D 差评

package com.qf;
​
import java.util.Scanner;
​
public class Demo06 {
    public static void main(String[] args) {
​
        //- 案例:(要求选择A a 的结果一致)
        //- 选择A 好评
        //- 选择B 一般
        //- 选择C 良好
        //- 选择D 差评
​
        System.out.println("请做出你的选择");
        Scanner sc = new Scanner(System.in);
        String option = sc.next();
​
        switch (option){
            case "a":
            case "A":
                System.out.println("好评");
                break;
            case "b":
            case "B":
                System.out.println("一般");
                break;
            case "c":
            case "C":
                System.out.println("良好");
                break;
            case "d":
            case "D":
                System.out.println("差评");
                break;
        }
    }
}
​
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值