溫馨提示×

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

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

Java編程基礎(chǔ)階段筆記 day03 Java基本語(yǔ)法(中)

發(fā)布時(shí)間:2020-07-02 06:20:53 來(lái)源:網(wǎng)絡(luò) 閱讀:347 作者:大數(shù)據(jù)港 欄目:編程語(yǔ)言

?

day03 Java基本語(yǔ)法(中)

核心內(nèi)容
擴(kuò)展賦值運(yùn)算符

邏輯或| 與短路||

邏輯與&與短路與&&

位運(yùn)算符

交換變量的三種方法

if條件表達(dá)式注意點(diǎn)

三元運(yùn)算符

擴(kuò)展賦值運(yùn)算符: +=, -=, *=, /=, %=

short s = 3;

s = s+2; ①//編譯不通過(guò)

s += 2; ②//編譯通過(guò),且s=5

byte b = 10;

b = b + 2; //編譯不通過(guò),因?yàn)閎yte做運(yùn)算會(huì)先將自身提升為int

b += 2; //編譯沒(méi)問(wèn)題 :不會(huì)改變?cè)瓉?lái)的數(shù)據(jù)類(lèi)型。

int i = 1;

i *= 0.1;

System.out.println(i);//0

i++;

System.out.println(i);//1

邏輯運(yùn)算符

邏輯與(&)、短路與(&&)

邏輯或(|)、短路或(||)

邏輯非(!)

邏輯異或(^):兩個(gè)相同則為false,不同為true

邏輯運(yùn)算結(jié)果只能為 true 或 false

邏輯與 & 和 短路與 && 的區(qū)別是什么:

左邊式子為 true 時(shí),右邊的式子會(huì)執(zhí)行

左邊的式子為false 時(shí),&& 右邊的式子不執(zhí)行

邏輯或 | 與 短路或 || 的區(qū)別是什么:

左邊的式子為false時(shí),左右都執(zhí)行

左邊的式子為false時(shí),|| 右邊的式子不執(zhí)行

位運(yùn)算符

<< (左移) :在一定范圍內(nèi),每向左移一位那么原來(lái)的數(shù)乘以2

(右移) :在一定范圍內(nèi),每向右移一位原來(lái)的數(shù)除以2

(右移) :如果是正數(shù)最高位用0補(bǔ),如果是負(fù)數(shù)最高位用1補(bǔ)。

(無(wú)符號(hào)右移) :無(wú)論正數(shù)還是負(fù)數(shù),最高位都是用0補(bǔ)

    System.out.println(3 << 1);//6

    System.out.println(3 << 2);//12

    System.out.println(3 << 3);//24

System.out.println(1 << 31);

System.out.println(6 >> 1);

    System.out.println(3 >> 1);

    System.out.println(-3 >> 1);

System.out.println(6 >>> 1);

    System.out.println(-6 >>> 1);

交換兩個(gè)變量中的數(shù)據(jù)的三種方法

int n = 5, m = 10;

//方式一:必須會(huì)(優(yōu)點(diǎn):任何數(shù)據(jù)類(lèi)型都可以交換。缺點(diǎn):需要一個(gè)另時(shí)變量)

    /*

    int temp = m;

    m = n;

    n = temp;

    */

//方式二:(優(yōu)點(diǎn) :不需要再申請(qǐng)額外的變量 缺點(diǎn):1.只能用于數(shù)值 2.有可能會(huì)超過(guò)表數(shù)范圍)

/*

    m = m + n;

    n = m - n; //(m + n) - n

    m = m - n; //(m + n) - n(m)

    */

//方式三:(優(yōu)點(diǎn) :1.不需要申請(qǐng)額外的變量 2.效率高 缺點(diǎn):1.不容易理解 2.只能用于數(shù)值 )

    m = m ^ n;

    n = m ^ n; //(m ^ n) ^ n

    m = m ^ n; //(m ^ n) ^ n(m)

if條件表達(dá)式

如果多個(gè)條件表達(dá)式的范圍是互斥關(guān)系,那么誰(shuí)上誰(shuí)下都可以。

如果多個(gè)條件表達(dá)式的范圍是包含關(guān)系,那么范圍小的在上面,范圍大的在下面。

else可以省略。但是省略后可能會(huì)導(dǎo)致沒(méi)有任意一個(gè)條件是滿(mǎn)足的。

在if-else中如果執(zhí)行語(yǔ)句只有一條,那么大括號(hào)可以省略

else //就近原則-離哪個(gè)if最近就和誰(shuí)是一對(duì)

if(true)

        if(false)

            System.out.println("cccc");

        else //就近原則-離哪個(gè)if最近就和誰(shuí)是一對(duì)

            System.out.println("ddddddd");

/*

    if(score == 100){

        System.out.println("嘿嘿 哈哈 嘻嘻 寶馬就停在門(mén)口");

    }else if(score >= 60 && score <= 80){

        System.out.println("知道,知道 ipad明天給你買(mǎi)");

    }else if(score > 80 && score <= 99){

        System.out.println("恩 還可以 iphone xs max 已經(jīng)在路上了");

    }else{

        System.out.println("還想要東西,看我回去不打死你");

    }

    */

//下面的方式必須考慮范圍的大小。

    if(score == 100){

        System.out.println("嘿嘿 哈哈 嘻嘻 寶馬就停在門(mén)口");

    }else if(score > 80){

        System.out.println("恩 還可以 iphone xs max 已經(jīng)在路上了");

    }else if(score >= 60){

        System.out.println("知道,知道 ipad明天給你買(mǎi)");

    }else{

        System.out.println("還想要東西,看我回去不打死你");

    }

三元運(yùn)算符

格式:(條件表達(dá)式)?表達(dá)式1 :表達(dá)式2;

說(shuō)明:

①條件表達(dá)式的結(jié)果只能為布爾類(lèi)型

②表達(dá)式1和表達(dá)式2的類(lèi)型應(yīng)該保持一致

如果表達(dá)式1和表達(dá)式2可以自動(dòng)類(lèi)型提升成一樣的類(lèi)型那么也可以。

例 :double max = (m > n)? 10.2 : 5;

③三元運(yùn)算符可以被if-else所替換,反之不成立。兩者都可以使用的情況下,我們優(yōu)先選擇三元運(yùn)算符。因?yàn)槿\(yùn)算符效率會(huì)快一些。

總結(jié)Summary

邏輯與 & 和 短路與 && 的區(qū)別
邏輯或 | 和 短路或 || 的區(qū)別
實(shí)現(xiàn)兩個(gè)數(shù)交換的三種方法
if 語(yǔ)句的注意點(diǎn)

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