運算子,優先順序,結合性,交換資料的三種方式

2021-10-08 21:13:10 字數 3513 閱讀 2261

運算子的運算優先順序共分為15級,1級最高。在表示式中,優先順序較高的先於優先順序較低的進行運算。 而在乙個運算量兩側的運算子優先順序相同時, 則按運算子的結合性所規定的結合方向處理。左結合性:如有表示式x-y+z則y應先與「-」號結合, 執行x-y運算,然後再執行+z的運算;右結合性:如x=y=z,由於「=」的右結合性,應先執行y=z再執行x=(y=z)運算。【優先順序見最下方 圖1-1】

1.算數運算子

1).概述:對資料進行算數運算的符號

2).分類:

1.常見的算數運算子:+、-、*、/、%

常見的運算子用法+

數學加法;正數;拼接

-數學減法;負數

*數學乘法

/數學除法%取餘

*注意:

+:字串與任意資料型別做+(拼接)時,會先把其他型別轉變為字串,再拼接為更長的字串

-:字元之間也可減法

/:整數與整數相除還是整數(直接取整)

%:只能用於整數

2.還有的算數運算子:++ 、 - -

注意分為前加加(減減)和後加加(減減),例如:++n:先做自加運算;n++:做完其他操作,再做自加運算
2.賦值運算子:基本賦值運算子:=

擴充套件賦值運算子:復合算數賦值(+=、-=、*=、/=、%=)、復合位運算賦值(&=、|=、^=、>>=、<<=)、>>>=

int i=10;

i +=1;

ssytem.out.

println

(i);

//11

3.比較運算子:判斷是否相等:==、!=

比較大小:>、=、<=

注意:整數、小數、字元型別可以比較大小
比較結果為:true、false

4.邏輯運算子:

含義:用於處理邏輯值,判斷是非的一些運算子

分類:基本邏輯運算子:&、|、^、!

短路邏輯運算子:&&、||

邏輯運算子

用法&(邏輯與)

全真為真,其餘為假

\(邏輯或)

見真為真,其餘為假

^(邏輯異或)

不同為真,相同為假

!(邏輯非)

取反&&(短路與)

全真為真,其餘為假 【&&前面為false時,不在繼續運算,直接為false】

\\(邏輯或)

見真為真,其餘為假【\\前面為true時,不在繼續運算,直接為true】

判斷字元是否為大寫字母

char x=

'a';

system.out.

println

(x>=

'a'& x<=

'z')

;//true

判斷字元是否為字母

char x=

'a';

system.out.

println

((x>=

'a'& x<=

'z')

|(x>=

'a'& x<=

'z'));

//true

int i=

100;

boolean b1=i<

1&& i++

>

200;

system.out.

println

(i);

//結果為100,說明前面為false時,直接結束運算了

int j=

100;

boolean b2=j++

<

1000

|| j--

>

200;

system.out.

println

(j);

//結果為101,說明前面為true時,直接結束運算了

5.條件運算子(三元運算子、三目運算子)

格式:表示式1 ? 表示式2 :表示式3

說明:表示式1運算結果必須為boolean型別

表示式2和3必須有運算結果,型別不限

表示式1為true,結果為表示式2;表示式1為false,結果為表示式3

//判斷奇偶性

int i=1;

system.out.

println

(i%2==0

?"偶數"

:"奇數"

);

6.位運算子含義:參與運算的量,按二進位制位進行運算

分類:位與(&)、位或(|)、位非(~)、位異或(^)、左移(<>)、無符號右移(>>>)

符號用法(0為false,1為true;都操作補碼)

&全1為1,其餘為0

/全0為0,其餘為1

^相同為0,不同為1

~1變0,0變1

<<

左移一位,翻倍

>>

右移一位,減半

>>>

右移一位,減半(針對正數)

eg:

1)5&20=4

將5和20都變成補碼,再根據規則得到結果的補碼,再將結果補碼變成原碼,得到最終結果4

2)3^5^5=3

**異或同乙個整數兩次得到本身**

3)20<<1 = 40

20>>1 = 20

-5>>1 = -3

20>>>1= 10

int a =10;

int b =20;

//第一種:

int c ;

c=a;

a=b;

b=c;

//第二種:

a = a+b;

b = a-b;

a = a-b;

//第三種:

a = a^b;

b = a^b;

a = a^b;

7.逗號運算子含義:用於把若干表示式組合成乙個表示式

符號:,

8.指標運算子符號用途*

取內容&

取位址9.求位元組數運算子

含義:用於計算資料型別所佔的位元組數

符號:sizeof

10.特殊運算子

有括號(),下標,成員(→,.)等幾種

(圖1-1)

運算子優先順序及結合

下面的內容為本人無聊時自我猜想,不保正內容的正確性,如有問題,請見諒。0 空格可以告訴編譯器名顯邏輯 1 注意向後不能連續有三個以上 可以用空格告訴編譯器明顯的邏輯。如 不能有a b 可以有a b 2 注意向前不能有連續兩個以上 可以用空格告訴編譯器明顯的邏輯。如 不能有a b 可以有a b或a b...

運算子 優先順序 結合性

語言的運算子可分為以下幾類 1.算術運算子 用於各類數值運算。包括加 減 乘 除 求餘 或稱模運算,自增 自減 共七種。2.關係運算子 用於比較運算。包括大於 小於 等於 大於等於 小於等於 和不等於 六種。3.邏輯運算子 用於邏輯運算。包括與 或 非 三種。4.位操作運算子 參與運算的量,按二進位...

運算子優先順序 C 運算子優先順序

c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...