一,每日收获
1.原码、反码、补码(重点 难点)
2.位运算符
3.程序流程控制介绍
4.顺序控制
5.分支控制 if-else
二,新名词与小技巧
三,今天学习中所遇到的困难
一,每日收获
1.原码、反码、补码(重点 难点)
对于有符号的而言: (背过)
1)二进制的最高位是符号位: 0表示正数,1表示负数
2)正数的原码,反码,补码都一样(三码合一)
3)负数的反码=它的原码符号位不变,其它位取反(0->1,1->0)
4)负数的补码=它的反码+1,负数的反码 = 负数的补码-1
5)0的反码,补码都是0
6)java没有无符号数,换言之,java中的数都是有符号的
7)在计算机运算的时候,都是以补码的方式来运算的
8)当我们看运算结果的时候,要看他的原码(重点)
2.位运算符
① java
中有
7
个位运算
(&
、
|
、
^
、
~
、
>>
、
<<
和
>>>)
分别是 按位与&、按位或|、按位异或^,按位取反~,它们的运算规则是,
按位与& : 两位全为1,结果为1,否则为0
按位或| : 两位有一个为1,结果为1,否则为0
按位异或^ : 两位一个为0,一个为1,结果为1,否则为0
比如:2&3=? ~-2=? ~2=? 2|3=? 2^3=?
②
还有
3
个位运算符
>>
、
<<
和
>>> ,
运算规则
:
1)
算术右移
>>
:低位溢出
,
符号位不变
,
并用符号位补溢出的高位
2)
算术左移
<<:
符号位不变
,
低位补
0
3) >>>
逻辑右移也叫无符号右移
,
运算规则是
:
低位溢出,高位补
0
4)
特别说明:没有
<<<
符号
③ 案例
1) int a=1>>2; //1 => 00000001 => 00000000
本质
1 / 2 / 2 =0
2) int c=1<<2; //1 => 00000001 => 00000100
本质
1 * 2 * 2 = 4
3.程序控制结构
在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。
1)
顺序控制
2)
分支控制
3)
循环控制
① 顺序控制
② 分支控制 if-else
让程序有选择的的执行
,
分支控制有三种
1)
单分支
if
2)
双分支
if-else
3)
多分支
if-else if -....-else
1>单分支
2> 双分支
多分支还没学明天学
二,新名词与小技巧
无
三.今天学习中所遇到的问题
原码、反码、补码这一块反复看了很多遍 大部分时间都在想这个问题然后学的少 多分支明天继续学。