栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java基础 Day06

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java基础 Day06

1、switch的使用

语法结构:

switch(表达式){
					case 值1:
						...代码块1...
					break;
					case 值2:
						...代码块2...
					break;
					case 值n:
						...代码块n...
					break;
					default:
						...default代码块...
					break;
				}

表达式的结果:byte、short、char、int、字符串(JDK1.7)、枚举(JDK1.5)
表达式的结果分别于值1、值2、值n比较,哪个相等就执行对应的代码块
break表示跳出整个switch分支
default表示表达式的结果分别于值1、值2、值n比较,都不匹配的情况,就执行default代码块
default代码块根据需求可写可不写

switch的底层原理
switch表达式的结果:byte、short、char、int、字符串(JDK1.7)、枚举(JDK1.5)
底层都是将byte、short、char、字符串(JDK1.7)、枚举(JDK1.5)转换为int类型,再做比较
byte 向上转型成 int
short 向上转型成 int
char 向上转型成 int
字符串 获取到字符串的hash值 int
枚举 获取枚举类对象里的数值 int

与if的区别:
if:表达式只能是boolean
switch:表达式可以是byte、short、int、char、字符串、枚举

2、循环语句

一、for循环:
语法结构:

for(表达式1;表达式2;表达式3){
					...代码块/循环体...
				}

表达式1 - 初始化变量
表达式2 - 判断条件(判断条件的结果必须是boolean类型,true执行代码块,false-跳出整个循环语句)
表达式3 - 更新变量

执行步骤:
1.初始化变量
2.判断条件:
true - 执行代码块,再更新变量,重复第2个步骤
false- 跳出整个循环语句
变形理解:

int i = 0;
for(;i<5;){
	System.out.println(i);
	i++;//在这里写++i与i++没有区别,因为分号表示执行语句的结束,不管先加还是后加都给我加
}	
System.out.println(i);

二、while循环
语法结构:

while(表达式){
...代码块/循环体...
}

理解:
表达式的结果必须是boolean类型
true - 循环
false- 跳出循环
三、do…while 循环

do{
	...代码块/循环体...
}while(表达式);

理解:
开始先执行一遍代码块,再去判断表达式
表达式的结果必须是boolean类型
true - 循环
false- 跳出循环

for vs while vs do-while
1、表达式的区别:
for(初始化变量;判断条件;更新变量){}
while(判断条件){}
do{}while(判断条件)
共同点:判断条件都是boolean值,true-循环,false-跳出循环
2、执行顺序的区别:
for:先判断再执行
while:先判断再执行
do-while:先执行一遍,再判断
3、应用场景的区别:
循环次数确定时,考虑使用for
循环次数不确定时,先判断再执行,考虑使用while
循环次数不确定时,先执行一遍再判断,考虑使用do-while

3、特殊的流程控制语句

1、break
作用:作用在循环中,表示跳出整个循环语句

2、continue
作用:作用在循环中,表示跳过剩余循环体
3、return
作用:单独编写,表示结束当前方法
4.lable
作用:给循环做标记(给循环取名字)
例:
需求:嵌套for循环,外层循环5次,内层循环3次,
当外层循环到第3次时,在内层循环中结束掉外层循环

a:for(int i = 1;i<=5;i++){
		for(int j = 1;j<=3;j++){
		System.out.println(i + " -- " + j);
		if(i == 3){
		break a;
		}
  }
}
补充理解:浮点类型的存储

7.125 (十进制)----111.001(二进制)
若存储为111.001整数部分就要存储3位
111.001=1.11001 * 2的平方
这样转换之后整数部分就只剩1位了,就是多了指数部分:平方,也就是2,这个2就是要移动的位数,二进制乘2相当与左移1位,乘2的平方就相当于左移2位,这样得到整数部分1,小数部分(尾数部分)11001,指数部分2,那么阶数=2+127=129,129的二进制10000001作为阶码部分,这样存储的整数部分就只有1位了,而浮点数都可以用1.xxxx*2的n次方形式表示,那么这个整数1都可以不用存储,只需要存储小数部分和阶数就可以了,从而节约存储空间,也是为啥单精度浮点数占4字节,表示的范围却比长整型还要大.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/782041.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号