JAVA变得浓醇香韵

今天学习switch case与循环,代码思绪开始变得有些烧脑,while的循环机制学着就搞混了,犯了狠多低级的错,看了今天布置的题,离头秃又进了一步,不过这样感觉也挺充实的
笔记:

switch case和循环结构

1.switch case
1.1结构概括
//这里使用的switch - -case结构是一个可以在很多开发语言中通用使用的
//今天上课演示使用的数据类型是int类型,并且要求在没有讲述其他可以使用类型之前只能用int
switch(/*变量*/){
        case 常量选择1:
            处理方式1breakcase 常量选择2:
            处理方式2breakcase 常量选择3:
            处理方式3breakdefault:
        	break;
}
/*
执行流程:
	代码运行到switch case结构
	首先选出switch之后小括号中变量保存的数据
	匹配switch 大括号以内的case选择,找到对应的常量选择匹配。
		如果找到对应的匹配选择,执行对应的处理方式。
		如果没有找到匹配选择,执行default里面的处理方式。
	这里【break】关键字用于结束switch case 运行
*/
/*
switch case 演示点菜
	1.北京烤鸭
	2.火锅
	3.擀面皮
	4.烤羊排
	5.佛跳墙(God Use VPN)
*/
import java.util.Scanner;

class Dome4 {
	public static void main(String[]args){
		int choose = 0;
		Scanner sc = new Scanner(System.in);
		
		System.out.println("欢迎");
		System.out.println("1.北京烤鸭");
		System.out.println("2.火锅");
		System.out.println("3.擀面皮");
		System.out.println("4.烤羊排");
		System.out.println("5.佛跳墙(God Use VPN)");
		choose = sc.nextInt();
		
		switch (choose) {
		case 1:
				System.out.println("北京烤鸭 82RMB");
				break;
		case 2:
				System.out.println("火锅 180RMB");
				break;
		case 3:
				System.out.println("擀面皮 5RMB");
				break;
		case 4:
				System.out.println("烤羊排 65RMB");
				break;
		case 5:
				System.out.println("佛跳墙(God Use VPN 998RMB");
				break;
				
		default:
			System.out.println("选择错误!");
			break;
		
		}
	}
}
1.2switch - case使用注意事项
1.在switch - case结构中,有且只能执行case,后者default之后的语句。如果存在case 和default之外的语句,是无法执行的,对于java而言是无效代码。
	unreachable code
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
1.3总结
1.switch case结构if else if 结构类似,两者是可以互通
2.if else if结构中可处理范围性数据,处理的数据区间更加广泛
3.switch case处理数据明确性更强,处理针对性选择比较合适
2.循环
2.1为什么要用循环
生活中很多重复的事情,周而复始

代码中一定存在需要循环的情况,如果不使用循环,会导致以下一些问题
	1.阅读性极差!!!
	2.维护性极差!!!
	3.代码冗余!!!
