Java小白 学习心得 和 笔记总结(第二天)---------if分支结构(判断是否是闰年)-----人机交互(Scanner和用户友好性提示)

if分支结构

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

顺序结构
代码从上到下,从左至右执行

分支结构
代码满足不同的条件,执行不同的程序,输出不同的结果

循环结构
代码中存在需要多次执行的情况,这里会用到循环结构

2. 分支结构

2.1 if 分支结构

if ( 条件判断 ) {
语句体
}

执行流程:
当程序运行到if结构时,首先执行条件判断,条件判断的结构时一个boolean类型,
如果条件判断为true,执行语句体,为false,不能执行语句体。
最后执行大括号以外

假设你有十块钱,煎饼果子五块钱一个,用if分支结构语句模拟一下卖煎饼的过程。

/*
if分支结构的演示:
		假设你有十块钱,煎饼果子五块钱一个,用if分支结构语句模拟一下卖煎饼的过程。
*/
class Demos{
	public static void main(String[] args){
		int money = 10;
		if (money >= 5){
			System.out.println("煎饼果子来一个!");
			money -= 5;
			System.out.println("余额" + money + "元");
		}
		System.out.println("大括号之后的代码。");
	}
}

判断一个字符是不是大写的英文字母?

class Demo1{
	/*
	判断一个字符是不是大写的英文字母?
	*/
	public static void main(String[] args){
		
		//首先定义一个字符char的变量
		char ch = '我';
		
		//然后用if分支结构来判断是不是大写英文字母
		if (ch >= 'A' && ch <= 'Z'){
			System.out.println("这是一个大写的英文字母!");
		}
		
		//接下来继续按照顺序结构执行代码
		System.out.println("接下来执行这一行代码!");
		
	}
}

判断一个字符是不是英文字符?

/*
	判断一个字符是不是英文字符?
*/
class Demo2{
	public static void main(String[] args){
		
		//首先,需要一个字符类型的变量,并且初始化
		char ch = '1';
		
		//条件 ch >= 'A' && ch <='Z' 或者 ch >= 'a' && ch <= 'z'
		if ( ( ch >= 'A' && ch <='Z' ) || ( ch >= 'a' && ch <= 'z' ))
		{
			System.out.println("这是一个英文字母!");
		}
		
		//然后继续按照顺序结构执行这一段代码
		System.out.println("执行这一段代码!");
	}
}

判断一个年份是不是闰年?

class Demo3{
	/*
	判断一个年份是不是闰年?
	判断是不是闰年的条件是:
	能被4整除,但不能被100整除,或者能被400整除 的年份就是闰年
	*/
	public static void main(String[] args){
		
		//年份是整数,所以变量的数据类型是int类型
		int year = 2008;
		
		//条件是 ( year % 4 == 0 && year != 0 ) || year % 400 == 0 
		if (( year % 4 == 0 && year != 0 ) || year % 400 == 0 )
		{
			System.out.println("是闰年");
		}
		
		//接下来按照顺序结构执行这一行代码
		Sytem.out.println("接下来执行这一行代码!");
	}
}
if else 分支结构

/*
if else 分支结构:
*/
if ( 条件判断 ) {
ture语句体
} else {
false语句体
}

执行流程:
代码执行到if else 结构运行,首先判断if之后的条件判断为ture,执行ture语句体,如果条件判断为false,执行false语句体。

工资判断:
月收入5000元以上的要缴税
月收入5000元以下的不需要缴税

/*
工资判断:
	月收入5000元以上的要缴税
	月收入5000元以下的不需要缴税
*/
class Demo4{
	public static void main(String[] args){
		
		//工资是一个浮点类型的数据,这里使用的是double类型
		double salary = 5800.0;
		
		if (salary > 5000){
			System.out.println("需要缴税");
		}else{
			System.out.println("不需要缴税");
		}
	}
}

判断一个字符是不是数字字符?

/*
判断一个字符是不是数字字符?
*/
class Demo5{
	public static void main(String[] args){
		
		//需要判断的是一个数字字符,这里需要的是一个chare类型的变量
		char ch = '我';
		
		//这里的判断是一个字符数据判断
		if(ch >= '0' && ch <= '9'){
			System.out.println("该字符是一个数字字符");
		}else{
			System.out.println("该字符不是一个数字字符");
		}
	}
}
if else if 分支结构

if ( 条件1 ){
处理方式1
}else if(条件2) {
处理方式2
}else if (条件3) {
处理方式3
}else {
无匹配最终处理方式
}

执行流程:
代码执行带if else if结构,从上至下匹配if之后小括号里边的内容,条件匹配成功,执行对应的处理方式,结束分支结构运行。
如果没有任何一个条件匹配,执行else中的语句,也会终止条件匹配。
【注意】
else if 个数没有限制,可以有多个!

判断用户购物VIP等级
100 ~ 1000 铜牌会员
1001 ~ 5000 银牌会员
5001 ~ 10000 金牌牌会员
10001 ~ 50000 钻石会员
50001 黑钻会员

/*
用户购物VIP等级
	100 ~ 1000 铜牌会员
	1001 ~ 5000 银牌会员
	5001 ~ 10000 金牌牌会员	
	10001 ~ 50000 钻石会员	
	50001  黑钻会员	
*/
class Demo6{
	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("黑钻会员");
		}
	}
}

划分学生的成绩的等级
条件:
90 ~ 100 优秀
80 ~ 90 良好
70 ~ 80 中等
60 ~ 70 及格
60 以下 不及格

/*
学生成绩的等级划分:
	90 ~ 100 优秀
	80 ~ 90 良好
	70 ~ 80 中等
	60 ~ 70 及格
	60 以下 不及格
*/
class Demo7{
	public static void main(String[] args){
		//因为成绩考虑在0.5的情况,需要使用浮点数据类型
		float score = 59F;
		
		//成绩等级的判定
		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("不及格");
		}
	}
}

打玩这些代码之后你是不是有许多的疑惑?
这么麻烦?
每次只能修改代码执行一个学生的成绩的查询?
而且要是万一代码打错了101 或者 -1 怎么办?

【补充知识】

Scanner
Scanner是Java中提供的用于从控制台输入数据到代码中的一种方式。
Scanner 使用流程
1.导包
固定格式:
import java.until.Scanner;
放在class代码上一行
2.固定格式:【初期只了解这么多]
Scanner sc = new Scanner(System.in)
3.选择执行对应的方法,从键盘上获取对应的数据
获取int类型 int类型的变量 = sc.nextTnt();
获取float类型 float类型的变量 = sc.nextFloat();
获取double类型 double 类型的变量=sc.nextDouble
获取char 类型 char类型的变量 = sc.nextLine().charAt(0);

【补充知识 用户友好性】

代码运行需要站着用户的角度来思考问题。用户进行操作时,需要给予用户足够的提示和引导,告知用户当前操作如何完成,考虑代码的友好性!!

【补充知识 用户输入数据的合理性判断】
还是用上边学生成绩这个例子

//导包操作
import java.util.Scanner;

class Demo8{
	public static void main(String[] args){
		//先设置变量这里用浮点型
		float score = 0.0F;
		
		//需要一个Scanner
		Scanner sc = new Scanner(System.in);
		
		//提示用户操作
		System.out.println("请输入学生的成绩");
		score = sc.nextFloat();
		
		//验证用户输入数据的合法性
		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("不及格");
		}
	}
}
发布了4 篇原创文章 · 获赞 6 · 访问量 198

猜你喜欢

转载自blog.csdn.net/qq_43571809/article/details/105564642
今日推荐