java中運(yùn)算符使用步驟(超詳細(xì)!)
前言
運(yùn)算符是什么呢?其實(shí)這個(gè)問(wèn)題很簡(jiǎn)單,運(yùn)算符在我們的生活中很常見(jiàn),失去了它,我們的數(shù)學(xué)基本報(bào)廢了,像“+ , - ,* , /”都是我們最基本的運(yùn)算符。即:對(duì)操作數(shù)進(jìn)行操作時(shí)使用的符號(hào),不同操作符的含義各不相同。
java作為一門(mén)優(yōu)秀的程序設(shè)計(jì)語(yǔ)言,同樣也提供有一整套豐富的運(yùn)算符來(lái)操作變量。Java中的運(yùn)算符分為:算術(shù)運(yùn)算符(±*/),邏輯運(yùn)算符(&&,||等),位運(yùn)算符(& 、|等),關(guān)系操作符(><等),移位操作符和條件操作符等。
一、運(yùn)算符
1.什么是運(yùn)算符
計(jì)算機(jī)的最基本的用途之一就是執(zhí)行數(shù)字運(yùn)算
在數(shù)字運(yùn)算中的"+"和"-"等就是運(yùn)算符
即:對(duì)操作數(shù)進(jìn)行操作時(shí)的符號(hào),不運(yùn)算符操作的含義不同。
作為一門(mén)計(jì)算機(jī)語(yǔ)言,java也提供了一套豐富的運(yùn)算符來(lái)操作變量。
java中將運(yùn)算符分為以下部分:算數(shù)運(yùn)算符,關(guān)系運(yùn)算符,邏輯運(yùn)算符,位運(yùn)算符,移位運(yùn)算符以及條件運(yùn)算符等。
2.算數(shù)運(yùn)算符
1.基本運(yùn)算符:加減乘除取模(+-*/ % )

注意:
- 都是二元運(yùn)算符,使用時(shí)必須要有左右兩個(gè)操作數(shù)
int / int 結(jié)果還是int型,結(jié)果會(huì)向下取整,即小數(shù)點(diǎn)后的數(shù)舍去,取整數(shù)。

結(jié)果為:

若想保留小數(shù)點(diǎn)的數(shù)字,可采用如下方法:

- 做除法和取模時(shí),右操作數(shù)不能為0,否則將會(huì)報(bào)錯(cuò)
- %不僅可以對(duì)整型取模,也可以對(duì)double類型取模,但沒(méi)有意義,一般都對(duì)整型取模。
- 兩側(cè)操作數(shù)類型不一致時(shí),向類型大的提升:

結(jié)果為:

在進(jìn)行+的之前,int型的a被提升為double型輸出
2.增量運(yùn)算符 += -= *= %=
該種類型運(yùn)算符操作完成后,會(huì)將操作的結(jié)果賦值給左操作數(shù)

結(jié)果為:

注意:增量運(yùn)算符在計(jì)算時(shí),可以不進(jìn)行強(qiáng)制類型轉(zhuǎn)換
3.自增/自減運(yùn)算符 ++/--
如果單獨(dú)使用,[前置++]和[后置++]沒(méi)有任何區(qū)別
如果混合使用,[前置++]先+1,然后使用變量+1之后的值,[后置++]先使用變量原來(lái)的值,表達(dá)式結(jié)束時(shí)給變量+1
只有變量才能使用自增/自減運(yùn)算符,常量不能使用,因?yàn)槌A坎辉试S被修改
3.關(guān)系運(yùn)算符
關(guān)系運(yùn)算符主要有六個(gè):== != > < <= >=,其計(jì)算結(jié)果是true或者false。
注意:
當(dāng)需要多次判斷時(shí),不能連著寫(xiě),比如2<a<4,java程序與數(shù)學(xué)中的區(qū)別
4.邏輯運(yùn)算符(重點(diǎn))
邏輯運(yùn)算符主要有三個(gè) && || ! ,運(yùn)算結(jié)果都是boolean類型
語(yǔ)法規(guī)則:表達(dá)式1&&(|| !)表達(dá)式2,左右表達(dá)式必須是boolean類型的結(jié)果
4.1邏輯與&&
左右表示式中存在一個(gè)false的,則結(jié)果為false
示例:

