国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【JavaSE】一篇文章領(lǐng)悟Java運(yùn)算符

這篇具有很好參考價(jià)值的文章主要介紹了【JavaSE】一篇文章領(lǐng)悟Java運(yùn)算符。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前言:

作者簡(jiǎn)介:愛(ài)吃大白菜1132

人生格言:紙上得來(lái)終覺(jué)淺,絕知此事要躬行

?

如果文章知識(shí)點(diǎn)有錯(cuò)誤的地方不吝賜教,和大家一起學(xué)習(xí),一起進(jìn)步!

?

如果覺(jué)得博主文章還不錯(cuò)的話,希望三連支持!

目錄

什么是運(yùn)算符?

1.算數(shù)運(yùn)算符?

基本四則運(yùn)算符:加減乘除模(+ - * / %)?

增量運(yùn)算符 (+=; -=; *= ;%=)

?自增/自減運(yùn)算符(++/--)

2.關(guān)系運(yùn)算符?

?3.邏輯運(yùn)算符(重點(diǎn))

邏輯與 (&&)

邏輯或?(||)

邏輯非 (!)

4.位運(yùn)算符

按位與?(&)

按位或 (|)

按位取反 (~)

按位異或 (^)

5.移位運(yùn)算符

左移 (<<)

右移 (>>)

?無(wú)符號(hào)右移 (>>>)


什么是運(yùn)算符?

????????計(jì)算機(jī)的最基本的用途之一就是執(zhí)行數(shù)學(xué)運(yùn)算。

????????Java提供了一套豐富的運(yùn)算符來(lái)操作變量。Java中運(yùn)算符可分為以下:算術(shù)運(yùn)算符(+ - * /)、關(guān)系運(yùn)算符(< > ==)、邏輯運(yùn)算符、位運(yùn)算符、移位運(yùn)算符以及條件運(yùn)算符等。

1.算數(shù)運(yùn)算符?

基本四則運(yùn)算符:加減乘除模(+ - * / %)?

public class Test_10_29 {
    public static void main(String[] args) {
        int a=20;
        int b=10;
        System.out.println(a+b);//30
        System.out.println(a-b);//10
        System.out.println(a*b);//200
        System.out.println(a/b);//2
        System.out.println(a%b);//0

    }
}

注:

  • 四則運(yùn)算符都是二元運(yùn)算符,使用時(shí)必須要有左右兩個(gè)操作數(shù)
  • 做除法和取模時(shí),右操作數(shù)不能為0?
  • % 不僅可以對(duì)整型取模,也可以對(duì)double類(lèi)型取模,但是沒(méi)有意義,一般都是對(duì)整型取模的?
  • ?兩側(cè)操作數(shù)類(lèi)型不一致時(shí),向類(lèi)型大的提升?

增量運(yùn)算符 (+=; -=; *= ;%=)

????????該種類(lèi)型運(yùn)算符操作完成后,會(huì)將操縱的結(jié)果賦值給左操作數(shù)。

public static void main(String[] args) {
        int a=10;
        a+=2;    //a=a+2
        System.out.println(a);
        a=10;
        a-=3;    //a=a-3
        System.out.println(a);
        a=10;
        a*=2;    //a=a*2
        System.out.println(a);
        a=10;
        a/=2;    //a=a/2
        System.out.println(a);
        a=10;
        a%=3;    //a=a%3
        System.out.println(a);

    }

?注:

? ? ? ? 增量運(yùn)算符只有變量才能使用該運(yùn)算符,常量不能使用。

?自增/自減運(yùn)算符(++/--)

public static void main(String[] args) {
        int a=1;
        System.out.println(a++);//先輸出,再加1;輸出的是1
        a=1;
        System.out.println(++a);//先加1.再輸出;輸出的是2

    }

?注:

  • 如果單獨(dú)使用,【前置++】和【后置++】沒(méi)有任何區(qū)別
  • 如果混合使用,【前置++】先+1,然后使用變量+1之后的值,【后置++】先使用變量原來(lái)的值,表達(dá)式 結(jié)束時(shí)給變量+1
  • 只有變量才能使用自增/自減運(yùn)算符,常量不能使用,因?yàn)槌A坎辉试S被修改

2.關(guān)系運(yùn)算符?

????????關(guān)系運(yùn)算符主要有六個(gè): ==、 !、=、 < 、> 、= ,其計(jì)算結(jié)果是 true 或者 false 。 ?

    public static void main(String[] args) {
        int a=1;
        int b=2;
        System.out.println(a==b);//false
        System.out.println(a>b);//false
        System.out.println(a<b);//true
        System.out.println(a>=b);//false
        System.out.println(a<=b);//true

    }

?3.邏輯運(yùn)算符(重點(diǎn))

