JAVA語言運算符

區分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

相關文章
相關標籤/搜索