結(jié)果為:

4.3 邏輯 或||
當(dāng)左右表達(dá)式中存在一個(gè)true,則輸出結(jié)果為true

示例:

結(jié)果為:

4.3邏輯非!
表達(dá)式true變?yōu)閒alse,false變?yōu)閠rue

4.4短路求值
邏輯與和邏輯或遵守短路求值的規(guī)則。
對(duì)于邏輯與&&,如果左側(cè)表達(dá)式值false, 則表達(dá)式結(jié)果一定是false,無(wú)需計(jì)算右側(cè)表達(dá)式
對(duì)于邏輯或||,如果左側(cè)表示式值為true,則表示式結(jié)果一定是true,無(wú)需計(jì)算右側(cè)表達(dá)式
&和| ,如果表達(dá)式結(jié)果為boolean類型,也表達(dá)邏輯算計(jì),但與&&和||相比,它們不支持短路求值
5.位運(yùn)算符
java中數(shù)據(jù)存儲(chǔ)的最小單位是字節(jié),而數(shù)據(jù)操作的最小單位是比特位。字節(jié)是最小的存儲(chǔ)單位,每個(gè)字節(jié)是由8個(gè)二進(jìn)制比特位組成的,多個(gè)字節(jié)組合在一起可以表示各種不同的數(shù)據(jù)。
位運(yùn)算符主要有四個(gè):& | ~ ^,除~是一元運(yùn)算符外,其他都是二元運(yùn)算符。
位操作表示按二進(jìn)制計(jì)算.計(jì)算機(jī)中都是使用二進(jìn)制來(lái)表示數(shù)據(jù)的(01構(gòu)成的序列),按位運(yùn)算就是在按照二進(jìn)制的每一位依次進(jìn)行計(jì)算。
1.按位與&:
如果兩個(gè)二進(jìn)制都是1,則結(jié)果為1,否則結(jié)果為0.

2.按位或|:
如果兩個(gè)二進(jìn)制位都是0,則結(jié)果位0,否則結(jié)果為1

注意:
當(dāng)&和 | 的操作數(shù)為整數(shù)(int short long byte)的時(shí)候,表示按位計(jì)算機(jī),當(dāng)操作數(shù)為boolean類型的時(shí)候,表示邏輯計(jì)算。
3.按位取反~:
如果該位為0,則轉(zhuǎn)為1,如果該位為1,則轉(zhuǎn)為0

注意:
0x前綴的數(shù)字為十六進(jìn)制數(shù)字,十六進(jìn)制可以看成二進(jìn)制的簡(jiǎn)化表達(dá)方式.一個(gè)十六進(jìn)制數(shù)字對(duì)應(yīng)4個(gè)二進(jìn)制位。
0xf表示10進(jìn)制的15,也就是二進(jìn)制的1111
printf能夠格式化輸出內(nèi)容,%x表示按照十六進(jìn)制輸出
\n表示換行符
4.按位異或^:
如果兩個(gè)數(shù)字的二進(jìn)制相同,則結(jié)果為0,相異則結(jié)果為1

