JavaSE教程-03Java中分支语句与四种进制转换

时间:2023-03-08 16:09:16
JavaSE教程-03Java中分支语句与四种进制转换

一、分支语句

计算机源于生活,程序模拟现实生活,从而服务生活

行为模式

1,起床,刷牙,洗脸,吃早餐,上课,回家,睡觉(顺序性)

2,如果时间不太够,打个滴滴快车,如果时间够,坐个地铁(选择性)

3,上完了一个班,又上一个班(重复性)

计算机源于生活(程序模拟现实生活的)

程序的执行流程

,顺序性

,选择性

,循环性

1.If结构语句

a) if语句

基本语法结构:

if(关系表达式) {

基本语句体

}

执行流程:

首先判断关系表达式看其结果是true还是false

如果是true就执行语句体

如果是false就不执行语句体

案例:老师请吃饭

b) If else

语法结构:

if(关系表达式) {

语句体1;

}else {

语句体2;

}

执行流程

首先判断关系表达式看其结果是true还是false

如果是true就执行语句体1

如果是false就执行语句体2

案例:

老师继续请吃饭

练习:

(本处密码采用int类型来存储,正常密码我们将采用String类型来存储)

设计一个密码校验程序,要求用户通过键盘录入密码,如果密码为123456,则打印“密码输入正确”,否则打印“密码错误,请重新输入密码”

(目前不考虑让用户重复录入的情况)

c) 多重if

语法结构:

if(关系表达式1) {

语句体1;

}else if (关系表达式2) {

语句体2;

}

else if (关系表达式3) {

语句体3;

}



else {

语句体n+1;

}

执行流程:

案例:

按自己的荷包来考虑请什么,分多种情况考虑

练习:

通过键盘录入学生成绩

如果在91-100之间,则打印“A”,

否则如果在81-90之间,则打印“B”,

否则如果在71-80之间,则打印“C”

否则如果在61-70之间,则打印“D”

否则打印“E”

d) 嵌套if

2.Switch结构语句

语法格式等值的判断

switch(表达式) {

case 值1:

语句体1;

break;

case 值2:

语句体2;

break;



default:

语句体n+1;

break;

}

细说语法:

case后面跟的是要和表达式进行比较的值

语句体部分可以是一条或多条语句

break表示中断,结束的意思,用来结束switch语句

default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

案例:

做一个纠结者终结器,解决从周一到周日,一周的吃饭决定难问题,根据用户录入的数字,分别对1-7输出不同的选择项

面试题:

case的值可以相同吗?不可以

default可以省略吗?能

break可以省略吗?不能,会出现穿透

default的位置一定要在最后吗?不一定

面试题:

String类型可以是switch的表达式吗?

关于switch表达式的类型要求:

表达式的取值:byte,short,int,char

JDK5以后可以是枚举

JDK7以后可以是String

练习:做一个菜单界面

3.if vs switch

switch 在等值判断的时候可以使用,其他情况采用if

二、四种进制转换

什么是常量

固定不变的数据

Java中常量分类

字符串,整数,小数,字符,布尔

自定义常量(面向对象部分讲)

进制(笔试题考点)

Java针对整数常量有4种表示形式:

二进制

八进制

十进制

十六进制

什么是进制

就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,
就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。

不同进制的数据组成

二进制

由0,1组成。以0b开头

0b0001

八进制

由0,1,…7组成。以0开头

00001

十进制

由0,1,…9组成。整数默认是十进制的

100

十六进制

由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头

0x0111

技能点1:将其他进制转换为10进制

练习1:0b100,0100, 0x100 这些结果分别是多少?

4,64,256

练习2:0b111,0123, 0x1ef 这些结果分别是多少?

技能点2:将10进制转换为其他进制

练习1

将10转换为2进制

练习2:

10转换为8进制,16进制

16 分别转换为2,8,16各类进制,并用程序验证结果的正确性