Java 運(yùn)算符

運(yùn)算符:進(jìn)行特定操作的符號凉唐。例:+

表達(dá)式:用運(yùn)算符連的式子叫做表達(dá)式庸追,例:1+2

1.四則運(yùn)算:

????:+

???? :-

???? :*

???? :/ 被除數(shù) / 除數(shù) = 商 .... 余數(shù)

???? ???? 對于一個整數(shù)的表達(dá)式來說,除法用的是整除台囱。結(jié)果仍為整數(shù)锚国。只看商。不看余數(shù)

???? ???? 只有對于整數(shù)的除法來玄坦,取模運(yùn)算符才有余數(shù)的意義

???? 注意事項

???? ???? 1.一旦運(yùn)算當(dāng)中有不同類型的數(shù)據(jù)血筑,那么結(jié)果將會是數(shù)據(jù)類型范圍大的那種

例子:

public class PeratorDemo{

???? public static void main(String[] args){

???? ???? //兩個常量直接可以進(jìn)行數(shù)學(xué)運(yùn)算

???? ???? System.out.println(20 + 30);

???? ???? //兩變量之間也可以進(jìn)行數(shù)學(xué)運(yùn)算

???? ???? int a = 20;

???? ???? int b = 30;

???? ???? System.out.println(a - b);

???? ???? //變量和常量之間可以混合使用

???? ???? System.out.println(a * 10);

???? ???? int x = 10 ;

???? ???? int y = 3 ;

???? ???? int result1 = x / y;

???? ???? System.out.println(result1);//3

???? ???? int result2 = x % y ;

???? ???? System.out.println(result2);//余數(shù),模煎楣,1

???? ???? //int + double ---> double + double --->double

???? ???? double result3 = x + 2.5;

???? ???? System.out.println(result3);//12.5

???? }

}

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


??? 四則運(yùn)算當(dāng)中的加號”+“有三種用法

??? ??? 1.對于數(shù)值來豺总,那就是加法。

??? ??? 2.對于字符char類型來择懂,再計算之前會被提升為int喻喳,然后再計算。

??? ??? ??? -char類型字符困曙,和int類型數(shù)值表伦,之間的對照關(guān)系表:ASCII,Unicode

?????? 3.對于字符串String(首字母大寫,并不是關(guān)鍵字)來慷丽。加號代表字符串連操作蹦哼。

??? ??? ??? -任何數(shù)據(jù)類型和字符串進(jìn)行連的時候,結(jié)果都會變成字符串

例子:

public class PlusDemo{

???? public static void main(String[] args){

???? ???? //字符串類型的變量基本使用

???? ???? //數(shù)據(jù)類型 變量名稱 = 數(shù)據(jù)值

???? ???? String str1 = "Hello";

???? ???? System.out.println(str1);//Hello

???? ???? System.out.println("Hello"+"Hello");//HelloHello

???? ???? String str2 = "Java";

???? ???? //String + int --->String

???? ???? System.out.println(str2 + 20);//Java20

???? ???? //優(yōu)先問題

???? ???? //String + int + int

???? ???? //String ? + int

???? ???? //String

???? ???? System.out.println(str2 + 20 + 30);//Java2030

???? ???? System.out.println(str2+(20+30));//Java50

???? }

}

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



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

自增運(yùn)算符:++

自減運(yùn)算符:--

基本含義:讓一個變量漲一個數(shù)字1要糊,或者讓一個變量降一個數(shù)字1

使用格式:寫在變量名稱之前纲熏,或者寫在一個變量名稱之后

???? -eg:++num , num++

使用方式

???? 1.單獨(dú)使用:不和其他任何操作混合,自己單獨(dú)成為一個步驟

???? 2.混合使用锄俄,和其他操作混合局劲,例如與賦值混合,或者和打印操作混合奶赠,等

使用區(qū)別

???? 1.在單獨(dú)使用的時候鱼填,前++和后++沒有任何區(qū)別,也就是:++num;和 num ++;是完全一樣的

???? 2.在混合使用的時候毅戈,有【重大區(qū)別】

???? ???? A.如果是前++苹丸,那么變量立刻+1塑猖,然后拿著結(jié)果進(jìn)行使用【先加后用】

???? ???? B.如果是后++,那么變量先使用谈跛,【然后再讓變量+1】【先用后加】

注意事項:

???? 1.只有變量才能使用自增羊苟、自減運(yùn)算符。常量不可發(fā)生改變感憾,所以不能用蜡励。

例子:

