亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

詳解Java中運算符及用法

2024-07-13 10:15:07
字體:
來源:轉載
供稿:網友

在前面的內容已經學會了如何定義變量和初始化變量。定義變量的目的就是為了操作數據。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: 120num1 - num2: 80num1 * num2: 2000num1 / num2: 5num1 % 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: 101num2-- 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: falseb1 || 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 equalnum1 and num2 are not equalnum1 is not greater than num2num1 is less than num2num1 is less than num2num1 is less than or equal to num2

6. 位運算符

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

 

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

 

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

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

注意>>和>>>的區別:

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

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

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

7. 運算符的優先級

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

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

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

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

 

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

8.其他運算符

三運運算符:

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

booleanExpression ? valueWhenTrue : valueWhenFalse

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

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

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

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

類型轉換運算符:

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

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

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

我們對變量和常量都能進行類型轉換。

在對浮點數進行類型轉換時,我們需要注意截尾的問題。如我們要將10.9進行類型轉換:(int) 10.9,它的值并不是四舍五入的11,而是10


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人做爰www免费看视频网站| 亚洲精品xxx| 欧美孕妇孕交黑巨大网站| www.亚洲天堂| 亚洲人午夜色婷婷| 欧美激情亚洲视频| 中文字幕无线精品亚洲乱码一区| 亚洲a一级视频| 岛国av一区二区在线在线观看| 久久亚洲精品一区| 成人淫片在线看| 成人精品视频久久久久| 久久人人看视频| 成年人精品视频| 亚洲精品色婷婷福利天堂| 在线视频免费一区二区| 久久亚洲一区二区三区四区五区高| 亚洲天堂久久av| 亚洲成色www8888| 91精品视频免费| 姬川优奈aav一区二区| 亚洲精品v欧美精品v日韩精品| 亚洲的天堂在线中文字幕| 中文字幕在线视频日韩| 欧美精品在线免费| 性夜试看影院91社区| 久久精品国产一区二区电影| 日韩av一区二区在线观看| 2024亚洲男人天堂| 亚洲欧美日韩网| 欧美国产精品va在线观看| 91人人爽人人爽人人精88v| 欧美亚洲午夜视频在线观看| 欧美精品亚州精品| 九色精品免费永久在线| 日韩av网站在线| 亚洲黄页视频免费观看| 欧美大学生性色视频| 在线观看欧美成人| 中文字幕日韩专区| 日韩欧美在线看| 欧美午夜精品久久久久久久| 午夜精品在线观看| 日韩欧美在线观看视频| 伊人精品在线观看| 欧美在线观看网址综合| 国产成人精品免费久久久久| 欧美日韩一二三四五区| 日韩精品极品视频免费观看| 98视频在线噜噜噜国产| 日韩经典中文字幕| 欧美电影免费观看电视剧大全| 欧美xxxx做受欧美.88| 久久久久日韩精品久久久男男| 亚洲一区二区福利| 97在线观看视频国产| 欧美xxxx做受欧美.88| 色综合久久悠悠| 中文字幕在线观看亚洲| 亚洲成人久久网| 国产日韩欧美视频| 国产不卡精品视男人的天堂| 国产一区二区三区丝袜| 亚洲综合视频1区| 欧美最猛性xxxx| 亚洲自拍偷拍网址| 欧美成人精品激情在线观看| 久热精品视频在线| 欧美成人中文字幕在线| 一本一本久久a久久精品综合小说| 国产亚洲激情在线| 91久久精品视频| 日韩欧美国产高清91| 国产91精品黑色丝袜高跟鞋| 日韩福利视频在线观看| 久久综合久久八八| 伦理中文字幕亚洲| 日韩在线观看你懂的| 亚洲另类图片色| 日韩美女福利视频| 亚洲成人精品av| 久久乐国产精品| 亚洲一区二区精品| 国产乱肥老妇国产一区二| 九色91av视频| www.日韩不卡电影av| 成人欧美在线视频| 丝袜美腿精品国产二区| 色99之美女主播在线视频| 精品亚洲永久免费精品| 九九精品在线观看| 日韩成人久久久| 久久黄色av网站| 4k岛国日韩精品**专区| 亚洲日本欧美中文幕| 日本不卡免费高清视频| 久久久亚洲福利精品午夜| 97久久久免费福利网址| 久久天天躁狠狠躁夜夜躁| 欧美刺激性大交免费视频| 久久久噜久噜久久综合| 国产日韩中文在线| 一区三区二区视频| 亚洲国产欧美日韩精品| 欧美成人精品h版在线观看| 久久久久999| 欧美一级免费视频| 久久av红桃一区二区小说| 亚洲人成网在线播放| 中文字幕欧美精品日韩中文字幕| 国产在线久久久| 亚洲精品视频久久| 欧美裸体xxxxx| 在线成人中文字幕| 日韩欧美国产视频| 精品国产91乱高清在线观看| 久久欧美在线电影| 97成人超碰免| 91视频国产精品| 亚洲精品久久久久久久久久久久| 国产精品一区二区三区毛片淫片| 亚洲国产成人久久综合| 久久伊人91精品综合网站| 91香蕉亚洲精品| 91免费国产网站| 国产精品视频最多的网站| 色婷婷av一区二区三区久久| 欧美电影免费观看高清完整| 亚洲偷熟乱区亚洲香蕉av| 亚洲国产日韩欧美在线动漫| 亚洲欧美三级伦理| 2023亚洲男人天堂| 久久久精品2019中文字幕神马| 亚洲精品短视频| 日韩av片免费在线观看| 精品毛片三在线观看| 亚洲欧美中文日韩在线v日本| 亚洲精品短视频| 国产成人综合久久| 98精品国产自产在线观看| 国产精品xxxxx| 日韩av黄色在线观看| 91亚洲精品一区| 日韩欧美亚洲综合| 精品爽片免费看久久| 夜夜嗨av色一区二区不卡| 国产精品极品在线| 欧美成人精品一区二区三区| 亚洲日本中文字幕免费在线不卡| 亚洲精品国产成人| 久久久久久亚洲精品不卡| 国产成人在线一区| 国产高清视频一区三区| 成人黄色免费在线观看| 久久久999精品视频| 欧美性生交xxxxx久久久| 久久国产视频网站| 91网站免费观看| 亚洲精品av在线| 一本大道久久加勒比香蕉| 日韩国产精品亚洲а∨天堂免| 欧洲成人免费视频| 日韩成人中文字幕| 美日韩丰满少妇在线观看|