如果兩個(gè)數(shù)字相同,則異或的結(jié)果為
6.移位運(yùn)算符(了解)
移位運(yùn)算符有三個(gè):>> << >>> ,都是二元運(yùn)算符,且都是按照二進(jìn)制比特位來(lái)運(yùn)算的。
1.左移位 <<
在二進(jìn)制中,最左側(cè)位不要,最右側(cè)補(bǔ)0.
例如:0101 0101 << 1 ——> 1010 1010
2.右移 >>
最右側(cè)位不要,最左側(cè)補(bǔ)符號(hào)位(符號(hào)是1補(bǔ)1,否則補(bǔ)0)
例如:0101 0101 >>1 ——> 0010 1010
3.無(wú)符號(hào)右移 >>>
最右側(cè)位不要了,最左側(cè)補(bǔ)0
例如 1111 1111 >>>1 ——> 0111 1111
7.條件運(yùn)算符
條件運(yùn)算符只有一個(gè):
表達(dá)式1 ? 表達(dá)式2 : 表達(dá)式3
表達(dá)式1為boolean類的結(jié)果,
當(dāng)結(jié)果為true時(shí),整個(gè)表達(dá)式的結(jié)果值為表達(dá)式2 的值
當(dāng)結(jié)果為false時(shí),整個(gè)表達(dá)式的結(jié)果值為 表達(dá)式3的值
java中唯一的一個(gè)三目運(yùn)算符,是條件判斷語(yǔ)句的簡(jiǎn)化寫(xiě)法

結(jié)果為:

注意:
1.表達(dá)式2和表達(dá)3的結(jié)果要是同類型的,除非能發(fā)生隱式類型轉(zhuǎn)換
2.表達(dá)式不能單獨(dú)存在,其產(chǎn)生的結(jié)果必須要被使用
8.運(yùn)算符的優(yōu)先級(jí)
運(yùn)算符之間是有優(yōu)先級(jí)的,但具體的規(guī)則我們不必記憶。
在可能存在歧義的代碼中加上括號(hào)即可
總結(jié)
到此這篇關(guān)于java中運(yùn)算符使用步驟的文章就介紹到這了,更多相關(guān)java中運(yùn)算符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IDEA?服務(wù)器熱部署圖文詳解(On?Update?action/On?frame?deactivation)
這篇文章主要介紹了IDEA?服務(wù)器熱部署詳解(On?Update?action/On?frame?deactivation),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03
基于java實(shí)現(xiàn)斗地主代碼實(shí)例解析
這篇文章主要介紹了基于java實(shí)現(xiàn)斗地主代碼實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
Spring?@DateTimeFormat日期格式化時(shí)注解場(chǎng)景分析
這篇文章主要介紹了Spring?@DateTimeFormat日期格式化時(shí)注解場(chǎng)景分析,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05
MyBatis saveBatch 性能調(diào)優(yōu)的實(shí)現(xiàn)
本文主要介紹了MyBatis saveBatch 性能調(diào)優(yōu)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Java中大數(shù)據(jù)流處理的7大性能優(yōu)化對(duì)比
這篇文章主要為大家詳細(xì)介紹了Java中大數(shù)據(jù)流處理的相關(guān)方法和性能優(yōu)化技巧,文中的示例代碼講解詳細(xì),有需要的小伙伴可以了解下2025-09-09
怎樣將一個(gè)JAR包添加到Java應(yīng)用程序的Boot?Classpath中
本文文章給大家介紹如何將一個(gè)JAR包添加到Java應(yīng)用程序的Boot?Classpath中,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的的朋友參考下吧2023-11-11
Spring接口版本控制方案及RequestMappingHandlerMapping接口介紹(最新推薦)
RequestMappingHandlerMapping接口是Spring MVC中的一個(gè)核心組件,負(fù)責(zé)處理請(qǐng)求映射和處理器的匹配這篇文章主要介紹了Spring接口版本控制方案及RequestMappingHandlerMapping接口介紹,需要的朋友可以參考下2024-07-07
SpringBoot整合Redis實(shí)現(xiàn)高并發(fā)數(shù)據(jù)緩存的示例講解
這篇文章主要介紹了SpringBoot整合Redis實(shí)現(xiàn)高并發(fā)數(shù)據(jù)緩存,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03
Java使用poi-tl根據(jù) 模板自動(dòng)生成word
poi-tl(poi template language)是Word模板引擎,使用模板和數(shù)據(jù)可以創(chuàng)建很棒的Word文檔,本文小編就來(lái)和大家詳細(xì)介紹一下poi-tl的具體使用吧2025-07-07

