常見運算符
常見運算符
- 算數運算符
- 比較運算符
- 邏輯運算符
- 自加自減運算符
- 指派運算符
- 三目運算符
- 位運算符
算數運算符
Java中的算數運算符與我們生活中的算數運算基本相似,看下面的表格
運算符 | 名字 | 示例 | 運作結果 |
---|---|---|---|
+ | 加 | 7+8 | 15 |
- | 減 | 9-4 | 5 |
* | 乘 | 3*5 | 15 |
/ | 除 | 15/5 、16/5 | 3、3 |
% | 求餘 | 16/5 | 1 |
一般運算中都是int變量,是以除的結果都不會有小數,如果我們遇到一定要除盡要有小數的情況,我們可以使用float或double類型的變量。
比較運算符
比較運算符又叫關系運算符,兩者意思都差不多,比較符号兩邊的關系嘛。
運算符 | 名字 |
---|---|
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
!= | 不等于 |
== | 等于 |
這裡的==和算數運算符裡的=,在Java裡是不一樣的,在我們生活中 = ”等号“具有指派和比較兩種意義,Java就用了兩種符号分開來表示,==就表示比較的意思。
注意!!!
比較運算符的結果是布爾類型:Boolean
也就是true/false
邏輯運算符
有三種邏輯運算符
- 與 ,&&或者&,表示的是并且關系,全部為真才為真。
- 或 ,||或者| ,表示的是或者的關系,隻要有一者為真就為真。
- 非 ,! ,表示否定,取反的意思。
那麼問題來了,&&和&還有||和|,有什麼差別呢?
答案是 &&和||的效率更高,他們分别叫短路與和短路或。
什麼意思呢?
比如說吧用&&連接配接了好幾個條件時,第一個條件不滿足時,用這個符号的話我們的計算機就不會在判定後面的條件了,會直接輸出結果條件不成立;
而我們用&時,就算第一個條件不成立時,計算機也會繼續判定後面的條件。是以&&是短路與。
是以||同理,在判定到第一個正确的條件時就輸出結果。
是以大多都會用&&和||,因為效率更高哦!
自加自減運算符
自加自減運算符有兩種寫法
- ++i ,- - i
-
i++ , i - -
那麼他們有什麼差別呢?
那就是他們的優先級别不同,符号在前的優先級别非常的高,僅僅次與括号,而符号在後面的優先級就非常低了,比指派符都低。
怎麼個低法呢,看代碼吧
int a = 1;
int i = 1;
a = i++;
我們輸出a,a=1。
int a = 1;
int i = 1;
a = ++i;
我們輸出a,a=2;
是以符号在前和符号在後面,兩者的優先級是有差別的。
指派運算符
指派運算符
- = ,将等号右側的值賦給左側的變量
- += ,a+=10 等價于a= a+10,也就是先計算在指派
- —=,a-=10等價于a=a-10
- *= ,先乘在指派
- /= ,先除在指派
- %=,先取餘在指派
三目運算符
三目運算符,又稱條件運算符,它是唯一有3個操作數的運算符,有時又稱為三元運算符。
表達式 ? 值1:值2
int a = 10;
int b = 20;
int c = a>b ? 50:60;
先判斷a>b的真假,若為真,則将50指派給c。
反之則将60指派給c。
位運算符
- & 按位與運算 ,運算原則:相同二進制數位上數值為1,結果為1,否則結果為0;
- | 按位或運算,運算原則:相同二進制數位上數值為0,結果為0,否則結果為1;
- ^ 按位異或,運算原則:參與運算的兩個數相應位相同則結果為0,異号則為1;
- ~ 按位取反,運算原則:二進制數位上0變1,1變0;
- 左移操作“<<”:将運算數的二進制碼整體左移指定位數,左移之後的空使用“0”來補充,移出去的二進制數忽略不計。
-
右移操作“>>”:将運算數的二進制碼整體右移指定位數,右移之後的空使用“符号位”來補充。移出
去的二進制數忽略不計。若是正數使用“0”補充;若是負數使用“1”補充;
- 右移操作”>>>“:将運算數的二進制碼整體向右以指定位數,右移之後的空用“0”來補充。是以這個符号又叫無符号右移運算。