溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java中的運(yùn)算符有哪些

發(fā)布時(shí)間:2021-12-01 16:34:59 來源:億速云 閱讀:117 作者:iii 欄目:編程語言

這篇文章主要介紹“java中的運(yùn)算符有哪些”,在日常操作中,相信很多人在java中的運(yùn)算符有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”java中的運(yùn)算符有哪些”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

一、算術(shù)運(yùn)算符:

單目:+(取正)-(取負(fù)) ++(自增1) - -(自減1) 雙目:+ - * / %(取余) 三目:a>b?true:false 說明:當(dāng)a大于b的時(shí)候,為true(也就是冒號(hào)之前的值),否則為false;這整個(gè)運(yùn)算符包括一個(gè)關(guān)系運(yùn)算符(可以是“>”"<""!="等等),一個(gè)“?”,一個(gè)“:”,冒號(hào)前后需要有兩個(gè)表達(dá)式或者是值或者是對(duì)象。

二、關(guān)系運(yùn)算:

等于符號(hào):==,不等于符號(hào): != ,大于符號(hào):>, 小于符號(hào):<,大于等于符號(hào): >= ,小于等于符號(hào): <= 。

三、位運(yùn)算符 邏輯運(yùn)算符:

位運(yùn)算符 與(&)、非(~)、或(|)、異或(^)&:當(dāng)兩邊操作數(shù)的位同時(shí)為1時(shí),結(jié)果為1,否則為0。如1100&1010=1000 | :當(dāng)兩邊操作數(shù)的位有一邊為1時(shí),結(jié)果為0,否則為1。如1100|1010=1110 ~:0變1,1變0 ^:兩邊的位不同時(shí),結(jié)果為1,否則為0.如1100^1010=0110 邏輯運(yùn)算符 與(&&)、非(!)、或(||)

四、賦值運(yùn)算符

= += -= *= /= %= &= ^= |= <<= >>=

五、instanceof運(yùn)算符

該運(yùn)算符是雙目運(yùn)算符,左面的操作元是一個(gè)對(duì)象,右面是一個(gè)類。當(dāng)左面的對(duì)象是右面的類創(chuàng)建的對(duì)象時(shí),該運(yùn)算符運(yùn)算結(jié)果是true,否則是false。

六、 運(yùn)算符綜述

Java 的表達(dá)式就是用運(yùn)算符連接起來的符合Java 規(guī)則的式子.運(yùn)算符的優(yōu)先級(jí)決定了表達(dá)式中運(yùn)算執(zhí)行的先后順序.例如,x<y&&!z相當(dāng)于(x<y)&&(!z),沒有必要去記憶運(yùn)算符號(hào)的優(yōu)先級(jí)別,在編寫程序時(shí)可盡量的使用括號(hào)來實(shí)現(xiàn)你想要的運(yùn)算次序,以免產(chǎn)生難以閱讀或含糊不清的計(jì)算順序.

運(yùn)算符的結(jié)合性決定了并列相同級(jí)別的運(yùn)算符的先后順序,例如,加減的結(jié)合性是從左到右,8-5+3 相當(dāng)于(8-5)+3.邏輯否運(yùn)算符 的結(jié)合性是右到左, x 相當(dāng)于!(!x).表3.4是Java所有運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。

七 位移運(yùn)算符

<< 帶符號(hào)左移 >>帶符號(hào)右移 >>> 無號(hào)右移

例子:

int a1 = 8; // 0000 0000 0000 1000   System.out.println(a1>>>2); //// 0000 0000 0000 0010

輸出為 2

運(yùn)算符優(yōu)先級(jí)

按優(yōu)先級(jí)從高到低排列如下:[ ]、 ( )、 ++、--、 !、 ~、 instanceof、 *、 /、 %、 +、 -、<<、 >>、 >>>、 <>、 < 、=、 >、 \、 ==、 !=、 &、^、& &、 ||、 ? :、= 。

Java強(qiáng)制類型轉(zhuǎn)換

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

Java語言和解釋器限制使用強(qiáng)制和轉(zhuǎn)換,以防止出錯(cuò)導(dǎo)致系統(tǒng)崩潰。整數(shù)和浮點(diǎn)數(shù)運(yùn)算符間可以來回強(qiáng)制轉(zhuǎn)換,但整數(shù)不能強(qiáng)制轉(zhuǎn)換成數(shù)組或?qū)ο?。?duì)象不能被強(qiáng)制為基本類型。 Java中整數(shù)運(yùn)算符在整數(shù)運(yùn)算時(shí),如果操作數(shù)是long類型,則運(yùn)算結(jié)果是long類型,否則為int類型,絕不會(huì)是byte,short或char型。這樣,如果變量i被聲明為short或byte,i+1的結(jié)果會(huì)是int。如果結(jié)果超過該類型的取值范圍,則按該類型的***值取模。

運(yùn)算符操作

一、運(yùn)算符"+",如果必要?jiǎng)t自動(dòng)把操作數(shù)轉(zhuǎn)換為String型。如果操作數(shù)是一個(gè)對(duì)象,它可定義一個(gè)方法toString()返回該對(duì)象的String方式,例如floata=1.0print(“Thevalueofais”+a+“\n”);+運(yùn)算符用到的例子Strings=“a=”+a;+=運(yùn)算符也可以用于String。注意,左邊(下例中的s1)僅求值一次。s1+=a;//s1=s1+a//若a非String型,自動(dòng)轉(zhuǎn)換為String型。

