Java中的運(yùn)算符基礎(chǔ)和高級(jí)-創(chuàng)新互聯(lián)

Java中的運(yùn)算符基礎(chǔ)和高級(jí)
  • 算術(shù)運(yùn)算符:
    • 基礎(chǔ)
    • 類型轉(zhuǎn)換
      • 隱式轉(zhuǎn)換
      • 強(qiáng)制轉(zhuǎn)換
    • "+" 操作的三種情況
      • 數(shù)字相加
      • 字符串相加
      • 字符相加
  • 自增自減運(yùn)算符
    • 兩種用法
      • 單獨(dú)使用
      • 參與計(jì)算:
        • a++, a--
        • ++a, --a
  • 賦值運(yùn)算符
  • 關(guān)系運(yùn)算符
  • 邏輯運(yùn)算符
  • 短路運(yùn)算符
  • 三元運(yùn)算符

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)晉城免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。算術(shù)運(yùn)算符: 基礎(chǔ)

加:“+”, 減:“-”, 乘:“*”, 除:“/”, 取余,取模:“%”
注意:整數(shù)操作只能得到整數(shù),要想得到小數(shù),必須有浮點(diǎn)數(shù)參與運(yùn)輸

類型轉(zhuǎn)換

類型轉(zhuǎn)換分為:
1.隱式轉(zhuǎn)換: 取值范圍小的的數(shù)值轉(zhuǎn)換為取值范圍大的數(shù)值

2.強(qiáng)制轉(zhuǎn)換: 取值范圍大的的數(shù)值轉(zhuǎn)換為取值范圍小的數(shù)值

范圍大小:double >float >long >int >short >byte

隱式轉(zhuǎn)換

1.取值范圍小的,和取值范圍大的進(jìn)行運(yùn)算,小的會(huì)先提升為大的,再進(jìn)行運(yùn)算
2.byte short char三種類型的數(shù)據(jù)在運(yùn)算的時(shí)候,都會(huì)直接先提升為int,然后再進(jìn)行運(yùn)算
例:
byte a = 10;
byte b = 20;
c = a + b;
a和b先轉(zhuǎn)換成int類型再相加

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

如果把一個(gè)取值范圍大的的數(shù)值,賦值給取值范圍小的變量,不允許直接賦值,必須強(qiáng)制轉(zhuǎn)換

格式:目標(biāo)數(shù)據(jù)類型 變量名 = (目標(biāo)數(shù)據(jù)類型) 被強(qiáng)轉(zhuǎn)的數(shù)據(jù)
double a = 12.3;
int b = (int) a;

注意:如果數(shù)據(jù)比較大,可能會(huì)發(fā)生錯(cuò)誤

public class ArithmeticoperatorDemo1 {public static void main(String[] args) {byte a = 10;
        byte b = 20;

        //強(qiáng)轉(zhuǎn)將 int 轉(zhuǎn)化為 byte 類型
        byte result = (byte)(a + b);
        System.out.println(result);


        byte c = 100;
        byte d = 100;

        //數(shù)值過大強(qiáng)轉(zhuǎn)會(huì)出現(xiàn)錯(cuò)誤
        byte result1 = (byte)(c + d);
        System.out.println(result1);
    }
}

輸出為
30
-56 (顯然不對(duì))

“+” 操作的三種情況 數(shù)字相加

1 + 1 = 2;

字符串相加

當(dāng) “+” 操作中出現(xiàn)字符串時(shí),這個(gè) “+” 是字符串連接符,而不是算數(shù)運(yùn)算符,會(huì)將前后的數(shù)據(jù)進(jìn)行拼接,并產(chǎn)生一個(gè)新的字符串
“123” + 123 = “123123”

連續(xù)進(jìn)行 “+” 操作的時(shí)候,從左到右依次執(zhí)行

1 + 1313 + “我愛你” = “1314我愛你”
// 1+1313=1314先執(zhí)行,再執(zhí)行1314+“我愛你”

1 + 2 + “abc” + 2 + 1 = “3abc21”

“abc” + true = “abctrue”

字符相加

當(dāng)出現(xiàn)下面兩種情況時(shí):
1.字符+字符 ‘a(chǎn)’ + ‘b’
2.字符+數(shù)字 ‘a(chǎn)’ + 1
會(huì)把字符通過ASCII碼表查詢到對(duì)應(yīng)的數(shù)字再進(jìn)行計(jì)算

public class ArithmeticoperatorDemo2 {public static void main(String[] args) {char c = 'a';
        int result = c + 0;
        System.out.println(result);
    }
}

輸出為:
97
正好對(duì)應(yīng)ASCII碼

自增自減運(yùn)算符

1.自增運(yùn)算符:
“++” : 變量的值加1
a++和++a

2.自減運(yùn)算符:
“–” : 變量的值減1
a–和–a

兩種用法 單獨(dú)使用

單獨(dú)寫一行,++和–無論放在變量的前面還是后面結(jié)果都是一樣的

