運(yùn)算符&Scanner&Random&流程控制語句

1.運(yùn)算符

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

? ? ? ? +: ?正號(hào)(可以忽略);加法運(yùn)算;串的連接 ? ?? ? ? ? ? ? ? ?

? ? ? ? -:?負(fù)號(hào); 減法運(yùn)算; ? ? ? ? ? ? ? ?

????????*/:乘除

%:取模

++ ? --:自增自減

++,--操作自己

????????++放在操作數(shù)的前面還是后面,都是自身+1

????????--放在操作數(shù)的前面還是后面,都是自身-1

++,--操作別人

????????++--放在操作數(shù)的前面,先自身+1|-1,再去參與運(yùn)算

????????++--放在操作數(shù)的后面,先去參與運(yùn)算,在自身+1-1

????賦值運(yùn)算符

基礎(chǔ)賦值運(yùn)算符

????????=? 是java中唯一一個(gè)自右向左運(yùn)算的符號(hào)?,優(yōu)先級(jí)最低

?擴(kuò)展賦值運(yùn)算符(算數(shù)運(yùn)算符+基礎(chǔ)賦值運(yùn)算符)

????????+=? a+=b; ==> a=a+b;

????????-=

????????*= a*=b; ==> a=a*b;

????????/=

????????%=

推薦使用擴(kuò)展賦值運(yùn)算符,因?yàn)檫@樣執(zhí)行效率高.

????比較運(yùn)算符|關(guān)系運(yùn)算符

????????> ?< ?>= ?<=

? ??????????byte ? short ?int ?long ?float ?double ?char

????????== ? ?!=

? ??????????基本數(shù)據(jù)類型,引用數(shù)據(jù)類型

關(guān)系運(yùn)算符最終得到的結(jié)果 boolean類型的結(jié)果

????邏輯運(yùn)算符

& 與 ? ? ?一個(gè)false就是false,兩個(gè)都為true,才為true

|? 或 ? ? ?一個(gè)為true就是true,兩個(gè)都為false,才是false

!? 非 ? ? ? 取反? !true->false? !false->true

^? 亦或 ? ?相同為false,不同為true

短路: 如果第一個(gè)操作數(shù)就能夠決定最終的結(jié)果,第二個(gè)操作數(shù)位置不執(zhí)行

&& 短路與

|| 短路或

推薦使用短路內(nèi)容

所有的邏輯運(yùn)算符的操作數(shù)都為值為boolean類型的表達(dá)式

????條件運(yùn)算符

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

條件表達(dá)式:值為boolean類型的表達(dá)式

執(zhí)行流程:

????????1.條件表達(dá)式 ,最終會(huì)得到一個(gè)boolean結(jié)果

????????2.如果結(jié)果為true,整個(gè)條件表達(dá)式最終的結(jié)果為值1

????????3.如果結(jié)果為flase,最終結(jié)果為值2

條件運(yùn)算符最終肯定會(huì)得到一個(gè)結(jié)果

????位運(yùn)算符

先把操作數(shù)轉(zhuǎn)為二進(jìn)制,根據(jù)運(yùn)算符的邏輯進(jìn)行操作,最終得到的結(jié)果再轉(zhuǎn)為十進(jìn)制

& : 同一位置的兩個(gè)數(shù),如果一個(gè)為0就是0,兩個(gè)都為1才是1

| : 同一位置的兩個(gè)數(shù),如果一個(gè)為1就是1,兩個(gè)都為0才是0

^ : 同一位置的兩個(gè)數(shù),相同為0,不同為1

位移運(yùn)算符

<< 左移 第一個(gè)操作數(shù)轉(zhuǎn)為2進(jìn)制,第二個(gè)操作數(shù)是移動(dòng)位數(shù) ,向左移動(dòng)指定的位數(shù),空位補(bǔ)零

8<<2? 1000左移2位? 1000 00 -> 轉(zhuǎn)為十進(jìn)制 32

>> 右移 第一個(gè)操作數(shù)轉(zhuǎn)為2進(jìn)制,第二個(gè)操作數(shù)是移動(dòng)位數(shù) ,向右移動(dòng)指定的位數(shù),想象數(shù)據(jù)的右邊有一條分水線,右側(cè)的內(nèi)容砍掉,只保留左側(cè)的數(shù)據(jù),轉(zhuǎn)為十進(jìn)制

