基础知识02-运算符

常见运算符




优先级 运算符分类 结合顺序 运算符
由 高



分隔符

左结合

. [] ( ) ; ,
一元运算符 右结合 ! ++ -- - ~
算术运算符 移位运算符 左结合 * / % + - << >> >>>
关系运算符 左结合 < > <= >= instanceof(Java 特有) = = !=
逻辑运算符 左结合 ! && || ~ & | ^
三目运算符 右结合 布尔表达式?表达式1:表达式2
赋值运算符 右结合 = *= /= %= += -= <<= >>= >>>= &= *= |=

位移运算符

运算符 含义
<< 左移运算符,将左边的对象想做移动运算符右边指定的位数
>> 右移运算符,将右边的对象向位移运算符右边指定的位数。使用符号扩展机制,如果值为正,则高位补0,如果为负,则高位补1
>>> 无符号位移运算符,也即是,无论对象是正是负,都是向高位增加0
System.out.println(Integer.toBinaryString(15));
System.out.println(Integer.toBinaryString(15<<2));
System.out.println(Integer.toBinaryString(15>>2));
System.out.println(Integer.toBinaryString(-15));
System.out.println(Integer.toBinaryString(-15>>2));
System.out.println(Integer.toBinaryString(-15>>>2));


00000000 00000000 00000000 00001111
00000000 00000000 00000000 00111100
00000000 00000000 00000000 00000011
11111111 11111111 11111111 11110001
11111111 11111111 11111111 11111100
00111111 11111111 11111111 11111100 



逻辑运算符

位运算符是对二进制位进行的相关操作

位运算符 含义
取非运算
& 与位运算
竖线 或运算符
^ 异或运算符

异或运算符

A B A^B
1 1 0
1 0 1
0 1 1
0 0 0
 int a = 15;
 int b = 2;
 System.out.println(Integer.toBinaryString(a));
 System.out.println(Integer.toBinaryString(a^b));
 System.out.println(Integer.toBinaryString(~a));

 1111
 1101
 
 11111111 11111111 11111111 11110000

posted @   PerfectLi  阅读(168)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示