????????邏輯運(yùn)算符主要有三個(gè): && 、||、 ! ,運(yùn)算結(jié)果都是 boolean類(lèi)型。?

邏輯與 (&&)

????????語(yǔ)法規(guī)則:布爾表達(dá)式1 && 布爾表達(dá)式2

    public static void main(String[] args) {
        int a = 1;
        int b = 2;
        System.out.println(a == 1 && b == 2); // 左為真 且 右為真 則結(jié)果為真
        System.out.println(a == 1 && b > 100); // 左為真 但 右為假 則結(jié)果為假
        System.out.println(a > 100 && b == 2); // 左為假 但 右為真 則結(jié)果為假
        System.out.println(a > 100 && b > 100); // 左為假 且 右為假 則結(jié)果為假
    }

????????判斷真假方式:?

表達(dá)式1 表達(dá)式2 結(jié)果

特點(diǎn):

  1. 如果表達(dá)式1為真,那么就會(huì)繼續(xù)執(zhí)行表達(dá)式2,如果表達(dá)式2為真,那么整體為真。
  2. 如果表達(dá)式1為假,那么就不執(zhí)行表達(dá)式2,整體為假;因此特點(diǎn),邏輯與又被稱(chēng)為短路與
  3. 兩個(gè)表達(dá)式必須都為真整體才為真;只要有一個(gè)為假,那么整體就為假

邏輯或?(||)

?語(yǔ)法規(guī)則:布爾表達(dá)式1 || 布爾表達(dá)式2

    public static void main(String[] args) {
        int a = 1;
        int b = 2;
        System.out.println(a == 1 || b == 2); // 左為真 且 右為真 則結(jié)果為真
        System.out.println(a == 1 || b > 100); // 左為真 但 右為假 則結(jié)果也為真
        System.out.println(a > 100 || b == 2); // 左為假 但 右為真 則結(jié)果也為真
        System.out.println(a > 100 || b > 100); // 左為假 且 右為假 則結(jié)果為假
    }

????????判斷真假方式:

表達(dá)式1 表達(dá)式2 結(jié)果

?特點(diǎn):

  1. 如果表達(dá)式1為真,就不執(zhí)行表達(dá)式2,整體已經(jīng)為真,就已經(jīng)發(fā)生短路。
  2. 如果表達(dá)式1為假,就繼續(xù)執(zhí)行表達(dá)式2,表達(dá)式2為真,整體為真。
  3. 兩個(gè)表達(dá)式只要有一個(gè)為真整體就為真;兩個(gè)都為假整體才為假。

邏輯非 (!)

語(yǔ)法規(guī)則:! 表達(dá)式?

真變假,假變真。?

表達(dá)式 結(jié)果

4.位運(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)算符。?

按位與?(&)

????????如果兩個(gè)二進(jìn)制位都是 1, 則結(jié)果為 1, 否則結(jié)果為 0?

【JavaSE】一篇文章領(lǐng)悟Java運(yùn)算符

按位或 (|)

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

【JavaSE】一篇文章領(lǐng)悟Java運(yùn)算符

?注:

????????當(dāng) & 和 | 的操作數(shù)為整數(shù)(int, short, long, byte) 的時(shí)候, 表示按位運(yùn)算, 當(dāng)操作數(shù)為 boolean 的時(shí)候, 表 示邏輯運(yùn)算。

按位取反 (~)

????????如果該位為 0 則轉(zhuǎn)為 1, 如果該位為 1 則轉(zhuǎn)為 0

按位異或 (^)

????????如果兩個(gè)數(shù)字的二進(jìn)制位相同, 則結(jié)果為 0, 相異則結(jié)果為 1.

注:如果兩個(gè)數(shù)相同,則異或的結(jié)果為0?

5.移位運(yùn)算符

????????移位運(yùn)算符有三個(gè): <<、>>、?>>> ,都是二元運(yùn)算符,且都是按照二進(jìn)制比特位來(lái)運(yùn)算的。 ?

左移 (<<)

????????最左側(cè)位不要了, 最右側(cè)補(bǔ) 0.?

int a = 0x10;
System.out.printf("%x\n", a << 1);
// 運(yùn)行結(jié)果(注意, 是按十六進(jìn)制打印的)
20

?注:

  • 向左移位時(shí),丟棄的是符號(hào)位,因此正數(shù)左移可能會(huì)編程負(fù)數(shù)。
  • 左移 1 位, 相當(dāng)于原數(shù)字 * 2. 左移 N 位, 相當(dāng)于原數(shù)字 * 2 的N次方.

右移 (>>)

????????最右側(cè)位不要了, 最左側(cè)補(bǔ)符號(hào)位(正數(shù)補(bǔ)0, 負(fù)數(shù)補(bǔ)1)?