8>>2? 1000 右移2位? 10->轉(zhuǎn)為十進(jìn)制? 2

右移相當(dāng)于/2? ? 8>>3? 8/2^3

左移相當(dāng)于*2 8<<3? 8*2^3

位運(yùn)算符比直接使用* /效率高

2.Scanner

Scanner : 接收鍵盤輸入的內(nèi)容

使用步驟:

????????1.導(dǎo)包? import 導(dǎo)入 + 權(quán)限命名(報(bào)名+類名);

????????????????????位置: 類的上面導(dǎo)包

????????2.創(chuàng)建這個(gè)類型的引用

????????????????????Scanner sc=new Scanner(System.in);

????????3.使用功能:

? ? ? ? ? ? ? ? 引用.功能名字();

????????????????????sc.nextInt();? 接收用戶鍵盤輸入的整數(shù)類型的數(shù)據(jù)

????????????????????sc.nextLong();? 接收用戶鍵盤輸入的整數(shù)類型的數(shù)據(jù)

????????????????????sc.nextByte();? 接收用戶鍵盤輸入的整數(shù)類型的數(shù)據(jù)

????????????????????sc.nextShort();? 接收用戶鍵盤輸入的整數(shù)類型的數(shù)據(jù)

????????????????????sc.nextFloat();? 接收用戶鍵盤輸入的整數(shù)類型的數(shù)據(jù)

????????????????????sc.nextDouble();? 接收用戶鍵盤輸入的整數(shù)類型的數(shù)據(jù)

????????????????????sc.next()? 從有效字符開始接收,空格不算,接收用戶輸入的字符串內(nèi)容,知道遇到空格,tab,就接收不到數(shù)據(jù),但是功能沒有停止,遇到enter功能結(jié)束

????????????????????sc.nextLine() 接收一整行的數(shù)據(jù)

????????????????????從第一個(gè)字符開始接收,知道遇到enter結(jié)束

????????????????????系列next功能不能接收enter,遇到enter結(jié)束,nextLine可以接收enter

????????4.關(guān)閉

????????????????????引用.close()

關(guān)閉了之后就不能再次使用,就算是重新打開也不好用

3.Random

產(chǎn)生隨機(jī)數(shù)

1.導(dǎo)包? import java.util.Random;

2.創(chuàng)建類型的引用 Random ran=new Random();

3.使用功能:

引用.nextInt();? 產(chǎn)生一個(gè)int范圍內(nèi)的隨機(jī)整數(shù)

引用.nextInt(整數(shù)n);? 產(chǎn)生一個(gè) [0,n) 隨機(jī)整數(shù)

[0,max) ran.nextInt(max);

[0,max]? ran.nextInt(max+1);

[min,max] ran.nextInt(max-min+1)+min;

[min,max) ran.nextInt(max-min)+min;

引用.nextDouble() [0.0,1.0)之間的隨機(jī)小數(shù)

4.流程控制語句


順序結(jié)構(gòu): 從上到下從左到右

選擇結(jié)構(gòu): 滿足條件才能執(zhí)行

循環(huán)結(jié)構(gòu): 重復(fù)執(zhí)行某些代碼

選擇結(jié)構(gòu):

????????if ...else

????????switch

if else語句

if結(jié)構(gòu):

????????單選擇|單分支:

????????if(條件表達(dá)式){

????????????????????滿足條件才執(zhí)行的語句體;

????????????}

條件表達(dá)式:值為boolean類型的表達(dá)式

執(zhí)行流程:

1.執(zhí)行條件表達(dá)式,如果結(jié)果為true,就執(zhí)行語句體

2.如果結(jié)果為false,就跳過if結(jié)構(gòu)

雙選擇|雙分支:

if(條件表達(dá)式){

語句體1;

}else{

語句體2;

}

執(zhí)行流程:

1.執(zhí)行條件表達(dá)式,如果結(jié)果為true,就執(zhí)行語句體1

