第三章 操作符

概括


簡(jiǎn)介

⒈作用——操作數(shù)據(jù)(作用于操作數(shù))

????①生成新值

????②改變操作數(shù)自身的值(“副作用”)

????③幾乎所有的操作符都只能操作“基本類(lèi)型”的數(shù)據(jù)闻坚;

????????例外的“=”阁簸、"=="旷痕、"!="能操作所有的對(duì)象续语;

? ? ????String類(lèi)型支持“+”和“+=”

⒉優(yōu)先級(jí)

????①遵循“先乘除后加減”的規(guī)則苞慢,注意 使用括號(hào)

????②String類(lèi)型后面使用“+”限次,后面若是非String類(lèi)型的元素時(shí),會(huì)將其轉(zhuǎn)換成String

種類(lèi)

⒈賦值——“=”

????①含義:取右邊的值,復(fù)制給左邊

? ? ? ? 右邊:任何常數(shù)瓮孙、變量或表達(dá)式(只要能產(chǎn)生一個(gè)值即可)

? ? ? ? 左邊:必須是一個(gè)明確的,已命名的變量选脊,必須有一個(gè)物理空間可以存儲(chǔ)

? ? ②基本類(lèi)型

? ? ? ? ? int a = 3;

? ? ? ? ? int b = a;

? ? ? ? ? → 此時(shí) b = a = 3(直接將a的值復(fù)制給b)

? ? ? ? ? ? 之后若改變 a杭抠,對(duì) b 沒(méi)有影響

????③對(duì)象

? ? ? ? ? ?對(duì)一個(gè)對(duì)象操作時(shí),真正操作的是引用恳啥,所以賦值時(shí)偏灿,實(shí)際是將引用復(fù)制到另一個(gè)地方,注意這里容易出現(xiàn)“別名現(xiàn)象”

?class Test{

?????? int a;

??? } ??

? Test t1 = new Test();

? Test t2 = new Test();

? t1.a = 3;

? t2.a = 4;

? print(“t1.a=”+t1.a+", t2.a = "+t2.a) → 3 , 4 ???????????????????

?t1 = t2;

print(“t1.a=”+t1.a+", t2.a = "+t2.a) → 4 ,4

? t1.a = 5;

?print(“t1.a=”+t1.a+", t2.a = "+t2.a) → 5 , 5

????④直接常量

????????● 直接賦值一個(gè)常量數(shù)值

????????●數(shù)值后面跟的符號(hào)標(biāo)志了它的類(lèi)型钝的。

????????????例如:L —— long翁垂、f(F) —— float、d(D) —— double

????????????若賦值一個(gè)超過(guò)其自身范圍的數(shù)值硝桩,則會(huì)報(bào)錯(cuò)

????????????chart沿猜、byte、short類(lèi)型碗脊,會(huì)自動(dòng)轉(zhuǎn)換成int

? ? ? ?● 十六進(jìn)制:前綴0x(0X),后面跟隨0-9或小寫(xiě)a-f表示

? ? ? ?●八進(jìn)制:前綴0啼肩,后續(xù)0-7的數(shù)字表示

? ? ????●使用十六進(jìn)制和八進(jìn)制計(jì)數(shù)法時(shí),通常以二進(jìn)制形式顯示,Integer和Long的靜態(tài)方法toBinaryString()祈坠,可以實(shí)現(xiàn)該功能

????????● e表示10的冪次害碾,例如:1.39e^2   ?表示?1.39\times 10^2

⒉算術(shù)操作符

? ? ① 加(+)、減(-)赦拘、乘(*)慌随、除(/)、取模(%—— 從整數(shù)除法中產(chǎn)生余數(shù)另绩,直接去掉小數(shù)儒陨,不是四舍五入)

????②一元減號(hào)(-):用于轉(zhuǎn)變數(shù)據(jù)的符號(hào)

? ? ③一元加號(hào)(+):將小類(lèi)型的操作數(shù)提升為int

⒊自動(dòng)遞增和遞減

