04、switch-case分支结构、循环结构

04_Java基础语法

1、分支结构
1.1 switch-case 分支结构

格式:

switch (表达式) {
	case 常量1:
		语句块1;
		break;
	case 常量2:
		语句块2;
		break;
	case 常量3:
		语句块3;
		break;
	default:
		语句块4;
		break;
}

执行流程:
1、首先计算表达式的值;
2、将得到的值与case后的常量依次进行匹配,如果匹配到相同的值,执行该case语句,之后执行break语句,switch-case语句执行结束;如果没有匹配到相同的值,执行最后的default语句,之后执行break语句,switch-case语句执行结束。

注意:
1、case之后的常量数据类型目前限制在int、char类型;
2、case之后的常量具有唯一性,即同一个常量不能出现在一个switch-case结构中的多个case常量选项中;
3、switch-case结构中,执行语句必须放在case之后或者default之后,否则会报错;
4、default语句主要用来进行无匹配结果的反馈,可以省略(在阿里巴巴开发规范中,switch-case结构中的default不允许省略);
5、一个switch-case分支结构中可以有多个case语句,但只能有一个default语句。

1.2 switch-case代码演示

基本代码演示

//分支结构
public class Demo1 {
	public static void main(String[] args) {
		
		int choose1 = 1;
		int choose2 = 11;
		
		System.out.println("1、酱牛肉 ");
		System.out.println("2、方中山胡辣汤 ");
		System.out.println("3、羊肉烩面 ");
		System.out.println("4、羊肉汤 ");
		System.out.println("5、宫保鸡丁盖饭 ");
		System.out.println("-----------------------------");
		
		switch (choose1) {
			case 1:
				System.out.println("酱牛肉 80RMB");
				break;
			case 2:
				System.out.println("方中山胡辣汤 8RMB");
				break;
			case 3:
				System.out.println("羊肉烩面 20RMB");
				break;
			case 4:
				System.out.println("羊肉汤 20RMB");
				break;
			case 5:
				System.out.println("宫保鸡丁盖饭 15RMB");
				break;
			default:
				System.out.println("没有该选项");
				break;
		} 
		
		System.out.println("-----------------------------");
		
		switch (choose2) {
			case 1:
				System.out.println("酱牛肉 80RMB");
				break;
			case 2:
				System.out.println("方中山胡辣汤 8RMB");
				break;
			case 3:
				System.out.println("羊肉烩面 20RMB");
				break;
			case 4:
				System.out.println("羊肉汤 20RMB");
				break;
			case 5:
				System.out.println("宫保鸡丁盖饭 15RMB");
				break;
			default:
				System.out.println("没有该选项");
				break;
		} 
	}
}

运行结果如下图
switch-case分支结构

1.3 从键盘获取数据

使用方法
1、在定义类之前导包

import java.util.Scanner;

2、在方法中创建Scanner对象

Scanner sc = new Scanner(System.in);

3、常见的获取键入数据的方法
int型数据

int型变量名 = sc.nextInt();

float型数据

float型变量名 = sc.nextFloat();

double型数据

double型变量名 = sc.nextDouble();

char型数据

char型变量名 = sc.nextLine().charAt(0);

基本代码演示

//获取键盘输入数据
//导入jar包
import java.util.*;

public class Demo2 {
	public static void main(String[] args) {
		
		
		Scanner sc = new Scanner(System.in);//创建对象
		
		
		System.out.println("请输入您的消费金额:");//用户操作引导提示
		int totalPrice1 = sc.nextInt();//读取输入的数据
		
		//判断数据正确性
		if (totalPrice1 <= 0) {
			System.out.println("请输入正确的金额哦");
			
			System.exit(0);//中断程序执行 直接关闭程序 后期开发中勿用
		}
		
		if (totalPrice1 >= 500) {
			System.out.println("尊贵的客户,送您一箱特仑苏");
		} else if (totalPrice1 >= 200) {
			System.out.println("尊贵的客户,送您一瓶崂山啤酒");
		} else if (totalPrice1 >= 100) {
			System.out.println("尊贵的客户,送您一片绿箭");
		} else {
			System.out.println("尊贵的客户,送您一个塑料袋");
		}
	
	}
}

运行结果如下图
键入数据

2、循环结构

循环结构的优点:
1、减少代码数量
2、提高代码阅读性
3、提高代码维护性

2.1 while 循环结构

格式:

while (表达式/* 循环条件判断 结果数值为boolean类型 */) {
	循环体;//进行循环条件的变更
}

执行流程:
1、判断表达式的值的真假;
2、如果为假(false),结束循环;
3、如果为真(true),执行循环体内容,进行循环条件变更,之后继续判断表达式的值,直到表达式的值为假(false),结束循环。

基本代码演示

//while循环结构
public class Demo3 {
	public static void main(String[] args) {
		int num = 3;
		
		while (num > 0) {
			//出现无限循环 CTRL+C 结束循环
			System.out.println("下楼做核酸了");
			num--;//循环条件变更
		}
	}
}

运行结果如下图
while循环

2.2 do-while 循环结构

格式:

do {
	循环体;//进行循环条件的变更
} while (表达式/* 循环条件判断 结果数值为boolean类型 */);

执行流程:
1、第一次循环,先执行循环体的内容;
2、之后判断表达式值的真假;
3、如果为假(false),结束循环;
4、如果为真(true),执行循环体内容,进行循环条件变更,之后继续判断表达式的值,直到表达式的值为假(false),结束循环。

基本代码演示

//do-while循环结构
public class Demo4 {
	public static void main(String[] args) {
		int num = 3;
		
		//循环体至少执行一次
		do {
			System.out.println("绿码");
			num--;//循环条件变更
		} while (num > 0);
	}
}

运行结果如下图
do-while循环

2.3 for 循环结构

格式:

for (/* 循环条件初始化 */; /* 循环条件判断 */; /* 循环条件变更 */) {
    循环体;
}

执行流程:
for循环执行流程

基本代码演示

//for循环
public class Demo5 {
	public static void main(String[] args) {
		
		for (int i = 0; i < 3; i++) {
			System.out.println("低风险地区");
		}
	}
}

运行结果如下图
for循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值