分支结构和循环结构

分支结构和循环结构

1.分支结构
1.1 switch case

switch case的结构是一个精确的if else if

//格式
switch (/*选项数据存储变量*/) {
    case 常量1:
        //处理方式1;
     	break;
    case 常量2:
        //处理方式2;
        break;
    case 常量3:
        //处理方式3;
        break;
    default:
        //所有的匹配项没有对应情况,最终处理方式
        break;        
}
/*
要求:
	1.case 之后的常量数据类型目前限制在int
	2.case 之后的常量数据不可以重复,具有唯一性。
	3.Switch case 结构中可以执行的内容,有且只有在case之后或default之后
	4.default可以省略,但是如果代码中没有匹配的选项,代码没有任何反馈~~~~
	【重点强调】在 阿里巴巴 开发规范中,Switch case结构,default不允许省略!!!!
	
	
执行流程:
	代码执行Switch case结构,首先取值Switch 之后变量数据内容,与case之后常量进行匹配,如果有对应匹配项,按照对应处理方式执行,如果没有任何一个case 匹配,执行default之后的代码
*/

1.2Switch case 代码演示

//switch case 案例代码演示
public class Demo2 {
	public static void main(String[] args) {
		//choose  选择,选项
		int choose = 3;
		System.out.println("开业大酬宾!!!");
		System.out.println("1.胡辣汤");
		System.out.println("2.老母鸡汤");
		System.out.println("3.牛肉汤");
		System.out.println("4.牛肉汤");
		System.out.println();
		
		//switch 小括号内就是存储当前选项的变量,目前使用 choose
		switch (choose) {
			//switch case 结构中,可执行的内容,有且只有在case之后和default之后
			//System.out.println("开业大酬宾!!!");
			case 1:
				System.out.println("胡辣汤 8RMB");
				break;
			case 2:
				System.out.println("老母鸡汤 12RMB");
				break;
			case 3:
				System.out.println("牛肉汤 15RMB");
				break;
			case 4:
				System.out.println("羊肉汤 20RMB");
				break;
			default:
				System.out.println("你的选择有误");
				break;
			
		}
	}
}

【补充知识点】

关注点:
	目前Switch case 案例代码,如果想要执行其他的数据结果,要求用户完成以下操作
	1.修改源代码对应数据
	2.保存代码
	3.编译代码
	4.执行程序
	对于普通用户而言是不可能的!!!用户期望的效果是代码运行,用户提供数据,代码执行判断情况,给予结果反馈,不需要考虑代码执行,编译,运行过程。【只要求用户提供数据】
	
	针对当前代码而言,我们缺少可以获取用户提供数据的方式。【思想很重要】
	
【注意】以下知识点不重要,只是勉强完成目前代码所需,如果确实需要,请复制粘贴我的代码,不要学会,不要自己写。

目前考虑到只能使用终端来获取用户数据形式,并且终端获取数据对于后期开发没有任何实际价值。
Java中的扫描器
使用流程:
	1.在public class 类名之上导包 ==>点技能点
	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.nextChar().charAt(0);
	

【补充知识点 用户操作友好提示/操作引导提示】

用户使用软件,需要在操作过程中,给予用户合理,合情,友好的提示内容,方便用户使用我们的软件

增强用户粘性!!!

【补充知识点】

在实际开发中,用户使用软件极有可能给予软件的的操作是不合法的!!!
需要考虑出现了用户提供的数据异常情况下是否用该给予用户反馈,或者采用其他的处理方式。
用户提交数据需要根据实际情况来进行合法判断,如果不合法,不可以进入正常的数据判断处理过程。中断程序运行,基于用户提示。

import java.util.Scanner;
// if else-if 分支结构代码演示
public class Demo7 {
	public static void main(String[] args) {
		int totalPrice = 0;
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入你的消费金额");
		totalPrice = sc.nextInt();
		if (totalPrice <=0) {
			System.out.println("请输入正确的消费金额");
			System.exit(0);
		}
		//消费金额递增
		
		if (totalPrice >= 666 && totalPrice < 1688) {
			System.out.println("欢迎光临,尊贵的铂金VIP");
		} else if (totalPrice >= 1688 && totalPrice < 3888) {
			System.out.println("欢迎光临,尊贵的黄金VIP");
		} else if (totalPrice >= 3888 && totalPrice <8888) {
			System.out.println("欢迎光临,尊贵的钻石VIP");
		} else if (totalPrice >= 8888) {
			System.out.println("欢迎光临,尊贵的钻紫VIP");
		}else {
			System.out.println("欢迎光临,尊贵的用户");
		}
		
		/*
		消费金额递减
		对比上方的条件,递减方式
			1.if 之后条件内容没有逻辑与判断,效率高
			2.代码量降低
			3.分析条件的罗列关系
			
		*/
		
		
		int price = 1980;
		
		if (price >= 8888) {
			System.out.println("欢迎光临,尊贵的紫钻VIP");
		} else if (price >= 3888) {
			System.out.println("欢迎光临,尊贵的钻石VIP");
		} else if (price >= 1688) {
			System.out.println("欢迎光临,尊贵的黄金VIP");
		} else if (price >= 666){
			System.out.println("欢迎光临,尊贵的金VIP");
		} else {
			System.out.println("欢迎光临,尊贵的用户");
		}
		
	
		System.out.println("期待你的再次光临");
	}
	
}
	

