MyDay04

本文介绍了Java中的字符转义序列,如表示双引号,表示单引号,\表示反斜杠, 表示换行, 表示制表符。接着讲解了常量的分类,包括数字字面量、字面值常量和final修饰的变量。然后详细阐述了Java的执行语句,包括顺序、分支(if和switch)、循环(for、while、do-while)以及流程控制语句(break、continue、return)。最后通过实例展示了if分支和switch分支的用法,以及如何判断闰年的2月天数,强调了if和switch在不同场景下的应用选择。
摘要由CSDN通过智能技术生成

MyDay04

转移字符

含义:具有特殊意义的字符本身

符号含义
\"表示一个双引号的字符
\’表示一个单引号的字符
\\表示一个斜杠字符
\n表示换行符
\t水平制表
		System.out.print(""); ---- 表示输出
		System.out.println(""); -- 表示输出并换行

常量

含义:程序执行过程中不可发生改变的量
分类:
1.数字字面量:程序中出现的数字
整数数字默认int类型
小数数字默认double类型
2.字面值常量:使用双引号括起来的内容

​ 3.final修饰的变量:最终变量-常量

​ final int i = 100;

​ System.out.prinln(i);

	字面值常量和final修饰的变量:
		存放在常量池中,并且常量池中的数据不能重复,直到项目结束时常量池中的数据才会被情况

Java的执行语句

分类:

​ 1、顺序语句:方法中的代码从上往下执行

​ 2、分支语句:根据某个条件执行某个功能

​ 2.1 、if分支

​ 2.2、switch分支

​ 3、循环语句:某个条件成立就重复就执行某个功能

​ 3.1、for循环

​ 3.2、while循环

​ 3.3、do-while循环

​ 4、特殊语句的流程控制语句

​ 4.1、break

​ 4.2、contiue

​ 4.3、return

​ 4.4、lable

简单的if分支语句

语法结构:
if(表达式){
…代码块…
}

		理解:
			表达式的结果必须是boolean类型
				true - 执行代码块
				false- 跳过if分支

if(表达式){}依据表达式的结果可进入,也可以不进入

复杂的if分支

案例一: 人类的健康值在20-25的数值内为健康
(健康值算法为:体重(Kg) / 身高(米)的平方)

		Scanner scan = new Scanner(System.in);
		System.out.println("请输入体重:");
		double weight = scan.nextDouble();
		System.out.println("请输入身高:");
		double height = scan.nextDouble();
		double health = weight/(height*height);
		if((health>20)&&(health<25)){
			System.out.println("小护士说:\"健康,保持现有状态\"");
		}

案例二:古川伊织Java成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者Java成绩等于100分,音乐成绩大于70分,老师也可以奖励他。

		Scanner scan = new Scanner(System.in);
		System.out.println("请输入Java成绩:");
		double javaScore = scan.nextDouble();
		System.out.println("请输入音乐成绩:");
		double musicScore = scan.nextDouble();
		if((javaScore>98&&musicScore>80)||(javaScore==100&&musicScore>70)){
			System.out.println("奖励古川伊织法拉利玩具赛车一辆");
		}

​ if可以判断区间
​ if可以判断复杂条件

if…else…语句

语法结构:
if(表达式){
…代码块…
}else{
…else代码块…
}

		理解:
			表达式的结果必须是boolean类型
				true - 执行代码块
				false- 执行else代码块

小结:
if…else…二选一的情况下使用

多重if

	语法结构:
				if(表达式1){
					...代码块1...
					
				}else if(表达式2){
					...代码块2...
					
				}else if(表达式n){
					...代码块n...
					
				}else{
					...else代码块...
				}
				

理解:
表达式的结果必须是boolean类型
从上往下判断,哪个表达式先成立(true),就执行对应的代码块
如果表达式都不成立,就执行else代码块
注意:else{}根据需求可写可不写

