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

【Java基礎(chǔ)篇】運(yùn)算符

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

作者簡介: 辭七七,目前大一,正在學(xué)習(xí)C/C++,Java,Python等
作者主頁: 七七的個人主頁
文章收錄專欄:Java.SE,本專欄主要講解運(yùn)算符,程序邏輯控制,方法的使用,數(shù)組的使用,類和對象,繼承和多態(tài),抽象類和接口等內(nèi)容
歡迎大家點(diǎn)贊 ?? 收藏 ? 加關(guān)注哦!????

【Java基礎(chǔ)篇】運(yùn)算符


1. 算術(shù)運(yùn)算符

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

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)算相當(dāng)于數(shù)學(xué)中除法的余數(shù)

注意:

  1. 都是二元運(yùn)算符,使用時必須要有左右兩個操作數(shù)

  2. int / int 結(jié)果還是int類型,而且會向下取整

3/2在數(shù)學(xué)中應(yīng)輸出1.5,但是Java中輸出結(jié)果為1 會向下取整,即小數(shù)點(diǎn)之后全部舍棄掉了

int a = 3;

int b = 2;
System.out.println(a / b);

結(jié)果演示:
【Java基礎(chǔ)篇】運(yùn)算符
如果要得到數(shù)學(xué)中的結(jié)果,可以使用如下方式

double d = a*1.0 / b;

System.out.println(d);

結(jié)果演示:
【Java基礎(chǔ)篇】運(yùn)算符

  1. 做除法和取模時,右操作數(shù)不能為0
int a = 1;

int b = 0;

System.out.println(a / b)
    

// 運(yùn)行結(jié)果

Exception in thread "main" java.lang.ArithmeticException: / by zero

        at Test.main(Test.java:5)

ArithmeticException屬于異常,種類為算數(shù)異常(異常有很多,后續(xù)會寫)

  1. % 不僅可以對整型取模,也可以對double類型取模,但是沒有意義,一般都是對整型取模的

取模操作符的簡單應(yīng)用

System.out.println(10%3);
System.out.println(10%-3);
System.out.println(-10%3);
System.out.println(-10%-3);
System.out.println(11.5 % 2);

運(yùn)行結(jié)果:
【Java基礎(chǔ)篇】運(yùn)算符

  1. 兩側(cè)操作數(shù)類型不一致時,向類型大的提升
System.out.println(1+0.2);   
// +的左側(cè)是int,右側(cè)是double,在加之前int被提升為double

    // 故:輸出1.2

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

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

int a = 1;

a += 2;                  // 相當(dāng)于 a = a + 2
System.out.println(a);   // 輸出3

a -= 1;                  // 相當(dāng)于 a = a - 1
System.out.println(a);   // 輸出2

a *= 3;                  // 相當(dāng)于 a = a * 3
System.out.println(a);   // 輸出6

a /= 3;                  // 相當(dāng)于 a = a / 3
System.out.println(a);   // 輸出2

a %= 3;                  // 相當(dāng)于 a = a % 2
System.out.println(a);   // 輸出2

下面我們看一個不同類型的增量計(jì)算

 long d = 100;
 int c = 9;
 c += d;//c = (int)(c + d) 特點(diǎn):運(yùn)算符會幫我們進(jìn)行類型轉(zhuǎn)換
 System.out.println(c);

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

3. 自增/自減運(yùn)算符 ++ --
++是給變量的值+1,–是給變量的值-1。
后置++

 int a = 1;
 int b = a++;    // 后置++   表示給a的值加1,此時a的值為2
 System.out.println(a++);   // 注意:后置++是先使用變量原來值,表示式結(jié)束時給變量+1,因此輸出1

 System.out.println(b);     // 輸出1

前置++

int a = 1;
int b = ++a;    // 前置++   表示給a的值加1
//a = a + 1  b = a
System.out.println(++a);   // 注意:前置++是先給變量+1,然后使用變量中的值,因此輸出3
System.out.println(b);     // 輸出2

注意:

  • 如果單獨(dú)使用,【前置++】和【后置++】沒有任何區(qū)別

  • 如果混合使用,【前置++】先+1,然后使用變量+1之后的值,【后置++】先使用變量原來的值,表達(dá)式結(jié)束時給變量+1

  • 只有變量才能使用自增/自減運(yùn)算符,常量不能使用,因?yàn)槌A坎辉试S被修改

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

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