int a = 0x10;
System.out.printf("%x\n", a >> 1);
// 運(yùn)行結(jié)果(注意, 是按十六進(jìn)制打印的)
8
int b = 0xffff0000;
System.out.printf("%x\n", b >> 1);
// 運(yùn)行結(jié)果(注意, 是按十六進(jìn)制打印的)
ffff8000

注:

  • 左移 N 位, 相當(dāng)于原數(shù)字 * 2 的N次方. 2. 右移 1 位, 相當(dāng)于原數(shù)字 / 2. 右移 N 位, 相當(dāng)于原數(shù)字 / 2 的N次方.

?無(wú)符號(hào)右移 (>>>)

????????最右側(cè)位不要了, 最左側(cè)補(bǔ) 0.

int a = 0xffffffff;
System.out.printf("%x\n", a >>> 1);
// 運(yùn)行結(jié)果(注意, 是按十六進(jìn)制打印的)
7fffffff

?總結(jié):文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-482042.html

  1. 左移 1 位, 相當(dāng)于原數(shù)字 * 2. 左移 N 位, 相當(dāng)于原數(shù)字 * 2 的N次方.
  2. 左移 N 位, 相當(dāng)于原數(shù)字 * 2 的N次方. 2. 右移 1 位, 相當(dāng)于原數(shù)字 / 2. 右移 N 位, 相當(dāng)于原數(shù)字 / 2 的N次方.
  3. ?由于計(jì)算機(jī)計(jì)算移位效率高于計(jì)算乘除, 當(dāng)某個(gè)代碼正好乘除 2 的N次方的時(shí)候可以用移位運(yùn)算代替.
  4. 移動(dòng)負(fù)數(shù)位或者移位位數(shù)過(guò)大都沒(méi)有意義.?