2.2while循环
while (/*循环条件 true or false*/) {
	// 循环体
	//(循环条件变更)
}
/*
执行流程:
	当前程序运行到while循环结构时,首先判断while之后的小括号里面的循环条件是否为true,如果为true,执行循环体没在回到循环条件判断,直到循环条件为false,终止循环!!!
*/
/*
一周7天
	
*/
class Dome6 {
	public static void main(String[]args) {
		// 定义一个循环使用的变量,int整数类型
		// 变量名 i,初始化数据为1
		int i = 1;
		
		while (i <= 7) {
			System.out.println("吃饭睡觉打豆豆");
			i += 1;
		}
			System.out.println(i);
	}
}
/*
while循环结构
	展示数值 1~ 100
*/
class Dome7 {
	public static void main(String[]args) {
		//定义循环使用的变量,int类型,初始化为1
		int i = 1;
		
		while (i <= 100) {
			System.out.println(i);
			i += 1;
		}
	}
}
/*
while 循环类型
	展示数值 1~100所有数值的和
*/
class Dome8 {
	public static void main(String[]args){
		//循环使用的变量,int类型,变量名i初始化为1
		int i = 1;
		int sum = 0;
		
		while (i <= 100) {
			sum += i;
			i += 1;	
		}
		
		System.out.println(sum);
	}
}
2.3 do - while循环
do {
	//循环体
	//循环条件变更
}while (/*循环条件判断*/);
/*
执行流程:
	当程序执行到do - while循环结构时,首先执行一次循环体(循环条件变更),再来判断while中循环条件判断是否为true,如果为true,继续执行,如果为false,终止循环。
	【注意】
		1.while(condition):::::::::这里是英文分号
		2.执行do - while 需要明确第一次循环会不会存在隐患
*/
/*
使用do -
*/
class Dome9 {
	public static void main(String[]args){
		/*
		定义一个循环变量i,int
		*/
			int i = 1;
		do {
			if (i % 2 == 0) {
				System.out.println(i);
			}
			
			int i += 1;
		} while (i <= 100);
		
		int j = 2;
		
		do {
				System.out.println(j);
			j += 2;
		} while (j <= 100);
		
	}
}
/*
使用do - while循环
	完成 1~ 150 的和
*/
class Dome10 {
	public static void main(String[]args) {
		int i = 1;
		int sum = 0;
		
		do {
			sum += i;
			i += 1;
		}while(i <= 150);
		
		System.out.println("sum =" + sum);
	}
}
/*
使用 do- while循环
	展示大写字母 A~Z
*/
class Dome11 {
	public static void main(String[]args){
		char ch = 'A';
		
		do {
			System.out.println("ch =" + ch);
			ch += 1;
		}while(ch <= 'Z');
		
	}
}
/*
使用
*/
class Dome12{
	public static void main(String[]args){
		char ch = 'a';
		
		do {
			System.out.println(ch);
			ch += 1;
		} while (ch <= 'z');
	}
}
/*while 点菜系统*/
import java.util Scanner;
class Dome13{
	public static void main(String[]args) {
		//这里需要一个变量 int类型
		int chooose = 0;
		int total = 0;
		
		Scanner sc = new Scanner (System.in);
		/*
		用户输入6 终止循环,
		*/
		while (choose != 6) {
			System.out.println("欢迎来到SAORUI老酒馆");
			System.out.println("1.青岛啤酒 8rmb");
			System.out.println("2.野格 88rmb");
			System.out.println("3.激昂小白 10rmb");
			System.out.println("4.乌苏 6rmb");
			System.out.println("5.1664 18rmb");
			System.out.println("6.下单");
			choose = sc.nextInt();
			
			switch (choose) {
		case 1:
				System.out.println("欢迎来到SAORUI老酒馆");
				break;
		case 2:
				System.out.println("火锅 180RMB");
				break;
		case 3:
				System.out.println("擀面皮 5RMB");
				break;
		case 4:
				System.out.println("烤羊排 65RMB");
				break;
		case 5:
				System.out.println("佛跳墙(God Use VPN 998RMB");
				break;
				
		default:
			System.out.println("选择错误!");
		}	
			
	}
}

2.4 循环和分支的嵌套

完成一个点菜功能
    while
        
    do - while    
	
/*
使用while循环,完成一个点菜系统
*/
import java.util.Scanner;

class Dome14b {
	public static void main(String[]args) {
		int choose = 0;
		int total = 0;
		Scanner sc = new Scanner(System.in);
		System.out.println("欢迎光临");
		System.out.println("1. 北京烤鸭 82RMB");
		System.out.println("2. 火锅 180RMB");
		System.out.println("3. 擀面皮 5RMB");
		System.out.println("4. 烤羊排 65RMB");
		System.out.println("5. 佛跳墙(God Use VPN 998RMB");
		System.out.println("6. 下单");
		
		
		do{
			choose =sc.nextInt();
			
			switch (choose) {
		case 1:
				System.out.println("北京烤鸭 82RMB");
				total += 82;
				break;
		case 2:
				System.out.println("火锅 180RMB");
				total += 180;
				break;
		case 3:
				System.out.println("擀面皮 5RMB");
				total += 5;
				break;
		case 4:
				System.out.println("烤羊排 65RMB");
				total += 65;
				break;
		case 5:
				System.out.println("佛跳墙(God Use VPN 998RMB");
				total += 998;
				break;
		case 6:
				System.out.println("下单");
				break;
		default:
			System.out.println("选择错误!");
			break;
			}
		}while (choose != 6);
		System.out.println("消费为 :" + total);
	}
}
总结
1.循环过程中最核心的内容就是循环变量,需要对于循环变量的执行的过程中数值变量完全掌握!!!如果无法明确循环次数,循环变量的值,循环的过程,可以将循环代码中变量的变更过程记录。

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

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

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

5.然后在while 和 do while之间考虑使用的情况下,一般推荐使用while循环。到那时不代表do while没有实际的使用效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值