public class PeratorDemo2{

???? public static void main(String[] args){

???? ???? int num1 = 10;

???? ???? System.out.println(num1);

???? ???? ++num1;//單獨(dú)使用,前++

???? ???? System.out.println(num1);//11

???? ???? num1++;//單獨(dú)使用,后++

???? ???? System.out.println(num1);//12

???? ???? System.out.println("================");

???? ???? //與打印操作混合的時候

???? ???? int num2 = 20;

???? ???? //混合使用,先++阻桅,變量立馬上變成21凉倚,然后打印結(jié)果21

???? ???? System.out.println(++num2);//21

???? ???? //混合使用,后++嫂沉,變量先打印成原來的21 稽寒,然后變量+1變成22

???? ???? System.out.println(num2++);//21

???? ???? System.out.println(num2);//22

???? ???? System.out.println("===========");

???? ???? //和賦值操作混合使用

???? ???? int num3 = 30 ;

???? ???? //混合使用,先---,變量先變成29,然后賦值給result1

???? ???? int result1 = -- num3;//result=29

???? ???? System.out.println(result1);//29

???? ???? System.out.println(num3);//29

???? ???? //混合使用趟章,先將num3賦值給result2,再將變量變成28

???? ???? int result2 = num3 --;//將29賦值給result2

???? ???? System.out.println(result2);//29

???? ???? System.out.println(result2);//29

???? ???? System.out.println(num3);//28

???? }

}

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



3.賦值運(yùn)算符

賦值運(yùn)算符分為:

???? 基本賦值運(yùn)算符:就是一個等號"=",代表將右側(cè)的數(shù)據(jù)交給左側(cè)的變量

???????? int a = 30;

???? 復(fù)合賦值運(yùn)算符

???? += ???? ???? a += 1 ???? ???? 相當(dāng)于???? ???? a = a + 1

???? -= ???? ???? a -= 1 ???? ???? 相當(dāng)于???? ???? a = a - 1

???? *= ???? ???? a *= 1 ???? ???? 相當(dāng)于 ???? ???? a = a * 1

???? /= ???? ???? a /= 1 ???? ???? 相當(dāng)于 ???? ???? a = a / 1

???? %= ???? a %= 1 ???? ???? 相當(dāng)于 ???? ???? a = a % 1

例子:

public class PeratorDemo3{

???? public static void main(String[] args ){

???? ???? int a = 10;

???? ???? a+=5;//相當(dāng)于 a= a+5 ---->10+5 = 15

???? ???? System.out.println(a);//15

???? ???? int x = 10;

???? ???? x %= 3;//相當(dāng)于 x= x%3 ---->10%3 = 1

???? ???? System.out.println(x);//1

???? ???? byte num = 30;

???? ???? //num = num + 5

???? ???? //num = byte + int

???? ???? //num = int

???? ???? //num = (byte)int

???? ???? num +=5;

???? ???? System.out.println(num);//35

???? }

}

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



4.比較運(yùn)算符

大于:???? ???? >

小于:???? ???? <

大于等于: ??? >=

小于等于:?? <=

相等: ???? ??? ==

不等于: ???? !=

注意事項:

???? 1.比較運(yùn)算符的結(jié)果一定是一個boolean值杏糙,成立就是true,不成立就是false

???? 2.如果進(jìn)行多次判斷,不能連著寫

???? ???? 數(shù)學(xué)當(dāng)中的寫法 例如:1<x<3

???? ???? 程序中不允許這樣寫

例子:

public class PeratorDemo4{

???? public static void main(String[] args){

???? ???? System.out.println(10 > 5);//true

???? ???? int num1 = 10;

???? ???? int num2 = 12;

???? ???? System.out.println(num1 < num2);//true

???? ???? System.out.println(num2 >= 100);//false

???? ???? System.out.println(num2 <= 100);//true

???? ???? System.out.println(num2 <= 12);//true

???? ???? System.out.println("=============");

???? ???? System.out.println(10 == 10);//true

???? ???? System.out.println(20 != 25);//true

???? ???? System.out.println(20 != 20);//false

???? }

}

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



5.邏輯運(yùn)算符

(并且) && 全都是true,才是true,否者就是false

(或者) || 只要至少一個是true,就是true;全都是false,才是false

(取反) ! 本來是true,變成false,本來是false,變成true

短路

???? 與“&&”蚓土,或“||”宏侍,具有短路的效果:如果根據(jù)左邊已經(jīng)判斷得到最終結(jié)果

???? 那么右邊的代碼將不再執(zhí)行,從而節(jié)省一定的性能

注意事項:

???? 1.邏輯運(yùn)算符只能用于boolean值

???? 2.與或需要左右各自有一個boolean值蜀漆,大宋取反只有唯一一個boolean值

???? 3.與谅河、或兩運(yùn)算符,如果有多個條件确丢,可以連續(xù)寫