二、整數(shù)算術(shù)運(yùn)算的異常是由于除零或按零取模造成的。它將引發(fā)一個(gè)算術(shù)異常。下溢產(chǎn)生零,上溢導(dǎo)致越界。例如:加1超過整數(shù)***值,取模后,變成最小值。一個(gè)op=賦值運(yùn)算符,和上表中的各雙目整數(shù)運(yùn)算符聯(lián)用,構(gòu)成一個(gè)表達(dá)式。整數(shù)關(guān)系運(yùn)算符<,>,<=,>=,==和!=產(chǎn)生boolean類型的數(shù)據(jù)。

三、數(shù)組運(yùn)算符數(shù)組運(yùn)算符形式如下:<expression>[<expression>]可給出數(shù)組中某個(gè)元素的值。合法的取值范圍是從0到數(shù)組的長度減1。

四、對(duì)象運(yùn)算符雙目運(yùn)算符instanceof測試某個(gè)對(duì)象是否是指定類或其子類的實(shí)例。

例如:

if(myObjectinstanceofMyClass)  {  MyClassanothermyObject=(MyClass)myObject;  &hellip;  }

是判定myObject是否是MyClass的實(shí)例或是其子類的實(shí)例。

五、浮點(diǎn)運(yùn)算符浮點(diǎn)運(yùn)算符可以使用常規(guī)運(yùn)算符的組合:如單目運(yùn)算符++、--,雙目運(yùn)算符+、-、*和/,以及賦值運(yùn)算符+=,-=,*=,和/=。此外,還有取模運(yùn)算:%和%=也可以作用于浮點(diǎn)數(shù),例如:a%b和a-((int)(a/b)*b)的語義相同。這表示a%b的結(jié)果是除完后剩下的浮點(diǎn)數(shù)部分。只有單精度操作數(shù)的浮點(diǎn)表達(dá)式按照單精度運(yùn)算求值,產(chǎn)生單精度結(jié)果。如果浮點(diǎn)表達(dá)式中含有一個(gè)或一個(gè)以上的雙精度操作數(shù),則按雙精度運(yùn)算,結(jié)果是雙精度浮點(diǎn)數(shù)。

六、布爾運(yùn)算符布爾(boolean)變量或表達(dá)式的組合運(yùn)算可以產(chǎn)生新的boolean值,fales和true(記得是小寫)。單目運(yùn)算符!是布爾非。雙目運(yùn)算符&,|和^是邏輯AND,OR和XOR運(yùn)算符,它們強(qiáng)制兩個(gè)操作數(shù)求布爾值。為避免右側(cè)操作數(shù)冗余求值,用戶可以使用短路求值運(yùn)算符&&和||。

七、用戶可以使用==和!=,賦值運(yùn)算符也可以用&=、|=、^=。三元條件操作符和C語言中的一樣。

八、++運(yùn)算符用于表示直接加1操作。增量操作也可以用加運(yùn)算符和賦值操作間接完成。++lvalue(左值表示lvalue+=1,++lvalue也表示lvalue=lvalue+1。

九、--運(yùn)算符用于表示減1操作。++和--運(yùn)算符既可以作為前綴運(yùn)算符,也可以做為后綴運(yùn)算符。雙目整數(shù)運(yùn)算符是:運(yùn)算符操作**+加-減*乘/除%取模&位與|位或^位異或<<左移 >>右移(帶符號(hào)) >>>添零右移整數(shù)除法按零舍入。除法和取模遵守以下等式: (a/b)*b+(a%b)==a

java運(yùn)算符問題:

&是位

&&是邏輯

當(dāng)&兩邊是整數(shù)時(shí)執(zhí)行的是位運(yùn)算,而兩邊是boolean值時(shí)執(zhí)行的是邏輯運(yùn)算, 如: 3&6 就是執(zhí)行的位運(yùn)算,結(jié)果是一個(gè)整數(shù):

2 true&false 執(zhí)行的就是邏輯運(yùn)算,結(jié)果是一個(gè)boolean值:false &的邏輯運(yùn)算和&&邏輯運(yùn)算是存在一定不同的

&邏輯運(yùn)算時(shí)兩邊都會(huì)計(jì)算的,而&&則在左邊為假時(shí)則直接返的是false不再計(jì)算右邊

舉個(gè)例子:

1:

int[] a={1,2,3};   if(a[0]==2&a[3]==4){System.out.println("true")}

2:

int[] a={1,2,3};   if(a[0]==2&&a[3]==4){System.out.println("true")}

這兩個(gè)例子中,***個(gè)會(huì)拋出異常,而第二個(gè)則什么不會(huì)輸出也不會(huì)拋異常 這是因?yàn)?**個(gè)例子中if語句中用的是&,所以兩邊的都會(huì)計(jì)算,當(dāng)計(jì)算a[3]==4時(shí)拋出數(shù)組下標(biāo)越界異常。第二個(gè)例子則在計(jì)算***個(gè)式子a[0]==2發(fā)現(xiàn)結(jié)果為假則不再計(jì)算右邊,直接返回false,所以該例子不會(huì)輸出任何東西。

到此,關(guān)于“java中的運(yùn)算符有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI