<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Java 運算符指南 > 原文: [https://howtodoinjava.com/java/basics/operators-in-java/](https://howtodoinjava.com/java/basics/operators-in-java/) 了解可用的 **Java 運算符**,**優先順序**,并通過示例了解其用法。 我們還將嘗試了解何時使用哪個運算符以及期望得到什么。 ```java Table of Contents 1\. What Is an Operator? 2\. Assignment Operator (=) 3\. Arithmetic Operators 3.1\. Unary Arithmetic Operators 3.2\. Binary Arithmetic Operators 4\. String Concatenation Operator (+) 5\. Relational Operators 6\. Boolean Logical Operators 7\. Bitwise Operators 8\. Ternary Operator (? :) 9\. Java Operator Precedence Table ``` ## 1\. 什么是運算符? 運算符是**符號,它對一個,兩個或三個操作數執行特定類型的運算**,并產生結果。 運算符及其操作數的類型確定對操作數執行的運算的類型以及產生的結果的類型。 #### 1.1 Java 運算符的分類 Java 中的運算符可以基于兩個條件進行分類: * **操作數的數量** – 基于操作數的數量,共有三種類型的運算符。 根據操作數的數量,運算符稱為一元,二元或三元運算符。 如果一個運算符采用一個操作數,則它稱為**一元運算符**; 如果它使用兩個操作數,則它稱為**二元運算符**; 如果需要三個操作數,則將其稱為**三元運算符**。 * **他們執行的操作類型** – 運算符稱為**算術運算符**,**關系運算符**,**邏輯運算符**或**按位運算符**,具體取決于它對操作數執行的運算類型。 ## 2\. 賦值運算符(`=`) * 賦值運算符(`=`)用于為變量賦值。 * 它是一個二元運算符。 它需要兩個操作數。 * 右側操作數的值已賦值給左側操作數。 * 左側操作數必須是變量。 ```java //26 is the right-hand operand. //counter is the left-hand operand, which is a variable of type int. int counter = 26; ``` Java 確保賦值運算符的右側操作數的值與左側操作數的數據類型兼容。 否則,會出現**編譯時錯誤**。 如果是引用變量,則如果右側操作數表示的對象與作為左側操作數的參考變量不兼容,則可以編譯源代碼并獲得運行時`ClassCastException`錯誤。 ## 3\. 算術運算符 * 像`+`(加號),` – `(減號),`*`(乘號),`/`(除號)之類的運算符稱為算術 Java 中的運算符。 * 它只能與數字類型的操作數一起使用。 這意味著,算術運算符的兩個操作數都必須是`byte`,`short`,`char`,`int`,`long`,`float`和`double`類型之一。 * 這些運算符不能具有`boolean`基本類型和引用類型的操作數。 ```java int sum = 10 + 20; int difference = 50 - 20; long area = 20l * 30l; int percentage = 20 / 100; ``` #### 3.1 一元算術運算符 | **運算符** | **說明** | | --- | --- | | `'+'` | **一元加運算符**; 沒有任何作用 | | `'-'` | **一元減運算符**; 取反表達式值 | | `'++'` | **增量運算符**; 將值加 1 | | `'--'` | **減量運算符**; 將值減 1 | | `'!'` | **邏輯補運算符**; 反轉布爾值 | #### 3.2 二元算術運算符 | **運算符** | **描述** | | --- | --- | | `'+'` | **加法** – 將運算符的兩側的值相加 | | `'-'` | **減法** - 從左操作數中減去右操作數 | | `'*'` | **乘法** – 將運算符兩側的值相乘 | | `'/'` | **除法** – 用左操作數除以右操作數 | | `'%'` | **模數** - 左操作數除以右操作數,然后返回余數 | ## 4\. 字符串連接運算符(`+`) Java 中`'+'`運算符已重載。 如果一個運算符用于執行多個功能,則稱該運算符為**重載運算符**。 #### 4.1 連接兩個字符串 到目前為止,您已經看到它用作算術加法運算符來將兩個數字相加。 它也可以用于**連接兩個字符串**。 ```java String str1 = "Hello"; String str2 = " World"; String str3 = str1 + str2; // Assigns "Hello World" to str3 ``` #### 3.2 將原始類型連接到字符串 字符串連接運算符還用于將原始類型和引用類型值連接到字符串。 ```java int num = 26; String str1 = "Alphabets"; String str2 = num + str1; // Assigns "26Alphabets" to str2 ``` #### 4.2 連接`null` 如果引用變量包含`null`引用,則連接運算符將使用字符串`"null"`。 ```java String str1 = "I am "; String str2 = null; String str3 = str1 + str2; // Assigns "I am null" to str3 ``` ## 5\. 關系運算符 * 所有關系運算符都是二元運算符。 * 他們采用兩個操作數。 * 關系運算符產生的結果始終是布爾值`true`或`false`。 * 它們主要用于 Java 控制語句中,例如[`if`語句](https://howtodoinjava.com/java/basics/if-else-statement-in-java/),[`while`語句](https://howtodoinjava.com/java/basics/while-loop-in-java/)等。 下面讓我們看看 Java 中所有可用的關系運算符。 | **運算符** | **描述** | | --- | --- | | `'=='` | **等于** – 檢查兩個操作數的值是否相等,如果是,則條件成立。 | | `'!='` | **不等于** – 檢查兩個操作數的值是否相等,如果值不相等,則條件成立。 | | `'>'` | **大于** – 檢查左操作數的值是否大于右操作數的值,如果是,則條件成立。 | | `'<'` | **小于** – 檢查左操作數的值是否小于右操作數的值,如果是,則條件成立。 | | `'>='` | **大于或等于** – 檢查左操作數的值是否大于或等于右操作數的值,如果是,則條件成立。 | | `'<='` | **小于或等于** – 檢查左操作數的值是否小于或等于右操作數的值,如果是,則條件成立。 | ```java int result = 20; if( result > 10) { //true //some operation } boolean isEqual = ( 10 == 20 ); //false ``` ## 6\. 布爾邏輯運算符 * 所有布爾邏輯運算符只能與布爾操作數一起使用。 * 它們主要用于控制語句中以比較兩個(或多個)條件。 | **運算符** | **描述** | | --- | --- | | `'!'` | 如果操作數為`false`,則返回`true`;如果操作數為`true`,則返回`false`。 | | `'&&'` | 如果兩個操作數均為`true`,則返回`true`。 如果任一操作數為`false`,則返回`false`。 | | `'&'` | 如果兩個操作數均為`true`,則返回`true`。 如果任一操作數為`false`,則返回`false`。 | | <code>'&#124;&#124;'</code> | 如果任一操作數為`true`,則返回`true`。 如果兩個操作數均為`false`,則返回`false`。 | | <code>'&#124;'</code> | 如果任一操作數為`true`,則返回`true`。 如果兩個操作數均為`false`,則返回`false`。 | | `'^'` | 如果其中一個操作數為`true`,則返回`true`,但兩個都不為真。 如果兩個操作數相同,則返回`false`。 | | `'&=;'` | 如果兩個操作數都為`true`,則`&=`返回`true`。 否則,它返回`false`。 | | <code>'&#124;='</code> | 如果任一操作數的結果為`true`,則`!=`返回`true`。 否則,它返回`false`。 | | `'^='` | 如果兩個操作數的求值均不同,即其中一個操作數為`true`,但不是兩個都為`true`,則`^=`返回`true`。 否則,它返回`false`。 | ```java int result = 20; if( result > 10 && result < 30) { //some operation } if( result > 10 || result < 30) { //some operation } ``` > 1. **邏輯 AND 運算符**(`&`)的工作方式與邏輯短路 AND 運算符( `&&` )相同,不同之處在于。 邏輯 AND 運算符( `&` )會求值其右側操作數,即使其左側操作數的求值結果為`false`。 > 2. **邏輯或運算符** 的工作方式與邏輯短路或運算符相同,只是有一個區別。 邏輯或運算符將求值其右側操作數,即使其左側操作數的求值結果為`true`。 ## 7\. 按位運算符 按位運算符**操縱其操作數的各個位**。 Java 定義了幾個按位運算符,它們可以應用于整數類型`long`,`int`,`short`,`char`和`byte`。 | **運算符** | **描述符** | | --- | --- | | `'&'` | **二元與運算符**。如果位存在于兩個操作數中,則將其復制到結果中。 | | `'&#124;'` | **二元或運算符**。如果位存在于任一操作數中,則復制它。 | | `'^'` | **二元 XOR 運算符**。如果在一個操作數中設置了位,但未在兩個操作數中都設置,則會復制它。 | | `'~'` | **二元補碼運算符**。它是一元的,具有“翻轉”位的作用。 | | `<<` | **二元左移運算符**。 左操作數的值向左移動右操作數指定的位數。 | | `>>` | **二元右移運算符**。 左操作數的值向右移動右操作數指定的位數。 | | `>>>` | **右移零填充運算符**。 左操作數的值向右移動右操作數指定的位數,并且移位后的值用零填充。 | ## 8\. 三元運算符(`?:`) * Java 有一個條件運算符。 它被稱為三元運算符,因為它需要**三個操作數**。`?:`的兩個符號成為三元運算符。如果`boolean-expression`的計算結果為`true`,則計算為`true-expression`。 否則,它將求值`false-expression`。 #### 8.1 語法 ```java boolean-expression ? true-expression : false-expression ``` #### 8.2 三元運算符示例 ```java int number1 = 40; int number2 = 20; int biggerNumber = (number1 > number2) ? number1 : number2; //Compares both numbers and return which one is bigger ``` ## 9\. Java 運算符優先級表 Java 具有明確定義的規則,用于指定當表達式具有多個運算符時對表達式中的運算符求值的順序。 例如,乘法和除法的優先級高于加法和減法。 > 優先規則可以由顯式括號覆蓋。 當兩個運算符共享一個操作數時,優先級較高的運算符優先。 例如,將`1 + 2 * 3`視為`1 + (2 * 3)`,因為乘法的優先級高于加法。 在上面的表達式中,如果要首先添加值,則使用這樣的顯式括號 – `(1 + 2) * 3`。 | 優先順序 | 運算符 | 類型 | 關聯性 | | --- | --- | --- | --- | | 15 | `() [] .` | 括號、數組下標、成員選擇 | 左到右 | | 14 | `++ --` | 一元后自增、一元后自減 | 右到左 | | 13 | `++ -- + – ! ~ (類型)` | 一元前自增、一元前自減、一元加、一元減、一元邏輯否定、一元按位補碼、一元類型轉換 | 右到左 | | 12 | `* / % `| 乘法、除法、模數 | 左到右 | | 11 | `+ – ` | 加法、減法 | 左到右 | | 10 | `<< >> >>>` | 按位左移、帶符號擴展的按位右移、帶零擴展的按位右移 | 左到右 | | 9 | `< <= > >= instanceof` | 關系小于、關系小于或等于、關系大、關系大于或等于、類型比較(僅對象) | 左到右 | | 8 | `== !=` | 關系不等于、關系不等于 | 左到右 | | 7 | `&` | 按位與 | 左到右 | | 6 | `^` | 按位異或 | 左到右 | | 5 | <code>&#124;</code> | 按位或 | 左到右 | | 4 | `&&` | Logical AND | 左到右 | | 3 | <code>&#124;&#124;</code> | 邏輯或 | 左到右 | | 2 | `?:` | 三元條件 | 右到左 | | 1 | `= += -= *= /= %=` | 賦值、加法賦值、減法賦值、乘法賦值、除法賦值、模賦值 | 右到左 | Java 中的**運算符**就這些了。 學習愉快! 閱讀更多: [Oracle Java 文檔](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html) [鏈接](http://journals.ecs.soton.ac.uk/java/tutorial/java/nutsandbolts/operators.html) [優先級表](http://www.cs.bilkent.edu.tr/~guvenir/courses/CS101/op_precedence.html)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看