分支语句

流程控制

  • 流程控制语句分类
    1. 顺序结构
    2. 分支结构 (if ,switch)
    3. 循环结构 (for,while,do…while)

顺序结构

  • 顺序结构定义
    顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

  • 代码测试 :

public class Demo_1 {
	public static void main(String[] args) {
		
		System.out.println("开始");
		
		System.out.println("语句 A");
		System.out.println("语句 B");
		System.out.println("语句 C");
		
		System.out.println("结束");
	}
}

if 语句格式一

   格式 :
   if(关系表达式){
   语句体 ;
   }
   
   执行流程 :
   1.首先计算关系表达式的值
   2.如果关系表达式的值为 true 就执行语句体
   3.如果关系表达式的值为 false 就不执行语句体
   4.继续执行后面的语句内容
  • 代码测试 :
	    /**
		 * if 语句格式一 
		 * 需求 :判断 a 和 b 的值是否 相等,如果相等,就在控制台输出:a 等于 b
		 **/

		// 定义两个 int 类型的变量。
		// a 不等于 b
		int a = 10;
		int b = 20;

		if (a == b) {
			System.out.println("a 等于 b");
		}

		System.out.println("结束");
		System.out.println("=====================");

		// a 等于 b
		b = 10;

		if (a == b) {
			System.out.println("a 等于 b");
		}

		System.out.println("结束");

if 语句格式二

  格式 :
  if(关系表达式){
  语句体一;
  }else{
  语句体二;
  }

  执行流程 :
  1.首先计算关系表达式的值
  2.如果关系表达式的值为 true 就执行语句体一
  3.如果关系表达式的值为 false 就执行语句体二
  4.继续执行后边的语句内容
  • 代码测试 :
	    /**
		 * if 语句格式二 
		 * 需求: 判断 a 和 b 的值是否相等 
		 *       如果相等,就在控制台输出:a 等于 b ; 
		 *       如果不等,就在控制台输出:a 不等于 b ;
		 **/

		// 定义两个 int 类型的变量。
		// a 不等于 b
		int a = 10;
		int b = 20;

		if (a == b) {
			System.out.println("a 等于 b");
		} else {
			System.out.println("a 不等于 b");
		}

		System.out.println("结束");
		System.out.println("==========================");

		// a 等于 b
		b = 10;

		if (a == b) {
			System.out.println("a 等于 b");
		} else {
			System.out.println("a 不等于 b");
		}

		System.out.println("结束");
  • 案例 :奇偶数
//1.导入 Java.util 包
import java.util.Scanner;

public class Demo_1 {
	public static void main(String[] args) {
		/**
		 * 需求 :任意给出一个整数,请用程序实现判断该整数是奇数还是偶数,并在控制台输出该整数是奇数还是偶数
		 **/

		// 2.new 一个 Scanner 对象
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入一个整数 :");

		// 3.定义一个 int 类型的变量来接受控制台输入
		int number = scanner.nextInt();

		// 4.使用分支结构 if...else 对输入的值进行判断,值为 true 输出偶数,值为 false 输出奇数
		if (number % 2 == 0) {
			System.out.println(number + "是偶数");
		} else {
			System.out.println(number + "是奇数");
		}

	}
}

if 语句格式三

  格式 :
  if(关系表达式一){
     语句体一;
  }else if(关系表达式二){
     语句体二;
  }
   ...
   else {
       语句体 n+1;
   }

   执行流程 :
   1. 首先计算关系表达式一的值
   2. 如果值为 true 就执行语句体一,如果值为 false 就计算关系表达式二的值
   3. 如果值为 true 就执行语句体二,如果值为 false 就计算关系表达式三的值
   4. ...
   5. 如果没有任何关系表达式值为 true,就执行语句体 n+1
  • 代码测试 :
// 1. 导入 Java.util 包
import java.util.Scanner;

public class Demo_1 {
	public static void main(String[] args) {
		/**
		 * 需求 :键盘录入一个星期数(1,2,3, ... 7),输出对应的星期一,星期二,星期三, ... 星期日
		 **/

		// 2. new 一个 Scanner 对象
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入一个星期数(1-7) :");

		// 3.定义一个 int 类型的变量接收控制台输入的值
		int week = scanner.nextInt();

		// 4.使用 if ... else if ... else 对输入的值进行判断,输出值对应的结果
		if (week == 1) {
			System.out.println("星期一 !");
		} else if (week == 2) {
			System.out.println("星期二 !");
		} else if (week == 3) {
			System.out.println("星期三 !");
		} else if (week == 4) {
			System.out.println("星期四 !");
		} else if (week == 5) {
			System.out.println("星期五 !");
		} else if (week == 6) {
			System.out.println("星期六 !");
		} else if (week == 7) {
			System.out.println("星期日 !");
		} else {
			System.out.println("输入值无法进行判断,程序无法执行 !");
		}

	}
}
  • 案例 :考试奖励
// 1.导入 java.util包
import java.util.Scanner;

public class Demo_1 {
	public static void main(String[] args) {
		/**
		 * 需求 :小明快要期末考试了,小明爸爸对他说,会根据他不同的考试成绩,送他不同的礼物, 假如你可以控制小明的得分
		 * 请用程序实现小明到底该获得什么样的礼物,并在控制台输出
		 * 100 ~ 95分,山地自行车一辆
		 * 94 ~ 90分,游乐场玩一次
		 * 89 ~ 80分,变形金刚玩具一个
		 * 80分以下,胖揍一顿 
		 **/

		// 2.new 一个 Scanner 对象
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入小明的考试成绩:");

		// 3.定义变量,用来接收控制台输入。
		int score = scanner.nextInt();

		// 4.使用 if ... else if ... else 来进行判断
		if (score >= 95 && score <= 100) {
			System.out.println("山地自行车一辆!");
		} else if (score >= 90 && score < 95) {
			System.out.println("游乐场玩一次!");
		} else if (score >= 80 && score < 90) {
			System.out.println("变形金刚玩具一个!");
		} else if (score >= 0 && score < 80) {
			System.out.println("胖揍一顿!");
		} else {
			System.out.println("数值不在有效范围内无法判断!");
		}
		
		// 数据测试 : 正确数据,边界数据,错误数据
	}
}

switch 语句

  • switch 语句格式

    格式 :
    switch(表达式){
       case 值一:
                 语句体;
                 break;
       case 值二:
                 语句体;
                 break;
       ...
       default:
                 语句体n+1;
                 [break;]   
    }
    
    格式说明:
    1.表达式: 取值为 byte,short,int,char, JDK5以后可以是枚举,JDK7以后可以是String
    2.case: 后面跟的是要和表达式进行比较的值
    3.break: 表示中断,结束的意思,用来结束 switch 语句
    4.default: 表示所有情况都不匹配的时候,就执行该处的内容,和 if 语句的 else 相似
     
    执行流程: 
    1.首先计算表达式的值
    2.依次和 case 后边的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到 break 就会结束
    3.如果所有的 case 后面的值和表达式的值都不匹配,就会执行 default 里面的语句体,然后程序结束掉
    
  • 代码测试 :

// 1.导入 java.util包
import java.util.Scanner;

public class Demo_1 {
	public static void main(String[] args) {
		/**
		 * 需求 :键盘录入一个星期数(1,2,3,...7),输出对应的星期一,星期二,星期三,...星期日
		 **/

		// 2.新建一个 Scanner 对象
		Scanner scanner = new Scanner(System.in);

		// 3.提示键盘录入
		System.out.println("请输入一个整数(1-7):");

		// 4.定义 int 类型的变量用来接收键盘录入
		int week = scanner.nextInt();

		// 5.使用 switch 进行判断,输出对应的星期数
		switch (week) {
		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;
		case 6:
			System.out.println("星期六");
			break;
		case 7:
			System.out.println("星期日");
			break;
		default:
			System.out.println("输入错误,程序结束");
			break;
		}

		
	}
}
  • 案例 :春夏秋冬

     注意事项 :在 switch 语句中,如果 case 控制的语句体后面不写 break,将出现穿透现象,在不判断下一个 case 值的情况下,
     向下运行,直到遇到 break,或者整体 switch 语句结束
    
// 1.导入 java.util包
import java.util.Scanner;

public class Demo_1 {
	public static void main(String[] args) {
		/**
		 * 需求 :一年有十二个月份,分属于春夏秋冬四个季节,请用程序实现判断该月份属于哪个季节,并输出
		 **/

		// 2.新建一个 Scanner 对象
		Scanner scanner = new Scanner(System.in);

		// 3.提示键盘录入
		System.out.println("请输入要判断的月份:");

		// 4.定义 int 类型的变量用来接收键盘录入
		int month = scanner.nextInt();

		// 5.使用 switch 进行判断,输出对应的季节
		switch (month) {
		case 12:
		case 1:
		case 2:
			System.out.println("冬季");
			break;
		case 3:
		case 4:
		case 5:
			System.out.println("春季");
			break;
		case 6:
		case 7:
		case 8:
			System.out.println("夏季");
			break;
		case 9:
		case 10:
		case 11:
			System.out.println("秋季");
			break;
		default:
			System.out.println("输入错误,程序结束");
		}

	}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值