? ? ①自動(dòng)遞增:++增加一個(gè)單位

? ? ? ? ?●前綴遞增:++a → 先執(zhí)行運(yùn)算,再賦值

? ? ? ? ?●后綴遞增:a++ → 先賦值笋籽,再執(zhí)行運(yùn)算

? ? ? ? (前綴遞減蹦漠,后綴遞減同理)

? ? ②自動(dòng)遞減:--減少一個(gè)單位

? ? ③例如:

????????????int i = 1;

? ??????????print(“i =”+i ) → 1;

????????????int a = i++;

? ??????????print(“a =”+ a ) → 1;?????

? ??????????print(“i =”+i ) → 2;

????????????int b = ++i ;

? ??????????print(“b =”+b ) → 3;

? ??????????print(“i =”+i ) → 3;

⒋關(guān)系操作符

????①包括:小于(<)、大于(>)车海、小于等于(≤)笛园、大于等于(≥)、等于(==)侍芝、不等于(!=)

? ? ②等于和不等于的應(yīng)用

? ??????????● 基本類(lèi)型:比較的是值

????????????● 對(duì)象:比較的是對(duì)象的引用

? ? ③equals():

????????????沒(méi)有重寫(xiě)改方法研铆,則比較的是引用;重寫(xiě)后州叠,比較的是對(duì)象的實(shí)際內(nèi)容(Java中在Integer棵红,String等勒種默認(rèn)重寫(xiě)了,其他自己創(chuàng)建的對(duì)象咧栗,需要自己按需決定是否重寫(xiě))逆甜、

????????????注意:該方法不適用于基本類(lèi)型

⒌邏輯操作符

? ? ① 包括:與(&)、或(|)致板、非(!)

? ? ② 短路:&& 交煞、||?

? ? ? ? 例如:test(0) && test(1) && test(2),若前兩個(gè)結(jié)果分別為true和false,那么顯然整體結(jié)果為false,所以test(2)就不會(huì)執(zhí)行了,因此斟或,稱(chēng)其為短路素征。能夠提升性能

⒍三元操作符

? ? ①形式:boolean-exp ?value0 : value1

? ? ? ?true —— value0

? ? ? ?false —— value1

? ? ②效率高,代碼簡(jiǎn)潔萝挤,但可讀性差

⒎字符串操作符—— “+”“+=”

? ? ①若表達(dá)式以字符串起頭御毅,后面所有的操作數(shù)據(jù)都是字符串類(lèi)型

? ? ②基本類(lèi)型變量 + “” 可以直接轉(zhuǎn)化為字符串類(lèi)型

? ? ? ? 例如:int a = 1;? a +"" →? 對(duì)應(yīng)的方法為Integer.toString(a);

⒏類(lèi)型轉(zhuǎn)換操作符

? ? ①自動(dòng)轉(zhuǎn)換與強(qiáng)制轉(zhuǎn)換

? ??????● 自動(dòng)轉(zhuǎn)換

? ? ? ? ? ? 例如:float f = 1; → 將一個(gè)int類(lèi)型的值,賦值給float類(lèi)型的變量怜珍,此時(shí)會(huì)自動(dòng)轉(zhuǎn)換為float類(lèi)型

????????●強(qiáng)制轉(zhuǎn)換

? ? ? ? ? ? 例如:long? lng = (long)200;? int i = (int)lng

? ? ? ? ? ? 既可以強(qiáng)制轉(zhuǎn)換數(shù)值亚享,也可以強(qiáng)制轉(zhuǎn)換變量

? ? ②窄化轉(zhuǎn)換與擴(kuò)展轉(zhuǎn)換

? ? ? ? ? ?● 窄化轉(zhuǎn)換:由容納信息多的類(lèi)型,轉(zhuǎn)換成容納信息少的類(lèi)型(例如:將long類(lèi)型轉(zhuǎn)化為int類(lèi)型)绘面,會(huì)造成數(shù)據(jù)的丟失

