1. 程式人生 > 其它 >Java學習筆記13——算術運算子、賦值運算子、比較運算子

Java學習筆記13——算術運算子、賦值運算子、比較運算子

運算: 對常量和變數進行操作的過程稱之為運算 運算子: 對常量和變數進行操作的符號稱之為運算子 運算元(類似於 2 變數b 'a'): 參與運算的資料稱之為運算元 表示式(類似於1+1 'b'+2): 用運算子,把常量或者變數連線起來的並且符合java語法的式子,我們稱之為表示式 不同運算子連線起來的式子體現的是不同型別的表示式 運算子分類: 算數運算子: +,-,*,/,%,++,-- (/符號表示的是整除的意思,並且取的結果是商的整數部分) /符號表示的是整除的意思,並且取的結果是商的整數部分 如果我們就想讓結果有小數表示,怎麼辦呢 只需要將其中一個變數變成浮點型別參與運算就可以了 但是如下圖: System.out.println(3/4*1.0); 這樣是不行,結果是0.0 因為按照運算順序,先除後乘了 應該如下圖所示: System.out.println(3/(4*1.0)); 運算子優先順序圖表: 運算子的優先順序(從高到低)
優先順序 描述 運算子
1 括號 ()、[]
2 正負號 +、-
3 自增自減,非 ++、--、!
4 乘除,取餘 *、/、%
5 加減 +、-
6 移位運算 <<、>>、>>>
7 大小關係 >、>=、<、<=
8 相等關係 ==、!=
9 按位與 &
10 按位異或 ^
11 按位或 |
12 邏輯與 &&
13 邏輯或 ||
14 條件運算 ?:
15 賦值運算 =、+=、-=、*=、/=、%=
16 位賦值運算 &=、|=、<<=、>>=、>>>=
如果在程式中,要改變運算順序,可以使用()。 %符號表示取餘,如下圖所示結果為3 System.out.println(3%4); %算術運算子參與運算時,進行的是除法,但是結果取的是餘數(注意不是小數部分) ++,-- ++表示的是自增1,單獨使用的時候,結構沒有任何影響,放前放後結果一樣 --表示的是自減1,單獨使用的時候,結果沒有任何影響,放前放後結果一樣 注意:結合表示式使用的時候,不論是++還是--,放在前面先賦值後做自增或者自減 如上圖所示先把a賦值給c,b賦值給d,然後a自增1,b自增1 自減同樣的規律 注意:如果放在前面,是先自加或者自減,然後再賦值 賦值運算子: =,+=,-=,*=,/=,%= 最基本的賦值運算子是= 看程式寫結果 += -= *=,/=,%= 面試題: 面試題 short s=1, s = s+1; short s=1, s+=1; 上面兩個程式碼有沒有問題,如果有,那裡有問題 s+=1,底層進行了轉換,但是不是我們想當然的轉化為s=s+1,而是轉化成了s=(s的資料型別)(s+1) 預設包含了強制型別轉換 比較運算子、 關係運算符: ==與=的區別: =是一個賦值運算子 a=2; ==是一個關係運算符,進行比較操作 (a==2); ==,!=,<,>,<=,>= 關係運算符的結果要麼是true要麼是false,所以關係運算符的結果是一個布林型別(boolean型) >=的優先順序比=高(由運算子優先順序圖示可以檢視)