???? ???? 兩個條件:條件A &&條件B

???? ???? 多個條件:條件A &&條件B &&條件C

例子:

public class LogicDemo{

???? public static void main(String[] args){

???? ???? System.out.println(true && false);// false

???? ???? //true && true ---> true

???? ???? System.out.println(3 < 4 && 10 > 5);//true

???? ???? System.out.println("===============");

???? ???? System.out.println(true || false);//true

???? ???? System.out.println(true || true);//true

???? ???? System.out.println(false || false);//false

???? ???? System.out.println("===============");

???? ???? System.out.println(true);//true

???? ???? System.out.println(!false);//false

???? ???? System.out.println("===============");

???? ???? int a = 10;

???? ???? //false && ......

???? ???? System.out.println(3 > 4&& ++a < 100);//false

???? ???? System.out.println(a);//10

???? ???? System.out.println("================");

???? ???? int b = 10;

???? ???? //true || ......

???? ???? System.out.println(3 < 4 || ++b <100);//true

???? ???? System.out.println(b);//10

???? }

}

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


6.三元運(yùn)算符

一元運(yùn)算符:只需要一個數(shù)據(jù)就可以進(jìn)行操作的運(yùn)算符绷耍。例如:取反!鲜侥,自增++

二元運(yùn)算符:需要兩數(shù)據(jù)才能進(jìn)行的操作的運(yùn)算符褂始,例如:加法+,賦值=

三元運(yùn)算符:需要三個數(shù)據(jù)才可以進(jìn)行操作的運(yùn)算符

格式

???? 數(shù)據(jù)類型 變量名稱 = 條件判斷 剃毒?表達(dá)式A : 表達(dá)式B;

流程

???? 首先判斷條件是否成立:

???? ???? 如果成立為true,那么將表達(dá)式A的值賦值給左側(cè)變量

???? ???? 如果不成立為false,那么將表達(dá)式B的值賦值給左側(cè)變量

注意事項

???? 1.必須同時保證表達(dá)式A和表達(dá)式B都符合左側(cè)數(shù)據(jù)類型的要求

???? 2.三元運(yùn)算的結(jié)果必須被使用

例子:

public class PeratorDemo5{

???? public static void main(String[] args){

???? ???? int a = 10;

???? ???? int b = 20;

???? ???? //數(shù)據(jù)類型 變量名稱 = 條件判斷 病袄? 表達(dá)式A :表達(dá)式B

???? ???? //判斷a>b是否成立搂赋,如果成立將a的值賦值給max赘阀,如果不成立將b的值賦值給max

???? ???? int max = a > b ? a : b;

???? ???? System.out.println(max);//20

???? ???? //int result = 3 > 4 ? 2.5 : 10;//錯誤寫法

???? ???? //a > b ? a : b;//錯誤寫法

???? }

}

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


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市脑奠,隨后出現(xiàn)的幾起案子基公,更是在濱河造成了極大的恐慌,老刑警劉巖宋欺,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轰豆,死亡現(xiàn)場離奇詭異胰伍,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)酸休,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門骂租,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人斑司,你說我怎么就攤上這事渗饮。” “怎么了宿刮?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵互站,是天一觀的道長。 經(jīng)常有香客問我僵缺,道長胡桃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任磕潮,我火速辦了婚禮翠胰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘自脯。我一直安慰自己亡容,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布冤今。 她就那樣靜靜地躺著闺兢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪戏罢。 梳的紋絲不亂的頭發(fā)上屋谭,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天,我揣著相機(jī)與錄音龟糕,去河邊找鬼桐磁。 笑死,一個胖子當(dāng)著我的面吹牛讲岁,可吹牛的內(nèi)容都是我干的我擂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼缓艳,長吁一口氣:“原來是場噩夢啊……” “哼校摩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起阶淘,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤衙吩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后溪窒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坤塞,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡冯勉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了摹芙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片灼狰。...
    茶點(diǎn)故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖浮禾,靈堂內(nèi)的尸體忽然破棺而出伏嗜,到底是詐尸還是另有隱情,我是刑警寧澤伐厌,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布承绸,位于F島的核電站,受9級特大地震影響挣轨,放射性物質(zhì)發(fā)生泄漏军熏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一卷扮、第九天 我趴在偏房一處隱蔽的房頂上張望荡澎。 院中可真熱鬧,春花似錦晤锹、人聲如沸摩幔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽或衡。三九已至,卻和暖如春车遂,著一層夾襖步出監(jiān)牢的瞬間封断,已是汗流浹背盈简。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工毫深, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人灵妨。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓衣陶,卻偏偏與公主長得像柄瑰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子剪况,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容