2.循环结构

2.1为什么要循环结构

代码中容易出现重复,复用代码,如果仅通过最为基础的 C V 操作,会导致以下问题
	1.代码冗余
	2.代码阅读性极差
	3.代码维护性很差

2.2while 循环结构

//格式
while (/*循环条件判断 Boolean true or false*/) {
	//循环体
	//循环条件变更
}
/*执行流程:
	代码执行while循环结构,首先判断while之后小括号中的循环条件是否为ture,如果为true执行循环,回到while之后的小括号判断,直到循环条件为false终止循环!!!
	
*/
public class Demo4 {
	public static void main(String[] args) {
		//可维护性!!
		
		int num = 10; //int 类型变量控制循环次数
		
		//while 小括号中, 循环条件必须是 Boolean 类型
		//无限循环解决条件 ctrl + c
		while (num > 0 ) {
			System.out.println("你好");
			num -= 1;
		}
	}
}

2.3 do while 循环结构

//格式
//注意 结果的分号,必须要有!!!
do {
	//循环体
	//循环条件变更
} while (/*循环条件判断 boolean true or false*/);
/*
执行流程:
	代码执行 do while 循环结构, 首先执行一次循环体内容,再来判断 while 之后小括号循环判断条件是否为true,如果为 true 继续执行循环体,如果为 false 终止循环。
*/
//为什么要使用循环
public class Demo4 {
	public static void main(String[] args) {

		//num1可以认为是循环变量
		int num1 = 10;
		do {
			System.out.println("次水果");
			++num1;
		} while (num1 < 20);

	}
}

2.4 for 循环结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-khchYQ3W-1666606603732)(C:\Users\liangzai\AppData\Local\Temp\WeChat Files\ee82b60f7e23d2efeb71cf3dba4dca7.png)]

//格式
for (/*循环条件初始化*/; /*循环条件判断*/;  /*循环条件变更*/) {
//循环体
}
//为什么要使用循环
public class Demo4 {
	public static void main(String[] args) {		
		//for循环演示	
		/*
		【注意】
		for循环小括号中的不同条件使用 ; 分割
		目前的for循环,循环次数为10次
			i 的值在循环过程中的变换 0 1 2 3 4 5 6 7 8 9
		*/
		
		for(int i = 0; i < 10; i++) {
			System.out.println(i);
		}
	}
}
循环第一次
i = 0; 0 < 10 成立,循环可以执行
i++; ==> i = 1
循环第二次
i = 1; 1 < 10 成立,循环可以执行
i++; ==> i = 2
循环第三次
i = 2; 2 < 10 成立,循环可以执行
i++; ==> i = 3
循环第四次
i = 3; 3 < 10 成立,循环可以执行
i++; ==> i = 4
循环第五次
i = 4; 4 < 10 成立,循环可以执行
i++; ==> i = 5
循环第六次
i = 5; 5 < 10 成立,循环可以执行
i++; ==> i = 6
循环第七次
i = 6; 6 < 10 成立,循环可以执行
i++; ==> i = 7
循环第八次
i = 7; 7 < 10 成立,循环可以执行
i++; ==> i = 8
循环第九次
3. 作业
尽力而为,不要钻牛角尖,群里多讨论
i = 8; 8 < 10 成立,循环可以执行
i++; ==> i = 9
循环第十次
i = 9; 9 < 10 成立,循环可以执行
i++; ==> i = 10
循环第十一次:
i = 10; 10 < 10 不成立,循环终止!!!

执行
i++; ==> i = 5
循环第六次
i = 5; 5 < 10 成立,循环可以执行
i++; ==> i = 6
循环第七次
i = 6; 6 < 10 成立,循环可以执行
i++; ==> i = 7
循环第八次
i = 7; 7 < 10 成立,循环可以执行
i++; ==> i = 8
循环第九次
3. 作业
尽力而为,不要钻牛角尖,群里多讨论
i = 8; 8 < 10 成立,循环可以执行
i++; ==> i = 9
循环第十次
i = 9; 9 < 10 成立,循环可以执行
i++; ==> i = 10
循环第十一次:
i = 10; 10 < 10 不成立,循环终止!!!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【1】项目代码完整且功能都验证ok,确保稳定可靠运行后才上传。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 【2】项目主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 【3】项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 【4】如果基础还行,或热爱钻研,可基于此项目进行二次开发,DIY其他不同功能,欢迎交流学习。 【注意】 项目下载解压后,项目名字和项目路径不要用中文,否则可能会出现解析不了的错误,建议解压重命名为英文名字后再运行!有问题私信沟通,祝顺利! 基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值