? ??????????????? 注意窄化轉(zhuǎn)換造成的截尾欺税,例如:float f = 39.59; int i = (int)f,得到的結(jié)果為39侈沪,會(huì)直接取整。

? ???????????????四舍五入:Math.round()

? ? ? ? ? ?●?擴(kuò)展轉(zhuǎn)換:由容納信息少的類(lèi)型晚凿,轉(zhuǎn)換成容納信息多的類(lèi)型

? ???????????????提升:類(lèi)型小的數(shù)值亭罪,自動(dòng)轉(zhuǎn)換為類(lèi)型大的數(shù)值,稱(chēng)為提升

?????????????????在表達(dá)式中歼秽,出現(xiàn)的最大的數(shù)據(jù)類(lèi)型应役,決定了表達(dá)式最終結(jié)果的數(shù)據(jù)類(lèi)型。例如:double類(lèi)型和int類(lèi)型相加燥筷,得到的結(jié)果為double類(lèi)型

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末箩祥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子肆氓,更是在濱河造成了極大的恐慌袍祖,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谢揪,死亡現(xiàn)場(chǎng)離奇詭異蕉陋,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)拨扶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)凳鬓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人患民,你說(shuō)我怎么就攤上這事缩举。” “怎么了匹颤?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵蚁孔,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我惋嚎,道長(zhǎng),這世上最難降的妖魔是什么站刑? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任另伍,我火速辦了婚禮,結(jié)果婚禮上绞旅,老公的妹妹穿的比我還像新娘摆尝。我一直安慰自己,他們只是感情好因悲,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布堕汞。 她就那樣靜靜地躺著,像睡著了一般晃琳。 火紅的嫁衣襯著肌膚如雪讯检。 梳的紋絲不亂的頭發(fā)上琐鲁,一...
    開(kāi)封第一講書(shū)人閱讀 51,578評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音人灼,去河邊找鬼围段。 笑死,一個(gè)胖子當(dāng)著我的面吹牛投放,可吹牛的內(nèi)容都是我干的奈泪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼灸芳,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼涝桅!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起烙样,我...
    開(kāi)封第一講書(shū)人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤冯遂,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后误阻,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體债蜜,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年究反,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了寻定。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡精耐,死狀恐怖狼速,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情卦停,我是刑警寧澤向胡,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站惊完,受9級(jí)特大地震影響僵芹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜小槐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一拇派、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧凿跳,春花似錦件豌、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至疆栏,卻和暖如春曾掂,著一層夾襖步出監(jiān)牢的瞬間惫谤,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工遭殉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留石挂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓险污,卻偏偏與公主長(zhǎng)得像痹愚,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蛔糯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.賦值“=” 取右邊的值復(fù)制給左邊拯腮,右值可以是任何常數(shù)、變量或者表達(dá)式蚁飒,但左值必須是一個(gè)明確的动壤、已命名的變量,也...
    蘿卜棗閱讀 283評(píng)論 0 0
  • 在最底層淮逻,java中的數(shù)據(jù)是通過(guò)使用操作符來(lái)操作的 3.1更簡(jiǎn)單的打印語(yǔ)句 這篇簡(jiǎn)單介紹了下靜態(tài)導(dǎo)入的概念 imp...
    WandaGao閱讀 464評(píng)論 0 0
  • 在最底層琼懊,Java中的數(shù)據(jù)是通過(guò)使用操作符來(lái)操作。 3.1 簡(jiǎn)單的打印語(yǔ)句 3.2使用Java操作符 幾乎所有的操...
    咱就一山里人閱讀 393評(píng)論 0 0
  • P55: 如果要執(zhí)行窄化轉(zhuǎn)換(narrowing conversion)的操作(也就是說(shuō)爬早,將能夠容納更多信息的數(shù)據(jù)...
    Rreply閱讀 218評(píng)論 0 0
  • 3.1 更簡(jiǎn)單的打印語(yǔ)句 靜態(tài)導(dǎo)入(static import) 3.2 使用Java操作符 操作符作用于操作數(shù)哼丈,...
    Hailey_Zong閱讀 203評(píng)論 0 0