int a = 10;
int b = 20;

// 注意:在Java中 = 表示賦值,要與數(shù)學(xué)中的含義區(qū)分
//     在Java中 == 表示相等

System.out.println(a == b);       // false

System.out.println(a != b);       // true

System.out.println(a < b);        // true

System.out.println(a > b);        // false

System.out.println(a <= b);       // true

System.out.println(a >= b);       // false

注意: 當(dāng)需要多次判斷時,不能連著寫,比如:3 < a < 5,Java程序與數(shù)學(xué)中是有區(qū)別的

【Java基礎(chǔ)篇】運(yùn)算符
程序會報(bào)警告,因?yàn)?code>3 < a 的結(jié)果是 true 或者 false ,true 或 false屬于布爾類型,5為int型,二者不能互相比較

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

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

1. 邏輯與 &&
語法規(guī)則:表達(dá)式1 && 表達(dá)式2,左右表達(dá)式必須是boolean類型的結(jié)果。

兩個表達(dá)式都為真,結(jié)果才是真,只要有一個是假,結(jié)果就是假。

【Java基礎(chǔ)篇】運(yùn)算符

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é)果為假

2. 邏輯 ||
語法規(guī)則:表達(dá)式1 || 表達(dá)式2,左右表達(dá)式必須是boolean類型的結(jié)果。
【Java基礎(chǔ)篇】運(yùn)算符

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á)式至少有一個位真,則結(jié)果為真

3. 邏輯非 !

語法規(guī)則:! 表達(dá)式,表達(dá)式必須是boolean類型的結(jié)果
真變假,假變真
【Java基礎(chǔ)篇】運(yùn)算符

int a = 1;

System.out.println(!(a == 1));   // a == 1 為true,取個非就是false
System.out.println(!(a != 1));  // a != 1 為false,取個非就是true

4. 短路求值

&& 和 || 遵守短路求值的規(guī)則.

System.out.println(10 > 20 && 10 / 0 == 0);        // 打印 false
//當(dāng)表達(dá)式1為假的時候就不會執(zhí)行表達(dá)式2了

System.out.println(10 < 20 || 10 / 0 == 0);       // 打印 true
//當(dāng)?shù)谝粋€表達(dá)式為真的時候就不會執(zhí)行第二個表達(dá)式了

注意:

  • 對于 && , 如果左側(cè)表達(dá)式值為 false, 則表達(dá)式結(jié)果一定是 false, 無需計(jì)算右側(cè)表達(dá)式.

  • 對于 ||, 如果左側(cè)表達(dá)式值為 true, 則表達(dá)式結(jié)果一定是 true, 無需計(jì)算右側(cè)表達(dá)式.

  • & 和 | 如果表達(dá)式結(jié)果為 boolean 時, 也表示邏輯運(yùn)算. 但與 && || 相比, 它們不支持短路求值.

System.out.println(10 > 20 & 10 / 0 == 0);             // 程序拋出異常

System.out.println(10 < 20 | 10 / 0 == 0);             // 程序拋出異常

4. 位運(yùn)算符

位運(yùn)算符主要有四個: & | ~ ^ ,除 ~ 是一元運(yùn)算符外,其余都是二元運(yùn)算符。
位操作表示 按二進(jìn)制位運(yùn)算. 計(jì)算機(jī)中都是使用二進(jìn)制來表示數(shù)據(jù)的(01構(gòu)成的序列), 按位運(yùn)算就是在按照二進(jìn)制位的每一位依次進(jìn)行計(jì)算.
我們可以列一個表來計(jì)算二進(jìn)制位
【Java基礎(chǔ)篇】運(yùn)算符
以5為例
【Java基礎(chǔ)篇】運(yùn)算符
其余地方補(bǔ)0就是5的二進(jìn)制位了

1. 按位與 &: 如果兩個二進(jìn)制位都是 1, 則結(jié)果為 1, 否則結(jié)果為 0.

int a = 10;

int b = 20;

System.out.println(a & b);

結(jié)果為0

進(jìn)行按位運(yùn)算, 需要先把 10 和 20 轉(zhuǎn)成二進(jìn)制, 分別為 1010 和 10100
【Java基礎(chǔ)篇】運(yùn)算符
2. 按位或 |: 如果兩個二進(jìn)制位都是 0, 則結(jié)果為 0, 否則結(jié)果為 1.