參與計(jì)算: a++, a–

先用后加
int a = 10;
int b = a++;
先令b=a=10, 然后再讓a=a+1, a=11
a–同理

++a, --a

先加后用
int a = 10;
int b = ++a;
先讓a=a+1, a=11, 再令b=a=11
–a同理

把下面這段代碼搞清楚就能理解了

public class ArithmeticoperatorDemo4 {public static void main(String[] args) {int x = 10;
        int y = x++;
        int z = ++x;
        System.out.println("x:" + x);
        System.out.println("y:" + y);
        System.out.println("z:" + z);
    }
}

最終結(jié)果:
x:12
y:10
z:12

賦值運(yùn)算符
符號(hào)含義
=a=10,將10賦值給變量a
+=a+=b,將a+b的值給a
-=a-=b,將a-b的值給a
*=a*=b,將axb的值給a
/=a/=b,將a÷b的商給a
%=a%=b,將a÷b的余數(shù)給a

注意: +=, -=, /=, *=, %= 底層都隱藏了一個(gè)強(qiáng)制類型轉(zhuǎn)換,舉例如下:
short s = 1;
s += 1;
//等同于s = (short) (s + 1); 因?yàn)閟+1的時(shí)候s強(qiáng)制轉(zhuǎn)換為了int類型,但s本身是short類型,所以等式左邊要強(qiáng)制轉(zhuǎn)換為short類型
System.out.println(s);

關(guān)系運(yùn)算符
符號(hào)含義
==a==b,判斷a和b的值是否相等
!=a!=b,判斷a和b的值是否不相等
>a>b,判斷a是否大于b
>=a>=b,判斷a是否大于等于b
<a
<=a<=b,判斷a是否小于等于b

上述返回的結(jié)果都是boolean類型成立為true,不成立為false

邏輯運(yùn)算符
符號(hào)含義
&邏輯與(且) 并且,兩邊都為真,結(jié)果才是真
^邏輯異或 相同為false,不同為true
!邏輯非 取反
|或者,兩邊都為假,結(jié)果才是假
短路運(yùn)算符
符號(hào)含義
&&短路與 結(jié)果和&相同,但是有短路效果
||短路或 結(jié)果和|相同,但是有短路效果

短路效果:當(dāng)左邊的表達(dá)式能確定最終結(jié)果,那么右邊就不會(huì)參與運(yùn)行了
& , | : 無論左邊true還是false,右邊都要執(zhí)行
&& , || : 如果左邊能確定整個(gè)表達(dá)式的結(jié)果,右邊不執(zhí)行

&& : 左邊為false,右邊不管是真是假,整個(gè)表達(dá)式的結(jié)果一定是false。
|| : 左邊為true,右邊不管是真是假,整個(gè)表達(dá)式的結(jié)果一定是true。
這兩種情況下,右邊不執(zhí)行,提高了代碼運(yùn)行效率

public class LogicoperatorDemo2 {public static void main(String[] args) {int a = 10;
        int b = 10;
        boolean result = ++a< 5 && ++b< 5;
        System.out.println(result);
        System.out.println(a);
        System.out.println(b);
        //當(dāng)++a< 5 為false之后,不會(huì)執(zhí)行后面的 ++b< 5,所以b=10


        int c = 10;
        int d = 10;
        boolean result1 = ++c< 5 & ++d< 5;
        System.out.println(result1);
        System.out.println(c);
        System.out.println(d);
        //當(dāng)++c< 5 為false之后,會(huì)執(zhí)行后面的 ++d< 5,所以b=11
    }
}

輸出結(jié)果
false
11
10
false
11
11

三元運(yùn)算符

格式: 關(guān)系表達(dá)式 ? 表達(dá)式1 : 表達(dá)式2;
關(guān)系表達(dá)式為true執(zhí)行表達(dá)式1, 為false執(zhí)行表達(dá)式2
一定要接受運(yùn)算符的值

例:求兩個(gè)數(shù)的較大值
a >b ? a : b;
取大值

代碼實(shí)現(xiàn):輸入兩個(gè)整數(shù), 輸出大值

import java.util.Scanner;
public class TernaryoperatorDemo1 {public static void main(String[] args) {//使用三元運(yùn)算符, 獲取兩個(gè)數(shù)的較大值
 
        Scanner sc = new Scanner(System.in);

        System.out.println("請(qǐng)輸入第一個(gè)整數(shù)");
        int a = sc.nextInt();

        System.out.println("請(qǐng)輸入第二個(gè)整數(shù)");
        int b = sc.nextInt();

        int max = a >b ? a : b;

        System.out.println(max);

        sc.close();
    }
}

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)站名稱:Java中的運(yùn)算符基礎(chǔ)和高級(jí)-創(chuàng)新互聯(lián)
標(biāo)題URL:http://bm7419.com/article32/dgoipc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、動(dòng)態(tài)網(wǎng)站網(wǎng)站收錄、網(wǎng)站維護(hù)、微信公眾號(hào)、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站