javase基礎(chǔ)03-運(yùn)算符

運(yùn)算符是用來計(jì)算數(shù)據(jù)的符號。數(shù)據(jù)可以是常量,也可以是變量。被運(yùn)算符操作的數(shù)我們稱為操作數(shù)。

1.算術(shù)運(yùn)算符

算術(shù)運(yùn)算符最常見的操作就是將操作數(shù)參與數(shù)學(xué)計(jì)算,

+,-,*,/,%,++,--

+的用法

a:加法
b:正號
c:字符串連接符

/和%的區(qū)別

數(shù)據(jù)做除法操作的時(shí)候,/取得是商,%取得是余數(shù)

++和--的用法

a:他們的作用是自增或者自減
b:使用

單獨(dú)使用

放在操作數(shù)據(jù)的前面和后面效果一樣。
a++或者++a效果一樣。

參與操作使用

放在操作數(shù)的前面:先自增或者自減,再參與操作

int a = 10;
int b = ++a;

放在操作數(shù)的后面:先參與操作,再自增或者自減

int a = 10;
int b = a++;

注意:

  1. 加法運(yùn)算符在連接字符串時(shí)要注意,只有直接與字符串相加才會轉(zhuǎn)成字符串。
  2. 除法“/”當(dāng)兩邊為整數(shù)時(shí),取整數(shù)部分,舍余數(shù)。當(dāng)其中一邊為浮點(diǎn)型時(shí),按正常規(guī)則相除。
  3. “%”為整除取余符號,小數(shù)取余沒有意義。結(jié)果符號與被取余符號相同。
  4. 整數(shù)做被除數(shù),0不能做除數(shù),否則報(bào)錯(cuò)。

2.賦值運(yùn)算符

賦值運(yùn)算符就是為變量賦值的符號

A:=,+=,-=,*=,/=,%=等

B:=叫做賦值運(yùn)算符,也是最基本的賦值運(yùn)算符

    int x = 10; 把10賦值給int類型的變量x。
C:擴(kuò)展的賦值運(yùn)算符的特點(diǎn):
隱含了自動強(qiáng)制轉(zhuǎn)換。

注意:賦值運(yùn)算符左邊必須是變量

面試題:

short s = 1;
s = s + 1;

short s = 1;
s += 1;
請問上面的代碼哪個(gè)有問題?

3.比較運(yùn)算符

比較運(yùn)算符,又叫關(guān)系運(yùn)算符,它是用來判斷兩個(gè)操作數(shù)的大小關(guān)系及是否相等關(guān)系的,結(jié)果是布爾值true或者false。

A:==,!=,>,>=,<,<=
B:無論運(yùn)算符兩端簡單還是復(fù)雜最終結(jié)果是boolean類型。
C:千萬不要把==寫成了=

4.邏輯運(yùn)算符(條件運(yùn)算符)

邏輯運(yùn)算符,它是用于布爾值進(jìn)行運(yùn)算的,運(yùn)算的最終結(jié)果為布爾值true或false。

A:&,|,^,!,&&,||
B:邏輯運(yùn)算符用于連接boolean類型的式子
C:結(jié)論
    &:有false則false
    |:有true則true
    ^:相同則false,不同則true。
        情侶關(guān)系。
    !:非true則false,非false則true
    
    &&:結(jié)果和&是一樣的,只不過有短路效果。左邊是false,右邊不執(zhí)行。
    ||:結(jié)果和|是一樣的,只不過有短路效果。左邊是true,右邊不執(zhí)行。

5.三元運(yùn)算符

A:格式

比較表達(dá)式?表達(dá)式1:表達(dá)式2;

B:執(zhí)行流程:

首先計(jì)算比較表達(dá)式的值,看是true還是false。
如果是true,表達(dá)式1就是結(jié)果。
如果是false,表達(dá)式2就是結(jié)果。

C:案例:

a:比較兩個(gè)數(shù)據(jù)是否相等
b:獲取兩個(gè)數(shù)據(jù)中的最大值
c:獲取三個(gè)數(shù)據(jù)中的最大值

6.位運(yùn)算符

按位異或 ^

???????????僅當(dāng)兩個(gè)操作數(shù)不同一時(shí)候。輸出結(jié)果才為1,否則為0.

12 的二進(jìn)制為 1100
5   的二進(jìn)制為 0101
則 12 | 5 的二進(jìn)制為 1001。則完整的運(yùn)算式為 12 & 5 = 9

A:^的特殊用法

????????????一個(gè)數(shù)據(jù)針對另一個(gè)數(shù)據(jù)位異或兩次,該數(shù)不變

B:面試題

a:請實(shí)現(xiàn)兩個(gè)變量的交換
    **采用第三方變量
    **用位異或運(yùn)算符
        左邊a,b,a
        右邊a^b
b:請用最有效率的方式計(jì)算出2乘以8的結(jié)果
    2<<3

按位或 |

按位與 &

按位非~(按位取反)

?????????~的作用是各位數(shù)字取反

注意:

????????位運(yùn)算符操作的都是數(shù)值的二進(jìn)制補(bǔ)碼,數(shù)字的真正值都需要轉(zhuǎn)為原碼.

移位運(yùn)算符

<<
左邊數(shù)據(jù)×2的移動次冪;
空位補(bǔ)零,移除的最高位丟棄;

>>
左邊數(shù)據(jù)÷2的移動次冪
右移時(shí),符號位將隨同移動,為正時(shí),最高位為0,補(bǔ)0;為負(fù)時(shí),最高位為1,最高位補(bǔ)1

>>>
無論最高位是0,還是1,左邊移空的都補(bǔ)零;

7.運(yùn)算符優(yōu)先級

優(yōu)先級 描述 運(yùn)算符
1 括號 ()、[]
2 正負(fù)號 +、-
3 自增自減,非 ++、--、!
4 乘除,取余 *、/、%
5 加減 +、-
6 移位運(yùn)算 <<、>>、>>>
7 大小關(guān)系 >、>=、<、<=
8 相等關(guān)系 ==、!=
9 按位與 &
10 按位異或 ^
11 按位或 |
12 邏輯與 &&
13 邏輯或 ||
14 條件運(yùn)算 ?:
15 賦值運(yùn)算 =、+=、-=、*=、/=、%=
16 位賦值運(yùn)算 &=、|=、<<=、>>=、>>>=

在開發(fā)過程中一般使用()來區(qū)別,運(yùn)算優(yōu)先級.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本章將會介紹 模塊和源文件訪問級別訪問控制語法自定義類型子類常量、變量、屬性、下標(biāo)構(gòu)造器協(xié)議擴(kuò)展泛型類型別名位運(yùn)算...
    寒橋閱讀 1,004評論 0 2
  • 運(yùn)算符是處理數(shù)據(jù)的基本方法,用來從現(xiàn)有的值得到新的值。JavaScript 提供了多種運(yùn)算符,本章逐一介紹這些運(yùn)算...
    許先生__閱讀 712評論 0 3
  • 謹(jǐn)記: 上帝在締造每個(gè)人的時(shí)候,給予每個(gè)人的一切都是相同的,然而,人與人卻是存在如此大的差距,記著上帝為你關(guān)上了一...
    長風(fēng)留言閱讀 5,726評論 0 5
  • C++運(yùn)算符重載-上篇 本章內(nèi)容:1. 運(yùn)算符重載的概述2. 重載算術(shù)運(yùn)算符3. 重載按位運(yùn)算符和二元邏輯運(yùn)算符4...
    Haley_2013閱讀 2,386評論 0 51
  • 大叔不是要推銷什么商品,大叔是要從眾多的維修維修案例中,找出哪個(gè)品牌的壺質(zhì)量好,用料好,還有使用方便維修方便等等,...
    均真閱讀 294評論 0 1

友情鏈接更多精彩內(nèi)容