Day05 总结 switch case和循环结构

switch case结构概述

//格式

switch (/* 变量 */) {
    case 常量选择1:
        // 处理方式1;
        break;
    case 常量选择2:
        // 处理方式2;
        break;
    case 常量选择3:
        // 处理方式3;
        break;
    default:
        // 最终处理方式;
        break;
}
/*
执行流程:
	代码运行到switch case结构
	首先取出switch之后小括号中变量保存的数据
	匹配switch 大括号以内的case选择,找到对应的常量选择匹配。
		如果找到了对应的匹配选择,执行对应的处理方式。
		如果没有找到匹配选择,执行default里面的处理方式。
	这里【break】关键字用于结束switch case运行
*/

switch - case使用注意事项

1. 在switch - case结构中,有且只能执行case,或者default之后的语句。如果存在在case 和default之外的语句,是无法执行的,对于Java而言是无效代码。

2. 在switch - case结构中,如果存在case或者default选择缺少break操作。代码会继续运行到下一个break,或者大括号 }(switch case结尾大括号) 终止switch - case!!

3. 在switch - case结构中,不允许出现相同的case选项,代码无法进行操作选择,因为所有case选择是平级的

4. 在switch - case结构中,default可以省略,代码编译不会受到影响,没有语法错误。但是失去switch case自带的一种异常情况处理方式。
    AJCG阿里巴巴Java开发规范中,是不推荐省略default

switch-case总结

1. switch case结构和if else if 结构类似,两者是可以互通 
2. if else if结构中可以处理范围性数据,处理的数据区间更加广泛
3. switch case处理数据明确性更强,处理针对性选择比较合适

while循环结构

while (/* 循环条件 true or false */) {
    // 循环体
    // (循环条件变更)
}
/*
执行流程:
	当前程序运行到while循环结构时,首先判断
while之后的小括号里面的循环条件是否为true,
如果为true,执行循环体,在回到循环条件判断,
直到循环条件为false,终止循环!!!
*/

代码中一定存在需要循环出现的情况,如果不使用循环,会导致以下一些问题
    1. 阅读性极差!!!
    2. 维护性极差!!!
    3. 代码冗余!!!

do whlie循环

do {
    // 循环体
    // (循环条件变更)
} while (/* 循环条件判断 */);
/*
执行流程:
	当程序执行到do - while循环结构时,
首先执行一次循环体(循环条件变更),再来
判断while中循环条件判断是否为true,如
果为true,继续执行,如果为false,终止循环。
【注意】
	1. while(condition);;;  这里英文分号
	2. 执行do - while需要明确第一次循环会不会存在隐患
*/

循环和分支嵌套

/*
使用while循环,完成一个点菜系统  注释:这里要用到swich case分支结构
    1. 完成用户的点菜功能
	2. 点菜之后输出总价
	3. 用户指定方式退出
*/
import java.util.Scanner;

class Demo13 {
	public static void main(String[] args) {
		/*
		这里需要一个变量 int类型,作为用户的选择
		变量名 choose
		*/
		int choose = 0;
		/*
		计算得到总价格,int类型,变量名为 total
		*/
		int total = 0;
		/*
		准备一个Scanner类型的变量,用于从键盘上获取用户
		输入的数据
		*/
		Scanner sc = new Scanner(System.in);
		
		System.out.println("欢迎来到骚磊老酒馆");
		System.out.println("1. 青岛啤酒 8RMB");
		System.out.println("2. 野格 88RMB");
		System.out.println("3. 江小白 25RMB");
		System.out.println("4. 乌苏 6RMB");
		System.out.println("5. 1664 18RMB");
		System.out.println("6. 下单");
		/*
		用户输入6终止循环,如果不是6,继续循环
		*/
		while (choose != 6) {
			
			choose = sc.nextInt();
			
			switch (choose) {
				case 1:
					System.out.println("1. 青岛啤酒 8RMB");
					total += 8;
					break;
				case 2:
					System.out.println("2. 野格 88RMB");
					total += 88;
					break;
				case 3:
					System.out.println("3. 江小白 25RMB");
					total += 25;
					break;
				case 4:
					System.out.println("4. 乌苏 6RMB");
					total += 6;
					break;
				case 5:
					System.out.println("5. 1664 18RMB");
					total += 18;
					break;
				case 6:
					System.out.println("6. 下单");
					break;
				default:
					System.out.println("选择错误");
					break;
			}
		}	

		System.out.println("本场消费 : " + total);
	}
}

总结

1. 循环过程中最核心的内容就是循环变量,需要对于循环变量的执行的过程中数值变量完全掌握!!!如果无法明确循环的次数,循环变量的值,循环的过程,可以将循环代码中变量的变更过程记录。

2. 循环过程中需要注意无限循环问题,控制无限循环问题的出现。一定要保证循环条件有效性或者代码中存在一个跳出循环的机制。

3. do while循环中,第一次循环体的执行是没有经过任何的条件判断的,需要注意!
【已知,可控】

4. while和do while循环结构是可以进行互换的。

5. 然后在while和do while之间考虑使用的情况下,一般推荐使用while循环。但是不代表do while没有实际的使用效果。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值