Java的运算符
1、算术运算符:正号(+)、负号(-)、加(+)、减(-)、乘(*)、除(/)、取模(余)(%)、前加加(++5)、后加加(5++)、前减减(--5)、后减减(5--)、连接符号(+)
注意:
① 除法:若除数和被除数都是整型,但想要结果为浮点型,那么可以将除数或被除数变成浮点型即可。
② 取模:结果的符号与被模数的符号相同。开发中,经常用来判断能否整除的情况。
③ 前加加、前减减(例如:num2 = ++num 或 num2 = --num):先自增/自减1,再运算。
④ 后加加、后减减(例如:num2 = num++ 或 num2 = num--):先运算,再自增/自减1。
自增/自减不会改变变量的数据类型。
2、赋值运算符:使用“ = ”表示。
若想变量实现+2的操作,方法有:num += 2; 或 num = num + 2;
若想变量实现+1的操作,方法有:num += 1; 或 num = num + 1; 或 num++;
3、比较运算符:“==”, “!=”, “>”, “<”, “>=”, “<=”, “instanceof(检查是否是类的对象)”。
注意:① 比较运算符的结果是布尔类型;② 区分比较运算符的 “==” 和 赋值运算符的 “=”
4、逻辑运算符::&(逻辑与)、&&(短路与)、|(逻辑或)、||(短路或)、!(逻辑非:取反)、^(逻辑异或:例如:两个变量a、b结果不一样的时候为true,否则为false)
注意:
① 若 “&” 运算符左右是数字的时候,此时是表示位运算符;
② 区分 “&”(逻辑与) 和 “&&”(短路与):当符号左边结果是true时,二者都会执行符号右边的运算;当符号左边结果是false时,“&” 会继续执行符号右边的运算,而 “&&” 不再执行符号右边的运算(即短路了)。相同点是:“&” 和 “&&” 的最终结果相同。
③ 区分 “|”(逻辑或) 和 “||”(短路或):当符号左边结果是false时,二者都会执行符号右边的运算;当符号左边结果是true时,“|” 会继续执行符号右边的运算,而 “||” 不再执行符号右边的运算(即短路了)。相同点是:“|” 和 “||” 的最终结果相同。
小提示:开发中推荐使用短路与(&&)和短路或(||),逻辑非(!)根据实际情况使用,逻辑异或(^)基本不用。
5、位运算符:“<<”(左移), “>>”(右移), “>>>”(无符号右移),“&”(与),“|”(或),“^”(异或)
左移:每向左移1位,相当于被移的数字×2。
右移:每向右移1位,相当于被移的数字÷2。
注意:
① 位运算符操作的都是整型的数据。
② 右移(>>)的时候,如果最高位是0,则拿0补齐;如果最高位是1,拿1补齐。
③ 无符号右移(>>>)的时候,不管最高位是0还是1,都拿0补齐。
④ 使用与(&)、或(|)和异或(^)符号进行位运算时,把二进制数上的数字0看成false,1看成true来进行计算。(例如:把 “00000111” 和 “11100011” 进行与(&)运算,结果是:00000011)
6、三元(目)运算符: (条件表达式) ? 表达式1 : 表达式2
含义:条件表达式为true时,执行表达式1;条件表达式为false时,执行表达式2。
注意:
① 表达式1和表达式2的数据类型要求是一致的。
② 三元运算符可以嵌套使用。
③ 凡是使用三元运算符的地方,都可以改成if-else语句。反之不一定。
④ 如果有既可以使用三元运算符,又可以使用if-else语句的地方,优先选择三元运算符。原因:简洁,执行效率高。
7、运算符优先级:最简单一句话,需要优先运算的地方(代码),加小括号即可。
本文来自博客园,作者:萧若風,转载请注明原文链接:https://www.cnblogs.com/XiaoRuoFeng/p/16399194.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~