區分JAVA語言運算符與C語言的差別 java
java運算符: express
1、算術運算符: 單目:+(取正) -(取負) ++(自增1) - -(自減1) 數組
雙目:+ - * / %(取餘) 測試
2、關係運算: == != > < >= <= 指針
3、邏輯運算符: &(與) |(或) !(反) 對象
&:當兩邊同時爲真時,結果爲真,不然爲假 io
| :當兩邊有一邊爲真時,結果爲真,不然爲假 變量
! :真值變假值,假值變真值 float
C語言運算符: 1級優先級 方法
左結合 () 圓括號 [] 下標運算符 -> 指向結構體成員運算符 .結構體成員運算符
2級優先級 右結合
! 邏輯非運算符 ~ 按位取反運算符 ++ 自增運算符 -- 自減運算符
- 負號運算符 (類型) 類型轉換運算符 * 指針運算符 & 地址與運算符 sizeof 長度運算符
3級優先級 左結合 * 乘法運算符 / 除法運算符 % 取餘運算符
4級優先級 左結合
+ 加法運算符 - 減法運算符
5級優先級 左結合 << 左移運算符 >> 右移運算符
6級優先級 左結合 <、<=、>、>= 關係運算符
7級優先級 左結合 == 等於運算符 != 不等於運算符
8級優先級 左結合 & 按位與運算符
9級優先級 左結合 ^ 按位異或運算符
10級優先級 左結合 | 按位或運算符
11級優先級 左結合 && 邏輯與運算符
12級優先級 左結合 || 邏輯或運算符
13級優先級 右結合 ? : 條件運算符
14級優先級 右結合 = += -= *= /= %= &= ^= |= <<= >>= 全爲賦值運算符
15級優先級 左結合 , 逗號運算符
強制和轉換Java語言和解釋器限制使用強制和轉換,以防止出錯致使系統崩潰。整數和浮點數運算符間能夠來回強制轉換,但整數不能強制轉換成數組或對象。對象不能被強制爲基本類型。
Java中的運算符按優先級從高到低排列以下:[ ] ( ) ++ -- ! ~ instanceof * / % + - << >> >>> <> < = > \ == != &^& & || ? := op= 。
Java中整數運算符在整數運算時,若是操做數是long類型,則運算結果是long類型,否 則爲int類型,毫不會是byte,short或char型。
這樣,若是變量i被聲明爲short或byte,i+1的結果會是int。若是結果超過該類 型的取值範圍,則按該類型的最大值取模。單目整數運算符是:
運算符操做-單目非~位補碼++加1--減1
1、運算符"+",若是必要則自動把操做數轉換爲String型。若是操做數是一個對象,它可 定義一個方法toString()返回該對象的String方式,例如 floata=1.0print(「Thevalueofais」+a+「\n」);+運算符用到的例子Strings=「a=」+a;+=運算符也能夠 用於String。注意,左邊(下例中的s1)僅求值一次。s1+=a;//s1=s1+a//若a非String型,自動轉換爲String型。
2、整數算術運算的異常是因爲除零或按零取模形成的。它將引起一個算術異常。下溢產生零,上溢 致使越界。例如:加1超過整數最大值,取模後,變成最小值。一個op=賦值運算符,和上表中的各雙目整數運算符聯用,構成一個表達式。整數關係運算符& lt;,>,<=,>=,==和!=產生boolean類型的數據。
3、數組運算符數組運算符形式以下:<expression>[<expression>]可給出數組中某個元素的值。合法的取值範圍是從0到數組的長度減1。
4、對象運算符雙目運算符instanceof測試某個對象是不是指定類或其子類的實例。例 如:if(myObjectinstanceofMyClass){MyClassanothermyObject= (MyClass)myObject;…}是斷定myObject是不是MyClass的實例或是其子類的實例。
5、浮點運算符浮點運算符可使用常規運算符的組合:如單目運算符++、--,雙目運算符+、 -、*和/,以及賦值運算符+=,-=,*=,和/=。此外,還有取模運算:%和%=也能夠做用於浮點數,例如:a%b和a-((int)(a /b)*b)的語義相同。這表示a%b的結果是除完後剩下的浮點數部分。只有單精度操做數的浮點表達式按照單精度運算求值,產生單精度結果。若是浮點表達 式中含有一個或一個以上的雙精度操做數,則按雙精度運算,結果是雙精度浮點數。
6、布爾運算符布爾(boolean)變量或表達式的組合運算能夠產生新的boolean值。 單目運算符!是布爾非。雙目運算符&,|和^是邏輯AND,OR和XOR運算符,它們強制兩個操做數求布爾值。爲避免右側操做數冗餘求值,用戶可使用短 路求值運算符&&和||。
7、用戶可使用==和!=,賦值運算符也能夠用&=、|=、^=。三元條件操做符和C語言中的同樣。
8、++運算符用於表示直接加1操做。增量操做也能夠用加運算符和賦值操做間接完成。++lvalue(左值表示lvalue+=1,++lvalue也表示lvalue=lvalue+1。
9、--運算符用於表示減1操做。++和--運算符既能夠做爲前綴運算符,也能夠作爲後綴運算 符。雙目整數運算符是:運算符操做**+加-減*乘/除%取模&位與|位或^位異或<<左移 >>右移(帶符號) >>>添零右移整數除法按零舍入。除法和取模遵照如下等式: (a/b)*b+(a%b)==a