亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Java中使用運算符

發布時間:2021-04-02 17:30:45 來源:億速云 閱讀:133 作者:Leah 欄目:編程語言

如何在Java中使用運算符?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

按照操作符的用法,我們可以分為以下幾類:

算術運算符

賦值運算符

自增和自減運算符

邏輯運算符

關系運算符

位運算符

不用擔心,它們就是些符號而已,幫我們處理操作數據的。下面用代碼實例,一一來說明這些運算符的用法。

1. 算術運算符

算術運算符,就是針對數值變量的加、減、乘、除、取余的算術操作:

加 :+
減:-
乘:*
除:/
取余:%

public class OperatorsDemo {
 public static void main(String[] args) {
 int num1 = 100;
 int num2 = 20;
 	//加
 System.out.println("num1 + num2: " + (num1 + num2) );
 //減
 	System.out.println("num1 - num2: " + (num1 - num2) );
 //乘
 	System.out.println("num1 * num2: " + (num1 * num2) );
 //除
 	System.out.println("num1 / num2: " + (num1 / num2) );
 //取余
 	System.out.println("num1 % num2: " + (num1 % num2) );
 }
}

輸出結果:

num1 + num2: 120
num1 - num2: 80
num1 * num2: 2000
num1 / num2: 5
num1 % num2: 0

2. 賦值運算符

與大部分編程語言相同,Java使用'='運算符來進行賦值操作。這種操作會將右邊的計算結果(稱為右值)賦給左邊的變量。Java 中賦值運算符有:

= (num2 = num1 )
+= (num2 += num1 等價 num2 = num2 + num1)
-= (num2 -= num1 等價 num2 = num2 - num1)
*= (num2 *= num1 等價 num2 = num2 * num1)
/= (num2 /= num1 等價 num2 = num2 / num1)
%= (num2 %= num1 等價 num2 = num2 % num1)

public class OperatorsDemo {

 public static void main(String[] args) {
 int num1 = 10;
 int num2 = 20;

 num2 = num1;
 System.out.println("= Output: "+num2);

 num2 += num1;
 System.out.println("+= Output: "+num2);

 num2 -= num1;
 System.out.println("-= Output: "+num2);

 num2 *= num1;
 System.out.println("*= Output: "+num2);

 num2 /= num1;
 System.out.println("/= Output: "+num2);

 num2 %= num1;
 System.out.println("%= Output: "+num2);

 }
}

結果輸出:

= Output: 10
+= Output: 20
-= Output: 10
*= Output: 100
/= Output: 10
%= Output: 0

3. 自增和自減運算符

自增和自減運算符,只操作一個變量,是變量的值發生改變。

num++ (等價 num = num + 1)自增,主要針對數值變量,使自身變量的值加1。
num—(等價 num = num -1)自減,主要針對數值變量,使身變量的值減去1。

public class OperatorsDemo {

 public static void main(String[] args) {
 int num1=100;
 int num2=200;
 num1++;
 num2--;
 System.out.println("num1++ is: "+num1);
 System.out.println("num2-- is: "+num2);
 }
}

結果輸出:

num1++ is: 101
num2-- is: 199

4. 邏輯運算符

邏輯運算符,顧名思義用于邏輯判斷,運算的結果為boolean 類型的值,即 true 或者 false。邏輯勻運算符有

