JavaSE教程-03Java中分支语句与四种进制转换-思维导图
2017-03-29 20:44
363 查看
思维导图看不清楚时:
1)可以将图片另存为图片,保存在本地来查看
2)右击在新标签中打开放大查看
if(关系表达式) {
基本语句体
}
执行流程:
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
if(关系表达式) {
语句体1;
}else {
语句体2;
}
执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
与if…else类似,判断为true,执行对应语句;否则走下面的代码
细说语法
case后面跟的是要和表达式进行比较的值
语句体部分可以是一条或多条语句
break表示中断,结束的意思,用来结束switch语句
default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
思考
case的值可以相同吗?不可以
default可以省略吗?可以
break可以省略吗?不能,省略会发生break穿透
default的位置一定要在最后吗?不一定,不过一般默认放在后面
关于switch表达式的类型要求
JDK5以前表达式的取值:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String
例如0b0001
例如00001
例如0x0111
2.>> 右移 将操作数的二进制数整体右移指定位数,右移之后的空使用“符号位”来补充
如果是正数,使用“0”补充
如果是负数,使用“1”补充
3.>>> 无符号右移,将操作数的二进制码整体右移指定位数,
右移之后的空位使用“0”来补充
4.& 任何二进制位和0进行&运算,结果是0;和1进行&运算,结果是它本身
5.| 任何二进制位和0进行|运算,结果是原值,和1进行|运算,结果是1
6.^ 任何相同二进制位进行^运算,结果是0;不相同的二进制位运算结果是1
所有数据的位运算都是使用补码进行的,即进行位运算时,需要先得到补码
1.必须要先通过原码–反码–补码,生成补码
2.进行位运算
3.在通过补码–反码–原码,最后得到结果
原码:二进制表示法,即最高位为符号位
“0”表示正数,
“1”表示负数
反码:负数的反码就是对其原码逐个取反(即1变为0,0变为1),但符号位不变。
补码:负数的补码是在其反码的末位加1
正数:原码,反码,补码都相同,因此正数可以直接运算
正数10
原码00001010
反码00001010
补码00001010
负数:原码,反码,补码都不相同
负数-10
原码:10001010
反码:11110101 (符号位不变,其他位取反)
补码:11110110
由补码来求原码
补码-1得到反码
反码逐个取反,得到原码
-10>>2,结果是-3
1)可以将图片另存为图片,保存在本地来查看
2)右击在新标签中打开放大查看
if语句
a) if语句
基本语法结构:if(关系表达式) {
基本语句体
}
执行流程:
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
b) If else
语法结构:if(关系表达式) {
语句体1;
}else {
语句体2;
}
执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
c) 多重if
语法结构:if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
与if…else类似,判断为true,执行对应语句;否则走下面的代码
d) 嵌套if
指在if中再嵌套if的条件语句Switch结构语句
细说语法
case后面跟的是要和表达式进行比较的值
语句体部分可以是一条或多条语句
break表示中断,结束的意思,用来结束switch语句
default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
思考
case的值可以相同吗?不可以
default可以省略吗?可以
break可以省略吗?不能,省略会发生break穿透
default的位置一定要在最后吗?不一定,不过一般默认放在后面
关于switch表达式的类型要求
JDK5以前表达式的取值:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String
if vs switch
switch 适用于等值判断,其他情况采用if四种进制
二进制
由0,1组成。以0b开头例如0b0001
八进制
由0,1,…7组成。以0开头例如00001
十进制
由0,1,…9组成。整数默认是十进制的十六进制
由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头例如0x0111
位运算符
1.<< 左移 将操作数的二进制数整体左移指定位数,左移之后的空使用“0”来补充2.>> 右移 将操作数的二进制数整体右移指定位数,右移之后的空使用“符号位”来补充
如果是正数,使用“0”补充
如果是负数,使用“1”补充
3.>>> 无符号右移,将操作数的二进制码整体右移指定位数,
右移之后的空位使用“0”来补充
4.& 任何二进制位和0进行&运算,结果是0;和1进行&运算,结果是它本身
5.| 任何二进制位和0进行|运算,结果是原值,和1进行|运算,结果是1
6.^ 任何相同二进制位进行^运算,结果是0;不相同的二进制位运算结果是1
扩展:负数的二进制位运算
无论正负数位运算执行步骤所有数据的位运算都是使用补码进行的,即进行位运算时,需要先得到补码
1.必须要先通过原码–反码–补码,生成补码
2.进行位运算
3.在通过补码–反码–原码,最后得到结果
原码:二进制表示法,即最高位为符号位
“0”表示正数,
“1”表示负数
反码:负数的反码就是对其原码逐个取反(即1变为0,0变为1),但符号位不变。
补码:负数的补码是在其反码的末位加1
正数:原码,反码,补码都相同,因此正数可以直接运算
正数10
原码00001010
反码00001010
补码00001010
负数:原码,反码,补码都不相同
负数-10
原码:10001010
反码:11110101 (符号位不变,其他位取反)
补码:11110110
由补码来求原码
补码-1得到反码
反码逐个取反,得到原码
-10>>2,结果是-3
相关文章推荐
- JavaSE教程-04Java中循环语句for,while,do···while-思维导图
- JavaSE教程-04Java中循环语句for,while,do···while-练习2
- 黑马程序员 JavaSE-03 Java基础语法2:语句
- JavaSE教程-04Java中循环语句for,while,do···while-练习
- 03--java中---运算符、进制之间的转换(部分)
- JAVA基础二(java中的注释、ava编程语法基础、java数据类型、数据类型的转换、变量、运算符、分支语句、循环语句)
- 【JAVA学习笔记】03 分支语句
- JavaSE教程-01初识Java-思维导图
- 【JAVA学习笔记】03 分支语句
- java中四种进制的转换
- Java_数据类型与进制转换,包装类
- java 数据类型-进制,unicode强制转换与隐式转换(1)
- Java 基础入门随笔(2) JavaSE版——关键字、进制转换、类型转换
- JAVA进制转换2
- java控制语句之分支语句
- java中各种进制的转换
- java中进制转换的几种实现方式
- JAVA if条件语句,switch多分支结构,与逻辑运算符
- java入门教程-6.6Java try语句的嵌套
- 『03-05』ROM 定制-备份-转换教程(全)