int a = 10;

int b = 20;

System.out.println(a | b);

運(yùn)算方式和按位于類似.
【Java基礎(chǔ)篇】運(yùn)算符
注意: 當(dāng) &| 的操作數(shù)為整數(shù)(int, short, long, byte) 的時候, 表示按位運(yùn)算, 當(dāng)操作數(shù)為 boolean 的時候, 表示邏輯運(yùn)算.
3. 按位取反 ~: 如果該位為 0 則轉(zhuǎn)為 1, 如果該位為 1 則轉(zhuǎn)為 0

int a = 0xf;

System.out.printf("%x\n", ~a);
//打印結(jié)果為fffffff0

注意:

  • 0x 前綴的數(shù)字為 十六進(jìn)制 數(shù)字. 十六進(jìn)制可以看成是二進(jìn)制的簡化表示方式. 一個十六進(jìn)制數(shù)字對應(yīng) 4 個二進(jìn)制位.
  • 0xf 表示 10 進(jìn)制的 15, 也就是二進(jìn)制的 1111
  • printf 能夠格式化輸出內(nèi)容, %x 表示按照十六進(jìn)制輸出.
  • \n 表示換行符

4. 按位異或 ^: 如果兩個數(shù)字的二進(jìn)制位相同, 則結(jié)果為 0, 相異則結(jié)果為 1.

int a = 0x1;

int b = 0x2;

System.out.printf("%x\n", a ^ b);
//結(jié)果為3

這里我們有兩個結(jié)論:

n ^ n = 0
0 ^ n = n

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

6. 移位運(yùn)算

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

1. 左移 <<: 最左側(cè)位不要了, 最右側(cè)補(bǔ) 0.
我們以11為例
二進(jìn)制序列0000 1011
11 >> 1之后二進(jìn)制序列0001 0110
此時所表示的數(shù)為22

注意: 向左移位時,丟棄的是符號位,因此正數(shù)左移可能會編程負(fù)數(shù)。

2. 右移 >>: 最右側(cè)位不要了, 最左側(cè)補(bǔ)符號位(正數(shù)補(bǔ)0, 負(fù)數(shù)補(bǔ)1)
還是以11為例
二進(jìn)制序列0000 1011
1 << 1之后二進(jìn)制序列0000 0101

左移與右移的區(qū)別
【Java基礎(chǔ)篇】運(yùn)算符
3. 無符號右移 >>>: 最右側(cè)位不要了, 最左側(cè)補(bǔ) 0.
【Java基礎(chǔ)篇】運(yùn)算符
注意:

  1. 左移 1 位, 相當(dāng)于原數(shù)字 * 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)某個代碼正好乘除 2 的N次方的時候可以用移位運(yùn)算代替.
  4. 移動負(fù)數(shù)位或者移位位數(shù)過大都沒有意義.

6. 條件運(yùn)算符

條件運(yùn)算符只有一個:

表達(dá)式1 ? 表達(dá)式2 : 表達(dá)式3

當(dāng) 表達(dá)式1 的值為 true 時, 整個表達(dá)式的值為 表達(dá)式2 的值;

當(dāng) 表達(dá)式1 的值為 false 時, 整個表達(dá)式的值為 表達(dá)式3 的值.

// 求兩個整數(shù)的最大值

int a = 10;

int b = 20;

int max = a > b ? a : b;

輸出結(jié)果為20

注意:

  1. 表達(dá)式2和表達(dá)式3的結(jié)果要是同類型的,除非能發(fā)生類型隱式類型轉(zhuǎn)換

  2. 表達(dá)式不能單獨(dú)存在,其產(chǎn)生的結(jié)果必須要被使用
    例如:

int a = 10;

int b = 20;

a > b? a : b;     // 報(bào)錯:Error:(15, 14) java: 不是語句

7. 運(yùn)算符的優(yōu)先級

在一條表達(dá)式中,各個運(yùn)算符可以混合起來進(jìn)行運(yùn)算,但是運(yùn)算符的優(yōu)先級不同,比如:* 和 / 的優(yōu)先級要高于 +和 -

// 求a和b的平均值

int a = 10;

int b = 20;

int c = a + (b - a) >> 1;

System.out.println(c);