案例一:人类的健康值在
				15-20的数值内为偏瘦
				20-25的数值内为健康
				25-30的数值内为偏胖
				(健康值算法为:体重(Kg/ 身高(米)的平方)
				Scanner scan = new Scanner(System.in);
				System.out.println("请输入体重:");
				double weight = scan.nextDouble();
				System.out.println("请输入身高:");
				double height = scan.nextDouble();
				double health = weight/(height*height);
				if(health > 15 && health <= 20){
					System.out.println("小护士说:\"偏瘦,多喝酒、多熬夜、多吃宵夜\"");
				}else if(health > 20 && health <= 25){
					System.out.println("小护士说:\"健康,保持现有状态\"");
				}else if(health > 25 && health <= 30){
					System.out.println("小护士说:\"偏胖,多做运动,嘿嘿嘿\"");
				}else{
					System.out.println("小护士说:\"健康值异常,请到医院进行详细检查\"");
				}
案例二:通过键盘录入学生成绩
				如果在90-100之间,则打印“A”,
				否则如果在80-90之间,则打印“B”,
				否则如果在70-80之间,则打印“C”
				否则如果在60-70之间,则打印“D”
				否则如果在0-60之间,则打印“E”
				否则打印“成绩异常”
				System.out.println("请输入成绩:");
				double score = scan.nextDouble();
				if(score >= 90 && score <= 100){
					System.out.println("A");
				}else if(score >= 80 && score < 90){
					System.out.println("B");
				}else if(score >= 70 && score < 80){
					System.out.println("C");
				}else if(score >= 60 && score < 70){
					System.out.println("D");
				}else if(score >= 0 && score < 60){
					System.out.println("E");
				}else{
					System.out.println("成绩异常");
				}

多重if在多选一的情况下使用

嵌套if

总结if:
1.if可以判断区间,也可以判断复杂条件,只要表达式的结果为boolean类型的值就ok
2.if(){} 要么进入要么不进入
3.if(){}else{} 二选一的情况下使用
4.if(){}else if(){}else{} 多选一的情况下使用
5.if支持无限层嵌套(嵌套三次以上可读性直线下降)

switch分支的使用

语法结构:
				switch(表达式){
					case1:
						...代码块1...
					break;
					case2:
						...代码块2...
					break;
					case 值n:
						...代码块n...
					break;
					default:
						...default代码块...
					break;
				}

理解:
表达式的结果分别给值1、值2、值n比较
哪个相同就执行对应的代码块
如果都不相同就执行default代码块
default代码根据需求可写可不写

switch的使用

面试题:
			case的值可以相同吗?
				不可以
			
			default可以省略吗?
				可以
			
			break可以省略吗?
				可以
			
			default的位置一定要在最后吗?
				不一定
			
			表达式值的类型可以是什么?
				byteshortintchar、枚举(JDK1.5)、字符串(JDK1.7)
				
			switch底层判断原理?
				switch中判断的数据类型只有int
				byte  -- 自动向上转型成int
				short -- 自动向上转型成int
				char  -- 获取字符的Unicode码
				枚举  -- 获取对象在枚举中的序号
				字符串-- 获取字符串的hash码
/**
需求:输入年和月,输出当月的天数
		分析:
			1、3、5、7、8、10、12月 -- 31天
			4、6、9、11月 -- 30天
			2月 -- 闰年29天、平年28天
			闰年条件:年份被4整除且不能被100整除 或者 年份被400整除
*/
import java.util.Scanner;
public class Test04{
	public static void main(String[] args){
		Scanner mlxg = new Scanner(System.in);
		System.out.println("请输入年份:");
		int year = mlxg.nextInt();
		System.out.println("请输入当年的月份");
		int month = mlxg.nextInt();
		int day=0;
		switch(month){
			case 1:case 3:case 5:case 7:case 8:case 10:case 12:
			day=31;
			break;
			case 4:case 6:case 19:case 11:
			day=30;
			break;
			case 2:
				if(year%4==0&&year%100==0){
					day = 29;
				}else{
					day = 28;
				}
			break;
			default:
				System.out.println("不存在当前月份");
			break;
		}
		System.out.println("您输入的年份和月份对应的天数为"+ day);
	}	
}

知识点:if vs switch
表达式的区别:
if:boolean
switch:byte、short、int、char、枚举、字符串
应用场景的区别:
判断区间、复杂条件 选 if
判断单个值是否相同 选 switch

Java中的循环

/**
		知识点:Java中的循环
			理解:条件成立,就重复性的执行某个功能
			好处:解决代码的冗余
			分类:
				1.for循环
				2.while循环
				3.do-while循环
		知识点:for循环
			语法结构:
				for(表达式1;表达式2;表达式3){
					...代码块/循环体...
				}
			理解:
				表达式1 -- 初始化变量
				表达式2 -- 判断条件(结果必须是boolean)
				表达式3 -- 更新变量
			执行步骤:
				1.初始化变量
				2.判断条件(结果必须是boolean)
					2.1 true  - 执行代码块,再更新变量,最后重复第2个步骤
					2.2 false - 跳出整个循环语句
		小结:
			1.初始化变量不一定从0开始,具体根据需求而定
			2.更新条件不一定是++,具体根据需求而定
			3.循环中声明的变量的作用域只在该循环中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值