到了這里,關(guān)于【JavaSE】一篇文章領(lǐng)悟Java運(yùn)算符的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 一篇文章帶你走進(jìn)Java(保姆級(jí))

    一篇文章帶你走進(jìn)Java(保姆級(jí))

    手打不易,希望對(duì)各位還在徘徊學(xué)什么語(yǔ)言的有幫助?。ava不會(huì)讓你失望??! Java是一種優(yōu)秀的程序設(shè)計(jì)語(yǔ)言,它具有令人賞心悅目的語(yǔ)法和易于理解的語(yǔ)義。 Java還是有一系列計(jì)算機(jī)軟件和規(guī)范形成的技術(shù)體系,這個(gè)技術(shù)體系提供了完整的用于軟件開(kāi)發(fā)和跨平臺(tái)部署的支持

    2024年02月15日
    瀏覽(26)
  • 一篇文章告訴你什么是Java內(nèi)存模型

    在上篇 并發(fā)編程Bug起源:可見(jiàn)性、有序性和原子性問(wèn)題,介紹了操作系統(tǒng)為了提示運(yùn)行速度,做了各種優(yōu)化,同時(shí)也帶來(lái)數(shù)據(jù)的并發(fā)問(wèn)題, 在單線程系統(tǒng)中,代碼按照順序 從上往下 順序執(zhí)行,執(zhí)行不會(huì)出現(xiàn)問(wèn)題。比如一下代碼: 程序從上往下執(zhí)行,最終 c 的結(jié)果一定會(huì)是

    2024年02月06日
    瀏覽(25)
  • 一篇文章搞定Java中常用集合的排序方法

    一篇文章搞定Java中常用集合的排序方法

    目錄 Array · 數(shù)組 List · 列表 Collections.sort() 簡(jiǎn)單類(lèi)型 復(fù)雜對(duì)象 類(lèi) 使用Lambda表達(dá)式 Stream API Map · 鍵值對(duì) 對(duì) Map 的 Key 進(jìn)行排序 對(duì) Map 的 Value 進(jìn)行排序 最近在做算法題的時(shí)候,發(fā)現(xiàn)排序在大部分題中都不可或缺,今天心血來(lái)潮,總結(jié)下Java中集合排序常用的方法,基本覆蓋了大

    2024年02月09日
    瀏覽(26)
  • 學(xué)java注解,看這一篇文章就夠了

    學(xué)java注解,看這一篇文章就夠了

    Annotation(注解)是一種標(biāo)記,使類(lèi)或接口附加額外信息,幫助編譯器和 JVM 完成一些特定功能。 Annotation(注解)也被稱(chēng)為元數(shù)據(jù)(Metadata)是JDK1.5及以后版本引入的,用于修飾 包、類(lèi)、接口、字段、方法參數(shù)、局部變量 等。 常見(jiàn)的注解如:@Override、@Deprecated和@SuppressWarnings 2.1 使用步

    2024年02月06日
    瀏覽(22)
  • 一篇文章帶你徹底弄懂Java的==符號(hào)

    一篇文章帶你徹底弄懂Java的==符號(hào)

    本篇文章6735字,大概閱讀時(shí)間20分鐘。本文中使用到的JDK版本為1.8.0_301 目錄 ==符號(hào)的定義 基本類(lèi)型中==符號(hào)的判斷 String類(lèi)型中==符號(hào)的判斷 ? ? ? ? 在Java中==符號(hào)的作用分為兩類(lèi): ? ? ? ? 1:==符號(hào)在八種基本類(lèi)型的作用是比較對(duì)應(yīng)基本類(lèi)型的 數(shù)值是否相等 ? ? ? ? 2:

    2024年02月08日
    瀏覽(25)
  • 輕松學(xué)會(huì)Java導(dǎo)出word,一篇文章就夠了!

    輕松學(xué)會(huì)Java導(dǎo)出word,一篇文章就夠了!

    很多小伙伴在工作中,可能又這樣一個(gè)需求:根據(jù)word模板去填充數(shù)據(jù),變成我們想要的word文檔,這是很多剛進(jìn)入職場(chǎng)的小白都會(huì)碰到的需求。 當(dāng)遇上這種需求,我們可以通過(guò)這篇文章要講的 poi-tl 來(lái)做處理。 我們先在指定的位置創(chuàng)建一個(gè)測(cè)試文檔。我這邊直接在springboot中的

    2024年02月07日
    瀏覽(24)
  • Java之SpringCloud Alibaba【一】【Nacos一篇文章精通系列】

    Java之SpringCloud Alibaba【一】【Nacos一篇文章精通系列】

    Java之SpringCloud Alibaba【一】【Nacos一篇文章精通系列】 跳轉(zhuǎn) Java之SpringCloud Alibaba【二】【微服務(wù)調(diào)用組件Feign】 跳轉(zhuǎn) Java之SpringCloud Alibaba【三】【微服務(wù)Nacos-config配置中心】 跳轉(zhuǎn) Java之SpringCloud Alibaba【四】【微服務(wù) Sentinel服務(wù)熔斷】 跳轉(zhuǎn) Java之SpringCloud Alibaba【五】【微服務(wù)

    2024年02月11日
    瀏覽(40)
  • 【Java】還不理解繼承?一篇文章看懂繼承|繼承入門(mén)

    【Java】還不理解繼承?一篇文章看懂繼承|繼承入門(mén)

    作者: 努力學(xué)習(xí)的大一在校計(jì)算機(jī)專(zhuān)業(yè)學(xué)生,熱愛(ài)學(xué)習(xí)和創(chuàng)作。目前在學(xué)習(xí)和分享:算法、數(shù)據(jù)結(jié)構(gòu)、Java等相關(guān)知識(shí)。 博主主頁(yè): @是瑤瑤子啦 所屬專(zhuān)欄: Java島冒險(xiǎn)記【從小白到大佬之路】;該專(zhuān)欄專(zhuān)注于Java相關(guān)知識(shí),持續(xù)更新,每一篇內(nèi)容優(yōu)質(zhì),淺顯易懂,不失深度!

    2024年02月01日
    瀏覽(23)
  • 【Java】學(xué)JDBC看這篇文章就夠了—JDBC保姆級(jí)教程

    【Java】學(xué)JDBC看這篇文章就夠了—JDBC保姆級(jí)教程

    目錄 一、JDBC概述 基本介紹 JDBC相關(guān)API 二、連接mysql數(shù)據(jù)庫(kù) 準(zhǔn)備工作 JDBC程序編寫(xiě)步驟 五種連接數(shù)據(jù)庫(kù)的方式? 三、ResultSet(結(jié)果集) 基本介紹 四、Statement 和 PreparedStatement Statement PreparedStatement? 五、事務(wù) 基本介紹 六、批處理 基本介紹 七、數(shù)據(jù)庫(kù)連接池 傳統(tǒng)獲取Connectio

    2023年04月24日
    瀏覽(23)
  • 【無(wú)標(biāo)題】一篇文章帶你徹底理解Java ArrayList數(shù)據(jù)結(jié)構(gòu)詳解

    【無(wú)標(biāo)題】一篇文章帶你徹底理解Java ArrayList數(shù)據(jù)結(jié)構(gòu)詳解

    基本概念: ? **之前創(chuàng)建數(shù)組的時(shí)候,需要聲明提前聲明數(shù)組的大小,**ArrayList是一個(gè)可以動(dòng)態(tài)修改的數(shù)組,與普通數(shù)組的區(qū)別就是沒(méi)有固定大小的限制,它會(huì)動(dòng)態(tài)調(diào)整長(zhǎng)度。 ? **ArrayList繼承了AbstractList,并實(shí)現(xiàn)了List接口。**如下圖: **ArrayList 類(lèi)位于 java.util 包中,**使用前

    2024年02月14日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包