【JAVA SE基礎篇】9.運算符的分類與內容

1.運算符的分類數據結構

1.算術運算符:+(加法)、-(減法)、*(乘法)、/(除法)、%(取模/取餘)、++(自增)、--(自減)學習

2.賦值運算符:=(賦值)、+=(加等)、-=(減等)、*=(乘等)、/=(除等)、%=(模等/取餘等)spa

3.關係運算符:>(大於)、<(小於)、>=(大於等於)、<=(小於等於)、==(等於)、!=(不等於)、instanceof(對象是不是類的實例)對象

4.邏輯運算符:&&(短路與)、||(短路或)、^(異或)、&(邏輯與)、|(邏輯或)、!(邏輯非)字符串

5.位運算符:&(按位與)、|(按位或)、^(按位異或)、~(取反)、>>(按位右移)、<<(按位左移)二進制

6.其餘運算符:?:(條件運算符)、+(字符串鏈接符)float

 

2.各種運算符詳解數據

1.算術運算類型轉換

算數運算符分一元運算符(一個操做數)和二元運算符(兩個操做數)co

二元運算符:+(加法)、-(減法)、*(乘法)、/(除法)、%(取模/取餘)

若是整數進行運算:有一個操做數是long型,那麼結果就是long型。操做數沒有long,結果就是int,無論其中哪一個操做數是byte仍是short仍是int

若是是浮點數進行運算:只要有一個是double型,結果就是double型。只有兩個操做數都是float型時,結果纔是float型。

(關於類型轉換後面會單獨講,瞭解這兩個便可)

一元運算符:

a++和++a的區別:

++a是指a先自身加1,a的值變爲a+1,再進行運算,輸出結果a+1,此時a的值是a+1。

a++是指先運算,輸出結果爲a,a自身加1,a的值變爲a+1,此時a的值是a+1

int a=3;
int b=++a;
此時輸出ab:a的值是4,b的值是4

int a=3;
int b=a++;
此時輸出ab:a的值是4,b的值是3

2.賦值運算符:

=(賦值)用法:講等號右邊的操做數賦值給左邊

例:a=b  講b的值賦給a,且b的值不變

+=(加等)、-=(減等)、*=(乘等)、/=(除等)、%=(模等/取餘等)用法相似

例:

a+=b 至關於 a=a+b、a-=b 至關於 a=a-b、a*=b 至關於 a=a*b。。。。

int a=3;int b=4;a=a+b;等價於int a=3;int b=4; a=a+b;

輸出結果a爲7,b爲4。

3.關係運算符:

全部的關係運算符輸出結果只有true/false

=(賦值)是賦值運算符、==(等於)纔是判斷兩個操做數是否相等的運算符

==(等於)、!=(不等於)適用於全部數據結構

>(大於)、<(小於)、>=(大於等於)、<=(小於等於)僅適用於byte、short、int、long、float、double、char

(instanceof暫時不用瞭解)

4.邏輯運算符:

邏輯運算符是用來操做布爾型(true/false)的運算符

同時^(異或)、&(邏輯與)、|(邏輯或)這三個也是位運算符

&(邏輯與):兩個操做數同時爲true,結果爲true

|(邏輯或):兩個操做數有一個爲true,結果爲true

&&(短路與):只要有一個爲false,結果爲false

||(短路或):只要有一個爲true,結果爲true

^(異或):兩個操做數相同爲false,不一樣爲true

!(邏輯非):取反 例:!true的值爲false

|(邏輯或)與||(短路或)區別:

「||」:   若是左邊計算後的操做數爲true,右邊則再也不執行,返回true;

「|」:先後兩個操做數都會進行計算。也就是說:「|」不存在短路。

&(邏輯與)與&&(短路與)區別同上

例:

boolean c=1>2&&2>(3/0);
System.out.println(c);//不報錯,不運行&&後面代碼
boolean d=1>2&2>(3/0);
System.out.println(d);//報錯,會運行&後面的代碼

5.位運算符:

位運算符是將操做數轉化位2進制後的操做(具體2進制有關內容自行學習)

&(按位與)、|(按位或)、^(按位異或)、~(取反):這四個運算符和邏輯運算符用法一致,只是將兩個十進制變成轉換爲2進制後,每一位的邏輯運算後,再組成的新的二進制,最後轉換爲十進制

>>(按位右移)、<<(按位左移):這兩個運算符,向左1位至關於操做數的乘2,向右1位至關於操做數除2取商

例:

int a=3*2*2;
int b=3<<2;
int c=12/2/2;
int d=12>>2;

a的值和b的值相等,c的值和d的值也相等

5.其餘運算符:

+(字符串鏈接符):講兩個字符串來接起來,組成新的字符串

倆個操做數只要有一個是字符串類型,系統就會將另外一個變成字符串再鏈接。

例:

System.out.println(3+4);//輸出7

System.out.println(3+"4");//輸出34

System.out.println(3+3+"4");//輸出64 (第一個爲算術運算符的加法,第二個爲字符串鏈接符)

?:(條件運算符):

格式:x?y:z

其中x爲布爾型表達式,若是x的值爲true輸出y的值,z的值爲false輸出z的值

例:

int score1=40;

int score2=80;

String reslut1=score1>60?"及格":"不及格";

String reslut2=score2>60?"及格":"不及格";

System.out.println(reslut1);//輸出不及格

System.out.println(reslut2);//輸出及格

相關文章
相關標籤/搜索