运算符|位运算

九种运算符

  1. 算术运算符:+、-、、/、%、++、–
  2. 关系运算符:==、!=、>、<、>=、<=
  3. 逻辑运算符:&、!、|、&&、||
  4. 按位运算符:&、|、^、~、<<、>>、>>>(要求必须是整数,否则会出现编译错误)
  5. 赋值运算符: =、+=、-=、=、/=、%=、&=、|=、^=、<<=、>>=、>>>=
  6. 条件运算符:?:(三目运算符)
  7. instanceof运算符:instanceof
  8. new运算符:new
  9. 运算符:“.” 
  10. 运算符有有优先级,不确定的添加小括号,会先执行

基本的赋值运算符:=

  • 扩展赋值运算符:(无论损失多少精度都不会改变运算的数据类型,哪怕精度损失)
  • +=、-=、*=、/=、%=
  • 以下很少用:>>=、<<=、>>>=、&=、|=、^=、~=

条件运算符:

  • 1.语法格式:布尔表达式 ?表达式1 : 表达式2;
  • 2.运算原理
    • 当布尔表达式结果是true的时候,将表达式1的执行结果作为整个表达式的执行结果
    • 当布尔表达式结果是false的时候,将表达式1的执行结果作为整个表达式的执行结果

位运算

过程:移动之前先进行原码、反码、补码的运算之后将补码进行移动,然后将移动之后得到的数在转回原码


左移<<运算符

二进制左移n位,是原来的2^n倍。如128左移三位–》128*2^3=1024
注意:左移运算符不会改变操作数的符号,左移后,右补0。左移运算符会对溢出进行截断

右移>>运算符

  1. 二进制右移n位:是原来的2^-n倍
  2. 注意:右移运算符对正数、负数和零的处理方式不同
  3. 对于正数,符号位不变,右移时左补0;
  4. 对于负数,符号位不变,右移时左补1;
  5. 对于零,右移运算符操作后结果仍为零。
  6. 右移运算符会对溢出进行截断

无符号右移>>>

无符号右移运算符对溢出进行截断。
将一个二进制数的所有位向右移动指定的位数,而不考虑符号位。无符号右移运算符的运算规则如下:
1.将一个二进制数右移,相当于将数值除于2的n次方,并将最高位填充为0.
2.任意一个数字经过无符号右移之后,最终结果一定是非负数(0或正整数)当无符号右移之后,左侧补0(不管是正数还是负数,都是补零)

按位运算符:

  • 按位与运算符:&
  • 1&1->1
  • 1&0->0
  • 0&1->0
  • 0&0->0
  • 按位或运算符:|
  • 1|1->1
  • 1|0->1
  • 0|1->1
  • 0|0->0
  • 按位异或:^(按位异或运算符具有自反性)
  • 1^1->0
  • 1^0->1
  • 0^1->1
  • 0^0->0
  • 按位取反:~ 取反后得到的数是补码,要转成原码
  • ~1->0
  • ~0->1
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