2.如果結(jié)果為false,就執(zhí)行語句體2

多選擇|多分支:

if(條件表達(dá)式1){

語句體1;

}else if(條件表達(dá)式2){

語句體2;

}

.....

else{

以上條件都不滿足,就執(zhí)行else中的內(nèi)容? 語句體n

}

執(zhí)行流程:

1.計(jì)算條件表達(dá)式1,如果結(jié)果為true,執(zhí)行語句體1,如果結(jié)果為false

2.執(zhí)行條件表達(dá)式2,如果結(jié)果為true,執(zhí)行語句體2,如果結(jié)果為false

....

如果以上條件都不滿足,執(zhí)行else中的語句體n

注意:如果語句體只有一句,前后的{}可以省略

如果一個(gè)if語句中如果存在接盤俠else,肯定有結(jié)果

if與條件運(yùn)算符之間的區(qū)別:

條件運(yùn)算符肯定有結(jié)果,if不一定

能使用條件運(yùn)算符的就推薦使用條件運(yùn)算符,結(jié)構(gòu)簡單,效率較高

switch語句

定值判斷 switch

區(qū)間判斷? if

能用switch肯定能用if,能用if的不一定能用switch

switch(表達(dá)式){

case 值1 :

語句體1;

break;

case 值2:

語句體2;

break;

case 值3:

語句體3;

break;

......

default:

以上值都不滿足,執(zhí)行default中的內(nèi)容

break;

}

表達(dá)式: 只能為byte,short,int,char,字符串(1.7),枚舉(1.5)

一般使用變量

case: case后的定值與表達(dá)式的結(jié)果進(jìn)行判斷是否相等,對(duì)應(yīng)執(zhí)行不同的語句體

break: 結(jié)束switch語句,如果沒有break,會(huì)發(fā)生case穿透,從現(xiàn)在執(zhí)行完的語句體開始,如果沒有break,下面的case無論是否相等,都會(huì)執(zhí)行對(duì)應(yīng)的語句體,直到遇到下一個(gè)break或者switch語句的結(jié)束而結(jié)束

default: 接盤俠,相當(dāng)于else,以上值都不滿足,執(zhí)行default中的內(nèi)容

可寫可不寫,default位置可以改變

執(zhí)行流程:

1.計(jì)算表達(dá)式

2.那值與case后的值比較是否相等,如果相等

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市凌受,隨后出現(xiàn)的幾起案子阵子,更是在濱河造成了極大的恐慌,老刑警劉巖胜蛉,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挠进,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡誊册,警方通過查閱死者的電腦和手機(jī)领突,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來案怯,“玉大人君旦,你說我怎么就攤上這事。” “怎么了于宙?”我有些...
    開封第一講書人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵浮驳,是天一觀的道長悍汛。 經(jīng)常有香客問我捞魁,道長,這世上最難降的妖魔是什么离咐? 我笑而不...
    開封第一講書人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任谱俭,我火速辦了婚禮,結(jié)果婚禮上宵蛀,老公的妹妹穿的比我還像新娘昆著。我一直安慰自己,他們只是感情好术陶,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開白布凑懂。 她就那樣靜靜地躺著,像睡著了一般梧宫。 火紅的嫁衣襯著肌膚如雪接谨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評(píng)論 1 291
  • 那天塘匣,我揣著相機(jī)與錄音脓豪,去河邊找鬼。 笑死忌卤,一個(gè)胖子當(dāng)著我的面吹牛扫夜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播驰徊,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼笤闯,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了棍厂?” 一聲冷哼從身側(cè)響起颗味,我...
    開封第一講書人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎勋桶,沒想到半個(gè)月后脱衙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡例驹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年捐韩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鹃锈。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡荤胁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出屎债,到底是詐尸還是另有隱情仅政,我是刑警寧澤垢油,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站圆丹,受9級(jí)特大地震影響滩愁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜辫封,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一硝枉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧倦微,春花似錦妻味、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拓劝,卻和暖如春雏逾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背凿将。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來泰國打工校套, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人牧抵。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓笛匙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親犀变。 傳聞我的和親對(duì)象是個(gè)殘疾皇子妹孙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

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