上述表達(dá)式中,由于 + 的優(yōu)先級要高于 >> , 因此a先和b-a的結(jié)果做加法,整體為20,最后再進(jìn)行右移,因此結(jié)果為10。
注意: 運(yùn)算符之間是有優(yōu)先級的. 具體的規(guī)則我們不必記憶. 在可能存在歧義的代碼中加上括號即可.

好了,關(guān)于【Java基礎(chǔ)篇】運(yùn)算符,七七今天就先分享到這里,如果這篇文章對大家有幫助,請佬佬們點(diǎn)個贊再走吧!如果發(fā)現(xiàn)什么問題,歡迎評論區(qū)留言!????文章來源地址http://www.zghlxwxcb.cn/news/detail-459261.html

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

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

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

相關(guān)文章

  • 〔002〕Java 基礎(chǔ)之語法、數(shù)據(jù)類型、進(jìn)制轉(zhuǎn)換、運(yùn)算符

    〔002〕Java 基礎(chǔ)之語法、數(shù)據(jù)類型、進(jìn)制轉(zhuǎn)換、運(yùn)算符

    注釋: 是寫在程序中對代碼進(jìn)行解釋說明的文字,方便自己和其他人查看,以便理解程序的 注釋分為 單行注釋 和 多行注釋 ,注釋的內(nèi)容并不會被編譯,所以 不會影響 代碼的運(yùn)行 單行注釋通過 // 進(jìn)行標(biāo)注,只能注釋一行 多行注釋通過 /* 注釋內(nèi)容 */ 進(jìn)行標(biāo)注,可以注釋多

    2024年02月05日
    瀏覽(59)
  • Java基礎(chǔ)入門篇——自增自減運(yùn)算符(八)

    自增(++)和自減(--)運(yùn)算符在Java中用于增加或減少變量的值。這些運(yùn)算符非常有用,特別是在循環(huán)和計(jì)數(shù)器中。 自增運(yùn)算符將變量的值增加1。 前置自增 : ++variable 。先增加值,然后返回新值。 后置自增 : variable++ 。先返回當(dāng)前值,然后增加值。 示例: 自減運(yùn)算符將變

    2024年02月13日
    瀏覽(26)
  • 黑馬程序員Java零基礎(chǔ)視頻教程筆記-運(yùn)算符

    1. 運(yùn)算符和表達(dá)式 ① 運(yùn)算符:對字面量或者變量進(jìn)行操作的符號 ② 表達(dá)式:用運(yùn)算符把字面量或者變量連接起來,符合java語法的式子就可以稱為表達(dá)式。 不同運(yùn)算符連接的表達(dá)式體現(xiàn)的是不同類型的表達(dá)式。 ③ 舉例 int a = 10; int b = 20; int c = a + b; +:是運(yùn)算符,并且是算術(shù)

    2024年02月01日
    瀏覽(25)
  • 初識Java篇(JavaSE基礎(chǔ)語法)(1)(數(shù)據(jù)類型+運(yùn)算符)

    初識Java篇(JavaSE基礎(chǔ)語法)(1)(數(shù)據(jù)類型+運(yùn)算符)

    ?個人主頁(找往期文章包括但不限于本期文章中不懂的知識點(diǎn)):?我要學(xué)編程(?_?)-CSDN博客 目錄 前言:? 初識Java? 運(yùn)行Java程序 注釋 標(biāo)識符 數(shù)據(jù)類型與變量? 字面常量 數(shù)據(jù)類型 變量 類型轉(zhuǎn)換? 類型提升? 字符串類型? 運(yùn)算符 算術(shù)運(yùn)算符? 關(guān)系運(yùn)算符? 邏輯運(yùn)

    2024年03月24日
    瀏覽(24)
  • 【Java基礎(chǔ)教程】(四)程序概念篇 · 中:探索Java編程基礎(chǔ),解析各類運(yùn)算符功能、用法及其應(yīng)用場景~

    【Java基礎(chǔ)教程】(四)程序概念篇 · 中:探索Java編程基礎(chǔ),解析各類運(yùn)算符功能、用法及其應(yīng)用場景~

    掌握J(rèn)ava中各類運(yùn)算符及其運(yùn)算使用; Java中的語句有很多種形式,表達(dá)式就是其中一種形式。 Java中的表達(dá)式由操作數(shù)、運(yùn)算符、結(jié)果類型和求值順序等元素組成 ,這些元素共同構(gòu)成了復(fù)雜的邏輯和計(jì)算過程。 操作數(shù)(Operands) :操作數(shù)是表達(dá)式中的值或者變量,它們可以是

    2024年02月12日
    瀏覽(105)
  • 不可不看的Java基礎(chǔ)知識整理,注釋、關(guān)鍵字、運(yùn)算符

    不可不看的Java基礎(chǔ)知識整理,注釋、關(guān)鍵字、運(yùn)算符

    萬丈高樓平地起,要想學(xué)好漢語首先學(xué)拼音,想學(xué)好英語首先學(xué)26個字母,對于編程語言來說,一樣的道理,要想學(xué)好必須先掌握其基礎(chǔ)語法和知識,今天我們就來嘮一嘮Java語言中那些出現(xiàn)頻率極高,又很基礎(chǔ)的知識點(diǎn)吧! 注釋的作用:撥云見日! 在日常的工作中,總會遇

    2024年01月16日
    瀏覽(22)
  • 【JavaScript】JavaScript 運(yùn)算符 ⑤ ( 賦值運(yùn)算符 | 基礎(chǔ)賦值運(yùn)算符 與 復(fù)合賦值運(yùn)算符 )

    【JavaScript】JavaScript 運(yùn)算符 ⑤ ( 賦值運(yùn)算符 | 基礎(chǔ)賦值運(yùn)算符 與 復(fù)合賦值運(yùn)算符 )

    JavaScript 賦值運(yùn)算符種類 : 基礎(chǔ)賦值運(yùn)算符 : 等于 : = ; 復(fù)合賦值運(yùn)算符 : 加等 : += 減等 : -= 乘等 : *= 除等 : /= 取模等 : %= 有符號左移等 : = 有符號右移等 : = 無符號左移等 : = 無符號右移等 : = 在 JavaScript 語言中 , \\\" 賦值運(yùn)算符 \\\" 的 作用是 為 變量 分配值 ; 最基礎(chǔ)的 \\\" 賦值運(yùn)算

    2024年03月25日
    瀏覽(24)
  • 【Java探索之旅】運(yùn)算符解析 算術(shù)運(yùn)算符,關(guān)系運(yùn)算符

    【Java探索之旅】運(yùn)算符解析 算術(shù)運(yùn)算符,關(guān)系運(yùn)算符

    ?? 嶼小夏 : 個人主頁 ??個人專欄 : Java編程秘籍 ?? 莫道桑榆晚,為霞尚滿天! Java中運(yùn)算符是非常重要的概念,它們用于對變量進(jìn)行操作和比較,是實(shí)現(xiàn)各種算法和邏輯的基礎(chǔ)。本文將介紹Java中的算術(shù)運(yùn)算符和關(guān)系運(yùn)算符,解釋它們的基本用法和注意事項(xiàng),幫助讀者更

    2024年03月15日
    瀏覽(40)
  • Java邏輯運(yùn)算符(&&、||和!),Java關(guān)系運(yùn)算符

    Java邏輯運(yùn)算符(&&、||和!),Java關(guān)系運(yùn)算符

    邏輯運(yùn)算符把各個運(yùn)算的關(guān)系表達(dá)式連接起來組成一個復(fù)雜的邏輯表達(dá)式,以判斷程序中的表達(dá)式是否成立,判斷的結(jié)果是 true 或 false。 邏輯運(yùn)算符是對布爾型變量進(jìn)行運(yùn)算,其結(jié)果也是布爾型,具體如表 1 所示。 ? 表 1 邏輯運(yùn)算符的用法、含義及實(shí)例 運(yùn)算符 用法 含義 說

    2024年02月03日
    瀏覽(22)
  • 【JAVA】你可知JAVA中的運(yùn)算符|重溫運(yùn)算符

    【JAVA】你可知JAVA中的運(yùn)算符|重溫運(yùn)算符

    作者主頁:paper jie的博客 本文作者:大家好,我是paper jie,感謝你閱讀本文,歡迎一建三連哦。 本文錄入于《JAVASE語法系列》專欄,本專欄是針對于大學(xué)生,編程小白精心打造的。筆者用重金(時間和精力)打造,將javaSE基礎(chǔ)知識一網(wǎng)打盡,希望可以幫到讀者們哦。 其他專欄

    2024年02月15日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包