邏輯運算符邏輯關系
&&
`

b1 && b2:如果b1和b2都為真,b1 && b2將返回true,否則返回false

b1 || b2:如果b1和b2都是假,將返回false,否則返回true。

!b1:將返回與b1相反的值,如果b1為false,則返回true;如果b1為true,則返回false

public class OperatorsDemo {

 public static void main(String[] args) {
 boolean b1 = true;
 boolean b2 = false;

 System.out.println("b1 && b2: " + (b1&&b2));
 System.out.println("b1 || b2: " + (b1||b2));
 System.out.println("!(b1 && b2): " + !(b1&&b2));
 
 }
}

輸出結果:

b1 && b2: false
b1 || b2: true
!(b1 && b2): true

邏輯短路:

在Java中,邏輯運算符支持短路操作,一旦能夠明確表達整個表達式的值,我們就不需要計算表達式的余下部分了。比如我們需要判斷一個對象不為空且它的某個方法返回值不為空,我們就可以這樣判斷:

if (object != null && object.someFunction() != null) {
 // do something.
}

如果object為空,第一部分表達式object != null會返回false,那么不管&&運算符后面的表達式object.someFunction() != null的結果如何,最終的值都為false。編譯器會自動將這部分運算進行優化,不會執行object.someFunction() != null。

5. 關系運算符

用來比較兩個變量數據的大小,返回boolean的值,即 true 或者 false

關系操作符包括:

關系運算符關系
>大于
<小于
==等于
!=不等于
>=大于等于
<=小于等于

'=='和'!='適用于所有類型的值和對象(即基本類型變量和引用類型變量)。

'>'、'<'、'>='和'<='不適用于布爾類型的值,因為它們只有true或false,大于和小于并無實際意義。

public class OperatorsDemo {

 public static void main(String[] args) {
 int num1 = 10;
 int num2 = 50;
 if (num1==num2) {
  System.out.println("num1 and num2 are equal");
 } else{
  System.out.println("num1 and num2 are not equal");
 }

 if( num1 != num2 ){
  System.out.println("num1 and num2 are not equal");
 } else{
  System.out.println("num1 and num2 are equal");
 }

 if( num1 > num2 ){
  System.out.println("num1 is greater than num2");
 } else{
  System.out.println("num1 is not greater than num2");
 }

 if( num1 >= num2 ){
  System.out.println("num1 is greater than or equal to num2");
 } else{
  System.out.println("num1 is less than num2");
 }

 if( num1 < num2 ){
  System.out.println("num1 is less than num2");
 } else{
  System.out.println("num1 is not less than num2");
 }

 if( num1 <= num2){
  System.out.println("num1 is less than or equal to num2");
 } else{
  System.out.println("num1 is greater than num2");
 }

 }
}

輸出結果:

num1 and num2 are not equal
num1 and num2 are not equal
num1 is not greater than num2
num1 is less than num2
num1 is less than num2
num1 is less than or equal to num2

6. 位運算符

位運算符面向的運算對象是二進制的“位”,可應用于整數類型(int),長整型(long),短整型(short),字符型(char),和字節型(byte)等類型,運算時會將其對應Bit位(0或者是1)進行布爾代數運算或者移動操作。

位運算符計算邏輯
&與運算:對于某一位,只要兩個操作數都為1,則該位的結果為1,否則為0
``
^異或運算:對于某一位,如果兩個操作數不相同,則該位的結果為1,否則為0
~非運算:按位補運算符翻轉操作數的每一位
&lt;&lt;二進制左移運算符:左操作數按位左移右操作數指定的位數
&gt;&gt;二進制右移運算符:左操作數按位右移右操作數指定的位數
&gt;&gt;&gt;二進制右移補零操作符:左操作數的值按右操作數指定的位數右移,移動得到的空位以零填充

計算邏輯的描述讀起來有些晦澀,我們通過例子可以更清晰得了解位運算符如何進行計算。假設如果x等于60;y等于13;則它們的二進制表示,以及位運算的結果如下所示:

x = 0011 1100
y = 0000 1101
-----------------
x & y = 0000 1100
x | y = 0011 1101
x ^ y = 0011 0001
~x = 1100 0011 
x << 2 = 1111 0000
x >> 2 = 0000 1111
x >>> 2 = 0000 1111

注意&gt;&gt;和&gt;&gt;&gt;的區別:

右移位運算符&gt;&gt;,若操作的值為正,則在高位插入0;若值為負,則在高位插入1;

右移補零操作符&gt;&gt;&gt;,無論正負,都在高位插入0。

> 位運算不理解,先跳過。實際用到的時候,可以再去研究。

7. 運算符的優先級

運算符優先級決定一個表達式里術語的分組。它影響著一個表達式如何求值。一定的運算符比其他運算符擁有更高的優先級。

例如:乘法運算符比加法運算符有更高的優先級,表達式1 + 5 * 6,根據運算符的優先級,編譯器會先計算5 * 6,再計算30 + 1,最終得到結果31。

各類各運算符的優先級從大到小如下:

., (), []
單目+(右到左結合), 單目-(右到左結合), ++, --, ~, !
*, /,%
+(左到右結合), -(左到右結合)
&gt;&gt;, &lt;&lt;, &gt;&gt;&gt;
&lt;, &lt;=, &gt;, &gt;=
==, !=
&
|
^
&&
||
?:
=, +=等賦值運算符

不用擔心這么復雜的優先級列表,絕大多數情況下,表達式本身就很容易看得出優先級,比如賦值運算肯定是優先級最低的。在對優先級不太明確的情況下,我們使用括號就能按照我們希望的方式來改變優先級,所以不需要對運算符優先級做太多記憶。

8.其他運算符

三運運算符:

Java中的條件運算符是一個三元運算符,它的形式如下:

booleanExpression ? valueWhenTrue : valueWhenFalse

如果布爾表達式值為true,則表達式的值為valueWhenTrue的值,否則為valueWhenFalse的值。

比如我們要計算x的絕對值,可以通過如下代碼實現:

if (x >= 0) {
 y = x;
} else {
 y = -x;
}

通過三元運算符,只需要一條語句y = x &gt;= 0 ? x : -x;就可以完成,更為簡潔。

類型轉換運算符:

我們在很多情況下會用到類型轉換。在適當的時候,Java也會根據數據類型將數據類型自動轉為另一種。比如我們為float變量賦一個整數值,編譯器會將int轉化為float賦給變量。

但是在很多情況下,Java并不能判斷我們是否需要進行類型轉換,這時就需要類型轉化運算符,它允許我們顯式地進行類型轉換,如:

int a = 10;
long b = (long) a;
long c = (long) 100;

關于如何在Java中使用運算符問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德兴市| 海林市| 辽阳县| 霍邱县| 娄底市| 普兰县| 德惠市| 长海县| 禄劝| 富蕴县| 麻城市| 滨州市| 台山市| 遂宁市| 英超| 辉县市| 南宁市| 罗定市| 泽库县| 平南县| 湟中县| 河津市| 中江县| 汪清县| 保定市| 景谷| 无棣县| 乌苏市| 彰化市| 锦屏县| 舞阳县| 卓资县| 马山县| 罗江县| 合水县| 黔南| 长乐市| 广元市| 平凉市| 太湖县| 清镇市|