Java_Day4:学习笔记和收获

分支结构

1. 代码运行中的常见结构

「顺序结构」
	代码从上到下,从左至右执行,最基本原则
		
「分支结构」
	选择不同的分支,结果不同
	代码满足不同的条件,执行不同的结果
		
「循环结构」
	代码中存在多次执行的情况,这里就会用到循环结构
		

2. 分支结构

2.1 if分支结构
if (/*条件判断*/) {
  	//语句体
}
/*执行流程:
	当前程序运行到if结构时,首先进行条件判断,条件判断的结果是一个 boolean 类型的,如果条件判断为 true,执行语句体,为false,不能执行语句体
*/

/* if 分支结构演示 */
class Demo2 {
	public static void main(String[] args) {
		// 假设你兜里有10块钱
		// int money = 10;
		
		// 假设你兜里有1块钱
		int money = 10;
		
		// money > 5 是一个条件判断,结果是一个boolean
		if (money >= 5) {
			System.out.println("煎饼果子来一套");
			money -= 5;
			
			System.out.println("余额 :" + money + "元");
		}
		
		System.out.println("if大括号之外的代码~~~~");
	}
}
2.2 if else 分支结构
//if 分支中只能处理条件满足的情况,条件不满足时没有任何处理语句

//if else 分支结构

if(/*条件判断*/) {
 // true语句体
} else {
  // false语句体
}

/*
执行流程:
	代码执行到 if else 结构运行,首先判断 if 之后的条件,如果判断条件为 true,执行 true 语句体,如果判断条件为 false,执行 false 语句体
	世界上最遥远的距离是你在 if 里,我在 else 里
*/

/*
if else 分支结构代码演示
1. 工资判断
	月收入5000以上缴税
	月收入5000以下不需要缴税
*/
class Demo6 {
	public static void main(String[] args) {
		// 工资是一个浮点类型数据,这里使用double类型
		double salary = 4999.0;
		
		/*
		语句体:
			大括号以内的内容,也可以称之为代码块
		*/
		if (salary > 5000) {
			System.out.println("我为国家做贡献");
		} else {
			System.out.println("我会继续努力,为国家做贡献");
		}
	}
}
2.3 if else if 分支结构
/*
学生成绩等级划分:
	90~100 优秀
	70~89  良好
	60~69  合格
	0~59   不及格
*/
if() {
  //处理方式1
} else if {
  //处理方式2
} else if {
  //处理方式3
} else if {
  //处理方式4
} else {
  //无匹配香最终处理方式
}
/*
	处理流程:
		代码执行到 if else if 结构,从上至下,匹配 if 之后小括号里面的内容,条件匹配成功,执行对应的处理方式,结束分支结构运行,如果没有任何一个条件匹配,则执行 else 中的语句,也会终止匹配
	【注意】
		else if 语句可以有多个,没有个数限制
*/

/*
if else if 分支结构演示
用户购物VIP等级
	100 ~ 1000 铜牌会员
	1001 ~ 5000 银牌会员
	5001 ~ 10000 金牌牌会员	
	10001 ~ 50000 钻石会员	
	50001  黑钻会员	
*/
class Demo9 {
	public static void main(String[] args) {
		// 用户的消费数据按照int类型考虑
		int money = 50001;
		
		if (money >= 100 && money <= 1000) {
			System.out.println("铜牌会员");
		} else if (money > 1000 && money <= 5000) {
			System.out.println("银牌会员");
		} else if (money > 5000 && money <= 10000) {
			System.out.println("金牌会员");
		} else if (money > 10000 && money <= 50000) {
			System.out.println("钻石会员");
		} else if (money > 50000) {
			System.out.println("黑钻会员");
		} else {
			System.out.println("非会员...");
		}
	}
}
【补充知识点1:Scanner】
	以上代码每一次的结果都是需要用户修改代码,保存,重新编译后才能进行执行得到结果,用户体验不行

Scanner 是 Java 中提供的从控制台输入数据到代码中的一种方式,存在一些弊端,容易导致一些错误

Scanner 使用流程:
	1.点技能点,Java程序本身是没有直接使用 Scannner 的能力,这里需要点技能点,官网操作叫做导包
	固定格式:
		import java.util.Scanner;
		放在 class 代码上一行
	2.需要得到一个 Scannner 变量
	固定格式:
		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)
【补充知识点2:用户友好性提升】
	代码运行需要站在用户的角度来思考问题,用户操作时,需要给用户提供足够的提示和引导,告知用户当前操作如何完成,考虑代码的友好性
	用户粘性问题!!
【补充知识点3:用户输入数据合法性判断】
	就算告诉用户数据的输入范围,用户在使用的过程中依然有输入错误的情况。需要对用户输入数据进行合法性判断,如果用户输入的数据符合判断的逻辑需求,进入数据处理过程。如果不符合要求,直接终止程序!!!
/*
学生成绩的等级划分:
	90 ~ 100 秀儿
	80 ~ 90 良儿
	70 ~ 80 中儿
	60 ~ 70 格儿
	60 以下 让你爹穿着拖鞋来学校一趟
*/

// 导包,让当前Java代码可以使用Scanner
import java.util.Scanner;

class Demo10 {
	public static void main(String[] args) {
		/*
		成绩考虑存在0.5的情况,需要使用浮点类型数据
		这里采用float类型,这里赋值一个初值
		*/
		float score = 0.0F;
	
		// 需要得到一个Scanner的变量
		Scanner sc = new Scanner(System.in);
		
		/* 提示用户操作 */
		System.out.println("请输入学生的成绩1 ~ 100:");
		score = sc.nextFloat();
		
		/* 
		验证用户输入数据的合法性 
		如果用户输入的数据不合法,终止程序!!!
		不合法: 输入数据 > 100 或者 < 0
		*/
		if (score > 100 || score < 0) {
			System.out.println("输入数据不合法!!!");
			// 程序退出
			System.exit(0);
		}
		
		/* 成绩等级判断 */
		if (score >= 90 && score <= 100) {
			System.out.println("秀儿");
		} else if (score >= 80) {
			System.out.println("良儿");
		} else if (score >= 70) {
			System.out.println("中儿");
		} else if (score >= 60) {
			System.out.println("格儿");
		} else {
			System.out.println("让你爹穿着拖鞋来学校一趟");
		} 
	}
}

3. 总结

分支结构用于处理代码中出现的一些需要判断,并且按按条件处理的情况!!!
	1. 条件约束考虑清楚
	2. 处理的过程考虑清楚
	3. 数据类型选择

4.收获

拼搏到无能为力,坚持到感动自己
	1.仔细回顾了昨天的自减自增的一些运算以及一些复杂变式,能够娴熟的运用了
	2.掌握了3种分支结构(【if】、【if else】、【if else if】),并且可以熟练运用了
	3.了解到了第一个类包【Scanner】,能够进行一些简单的操作
	4.代码运行需要站在用户的角度来思考问题,用户操作时,需要给用户提供足够的提示和引导,告知用户当前操作如何完成,考虑代码的友好性
	5.就算告诉用户数据的输入范围,用户在使用的过程中依然有输入错误的情况。需要对用户输入数据进行合法性判断
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值