流程控制(分支)

流程控制(分支)

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

  • 顺序语句 编码写下来 就是按照顺序从上至下
  • 分支语句 当流程执行下来的时候就会有多种情况也就是产生多种分支,有专门的流程控制语句控制分支
    • if分支
      • 语法:if(判断条件){满足条件执行的代码}
    • if…else分支
    • switch选择
  • 循环语句
    • for循环
    • while循环
    • do while循环

二、简单的if分支语句

3.1语法:

if(条件表达式) {
 //语句
} 

案例

  • 如果成绩大于90那么获得豪华作业一套
//引入Scanner类
import java.util.Scanner;
	public class Demo{
		public static void main(String[] args){
		Scanner sc = mew Scanner(System.in);
		//输入成绩
		int score = sc.nextInt();
		//判断
		if(score>==90){
			System.out.println("奖励豪华作业一套");
		}
	}
}
	

三、if…else分支

3.1语法

if(条件表达式) {
 //语句1
} else {
 //语句2
}

案例

  • 如果一个用户的用户名为:admin 密码:为123456 就可以跳转到首页否则还是跳转到登录页面

    • //引入Scanner类
      import java.util.Scanner;
      	public class Demo{
      	
      		public static void main(String[] args){
               //创建Scanner对象
      		Scanner sc = mew Scanner(System.in);
      		System.out.println("请输入用户名:");
      		String userName=sc.next();
      		System.out.println("请输入密码:");
      		String userPassWord=sc.next();
      		if(userName.equals("admin")&&userPassWord.equals("123456")){
      		System.out.println("成功");
      		}
      		else{
      		System.out.println("失败");
      		}
      	}
      }
      

      注意:在Java当中 = = 比较的是内存地址,在以后的字符串比较当中不要使用 = = 应该使用.equals。基本数据类型使用的是==。

四、多重if分支

4.1语法

if(条件表达式1) {
 //语句1
} else if(条件表达式2) {
 //语句2
} else if(条件表达式3) {
 //语句3
} else {
 //语句4
}

案例

根据手上的余额选择购买的手机品牌

/*
	大于10000买苹果
	大于8000买个苹果
	大于5000买个小米
	大于3000买个诺基亚
	否则 去公用电话
*/
//引入Scanner类
import java.util.Scanner;
	public class Demo{
		public static void main(String[] args){
		Scanner sc = mew Scanner(System.in);
		System.out.println("请输入余额:");
		//RMB代表余额
		Double RMB=sc.nextDouble();
		if(RMB>=10000){
			System.out.println("买苹果");
		}else if(RMB>=8000){
			System.out.println("买华为");
		}else if(RMB>=5000){
			System.out.println("买小米");
		}else if(RMB>=3000){
			System.out.println("诺基亚");
		}else{
			System.out.println("公用电话");
		}
	}
}

五、嵌套if分支

5.1语法


if(条件表达式1) {
 	if(条件表达式2) {
 		//满足条件1 也满足条件2 所执行的语句
	}else{
		//满足条件1 不满足条件2 所执行的语句
	}
}else{
	//不满足条件1执行的语句
}

案例

import java.util.Scanner;
public class Demo {
    public static void main(String[] args) {
        //案例学校举行跑步比赛 如果成绩在15s以内可以进入决赛
        //满足进决赛的人 男生进入男子组 女生进入女子组
        Scanner sc =new Scanner(System.in);

        System.out.println("输入比赛完成时间:");
        int score = sc.nextInt();
        //判断是否进入决赛
        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中 = = 比较的是内存地址,所以在以后的字符串比较当中不要使用 = =,应该使用 .equals
    • 在if分支当中大括号可以省略不写,如果不写 那么这个if分支只能控制一行代码
    • 在多重if分支当中要将苛刻的条件放在前面

七、switch分支

7.1switch的使用

选择分支结构:
	switch当中的值:byte short int String 枚举类型
    switch(关系表达式) {
case 常量1:
  //语句1
  break;
case 常量2:
  //语句2
  break;
case 常量3:
  //语句3
  break;
default:
  //默认语句
  break;
}

案例

import java.util.Scanner;
public class Demo {
    public static void main(String[] args) {
        /*
        * 案例:
        *   选择1:查询操作
        *   选择2:增加操作
        *   选择3:删除操作
        *   选择4:修改操作
        *   选择5:退出系统
        *   选择其他:提示输入有误
        * */
        Scanner sc =new Scanner(System.in);
        //创建Scanned对象
        System.out.println("输入1-5:");
        int num = sc.nextInt();
        switch (num){
            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("输入错误");
        }

    }
}

7.2switch分支使用细节

  1. 在使用当中值的类型:byte short int char String 枚举类型
  2. 在switch分支当中case的值不能重复
  3. 在switch当中break表示结束当前switch语句
    • break可以省略不写,如果不写switch一直往下执行知道遇到break或者switch结束
  4. switch与多重if的区别
    • 在多重if当中可以左关系运算,在switch中只能做等值判断

案例

​ 选择A 好评

​ 选择B 一般

​ 选择C良好

​ 选择D差评

(要求不区分大小写)

import java.util.Scanner;
public class Demo {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        //创建Scanned对象
        System.out.println("输入A-D:");
        String num = sc.next();
        switch (num){
            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;
            default:
                System.out.println("输入错误");
        }

    }
}

import java.util.Scanner;
public class Demo {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        //创建Scanned对象
        System.out.println("输入A-D:");
        String num = sc.next();
        if(num.equals("A")||num.equals("a")){
            System.out.println("好评!");
        }else if(num.equals("B")||num.equals("b")){
            System.out.println("一般");
        }else if(num.equals("C")||num.equals("c")){
            System.out.println("良好");
        }else if(num.equals("D")||num.equals("d")){
            System.out.println("差评!");
        }else{
            System.out.println("请输入A-D");
        }

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
流程控制是编程中的一个重要概念,它可以控制代码的执行流程Java中的流程控制分为三种,分别是顺序结构、分支结构和循环结构。 1. 顺序结构:程序按照顺序依次执行。 2. 分支结构:根据条件的不同而选择不同的执行路径,Java中的分支结构有if、if-else、if-else-if、switch等。 3. 循环结构:可以重复执行指定的代码块,Java中的循环结构有for、while、do-while等。 下面是分支结构if语句的语法格式: ``` if (布尔表达式) { // 如果布尔表达式为true执行的代码 } ``` 下面是if-else语句的语法格式: ``` if (布尔表达式) { // 如果布尔表达式为true执行的代码 } else { // 如果布尔表达式为false执行的代码 } ``` 下面是if-else-if语句的语法格式: ``` if (布尔表达式1) { // 如果布尔表达式1为true执行的代码 } else if (布尔表达式2) { // 如果布尔表达式1为false且布尔表达式2为true执行的代码 } else { // 如果布尔表达式1和布尔表达式2都为false执行的代码 } ``` 下面是switch语句的语法格式: ``` switch (表达式) { case 常量1: // 如果表达式的值等于常量1执行的代码 break; case 常量2: // 如果表达式的值等于常量2执行的代码 break; default: // 如果表达式的值不等于任何常量执行的代码 break; } ``` 总之,流程控制Java编程中必不可少的一部分,掌握好流程控制可以让程序更加灵活和高效。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值