java從入門到精通-day03赦政、選擇語句&循環(huán)語句&隨機(jī)數(shù)

day03

一.選擇語句


1.選擇語句:switch

?? 格式:

? ? ? switch(表達(dá)式){

? ? ? ?? case 常量值1:

? ? ? ?? 執(zhí)行語句1;

? ? ? ?? break;

? ? ? ?? case 常量值2:

? ? ? ?? 執(zhí)行語句2;

? ? ? ?? break;

? ? ? ?? case 常量值3:

? ? ? ?? 執(zhí)行語句3;

? ? ? ?? break;

? ? ? ?? case 常量值4:

? ? ? ?? 執(zhí)行語句4;

? ? ? ?? break;

? ? ? ?? .....

? ? ? ?? default:

? ? ? ?? 執(zhí)行語句n;

? ? ? ?? break;

? ? ? }

?? 2.執(zhí)行流程:

? ? ? ?? 1.拿著我們所填的表達(dá)式去和下面每一個(gè)case后面的常量值去做匹配,匹配上誰,就走

? ? ? ? ?? 對應(yīng)的執(zhí)行語句

? ? ? ?? 2.如果以上所有的case都沒有匹配上,直接走default對應(yīng)的執(zhí)行語句

?? 3.注意:case后面的常量值的類型要和我們所填寫的表達(dá)式的類型一致

? ? ?? break是結(jié)束switch語句結(jié)構(gòu)的

代碼演示:

?? public class Demo01Switch {

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

? ? ?? int i = 5;

? ? ?? switch (i) {

? ? ? ? ?? case 1:

? ? ? ? ? ? ?? System.out.println("濤哥最帥!");

? ? ? ? ? ? ?? break;

? ? ? ? ?? case 2:

? ? ? ? ? ? ?? System.out.println("波多小姐最美");

? ? ? ? ? ? ?? break;

? ? ? ? ?? case 3:

? ? ? ? ? ? ?? System.out.println("大橋也很美!");

? ? ? ? ? ? ?? break;

? ? ? ? ?? case 4:

? ? ? ? ? ? ?? System.out.println("柳巖也很美!");

? ? ? ? ? ? ?? break;

? ? ? ? ?? default:

? ? ? ? ? ? ?? System.out.println("他們都挺喜歡濤哥!");

? ? ? ? ? ? ?? break;

? ? ?? }

?? }

?? ========================================================

練習(xí):

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

?? //定義月份變量嗡呼,判斷季節(jié)

?? int month = 6;

?? //switch語句實(shí)現(xiàn)選擇

?? switch(month) {

? ? ?? case 1:

? ? ? ? ?? System.out.println("冬季");

? ? ? ? ?? break;

? ? ?? case 2:

? ? ? ? ?? System.out.println("冬季");

? ? ? ? ?? break;

? ? ?? case 3:

? ? ? ? ?? System.out.println("春季");

? ? ? ? ?? break;

? ? ?? case 4:

? ? ? ? ?? System.out.println("春季");

? ? ? ? ?? break;

? ? ?? case 5:

? ? ? ? ?? System.out.println("春季");

? ? ? ? ?? break;

? ? ?? case 6:

? ? ? ? ?? System.out.println("夏季");

? ? ? ? ?? break;

? ? ?? case 7:

? ? ? ? ?? System.out.println("夏季");

? ? ? ? ?? break;

? ? ?? case 8:

? ? ? ? ?? System.out.println("夏季");

? ? ? ? ?? break;

? ? ?? case 9:

? ? ? ? ?? System.out.println("秋季");

? ? ? ? ?? break;

? ? ?? case 10:

? ? ? ? ?? System.out.println("秋季");

? ? ? ? ?? break;

? ? ?? case 11:

? ? ? ? ?? System.out.println("秋季");

? ? ? ? ?? break;

? ? ?? case 12:

? ? ? ? ?? System.out.println("冬季");

? ? ? ? ?? break;

? ? ?? default:

? ? ? ? ?? System.out.println("你輸入的月份數(shù)字有誤");

? ? ? ? ?? break;

?? }

}

}

4.沒有break會出現(xiàn)case的穿透性

?? 如果沒有break就一直往下穿透執(zhí)行,直到遇到break或者程序結(jié)束了為止

? 代碼演示:

?? public class Demo03Case {

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

? ? ?? int i = 3;

? ? ?? switch (i) {

? ? ? ? ?? case 1:

? ? ? ? ? ? ?? System.out.println("濤哥最帥!");

? ? ? ? ?? case 2:

? ? ? ? ? ? ?? System.out.println("波多小姐最美");

? ? ? ? ?? case 3:

? ? ? ? ? ? ?? System.out.println("大橋也很美!");

? ? ? ? ?? case 4:

? ? ? ? ? ? ?? System.out.println("柳巖也很美!");

? ? ? ? ? ? ?? break;

? ? ? ? ?? default:

? ? ? ? ? ? ?? System.out.println("他們都挺喜歡濤哥!");

? ? ?? }

?? }

}

二.for循環(huán)

循環(huán)之for循環(huán)

? ?? 1.格式:

? ? ? ? for(初始化變量;比較;變量變值){

? ? ? ? ?? 循環(huán)體

? ? ? ? }

? ?? 2.執(zhí)行流程:

? ? ? ?? 1.先初始化變量

? ? ? ?? 2.拿著這個(gè)變量去比較

? ? ? ?? 3.如果比較成功,返回true,那么直接走循環(huán)體

? ? ? ?? 4.變量的值變化(步進(jìn)表達(dá)式)

? ? ? ?? 5.接著比較,比較返回true,接著走循環(huán)體

? ? ? ?? 6.接著步進(jìn)表達(dá)式

? ? ? ?? 7.接著比較,直到比較返回false,那么整個(gè)循環(huán)結(jié)束了


? ?? 3.代碼演示:

? ? ? ? for(int i = 1;i<=10;i++){

? ? ? ? ?? System.out.println("我愛Java");

? ? ? ? }

? ? ? ? 或者:

? ? ? ? for(int i = 0;i<10;i++){

? ? ? ? ?? System.out.println("我愛Java");

? ? ? ? }


for循環(huán)練習(xí)

練習(xí)1:求出1-100之間的偶數(shù)和

? /*

? 1+2+3+4+5+6+7..+100

? 需求:1-100之間的偶數(shù)和

? 步驟:

?? 1.定義一個(gè)變量去接收兩個(gè)數(shù)的和

?? 2.利用for循環(huán)去將1-100之間的數(shù)循環(huán)出來

?? 3.拿著循環(huán)出來的每一個(gè)數(shù)去做判斷,是否為偶數(shù)(數(shù)%2==0),如果是余數(shù)是0,證明是偶數(shù),相加

? ?? 將加完的結(jié)果重新賦值給那個(gè)變量

?? 4.輸出這個(gè)接收和的變量

*/

public class Demo03_ForTest {

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

? ? ?? int sum = 0;

? ? ?? for (int i = 1;i<=100;i++){

? ? ? ? ?? if (i%2==0){

? ? ? ? ? ? ?? sum = sum+i;

? ? ? ? ?? }

? ? ?? }

? ? ?? System.out.println("和為:"+sum);

?? }

}

練習(xí)2:求出所有的水仙花數(shù)

/*

? 求出所有的水仙花數(shù)

? ? 水仙花數(shù):3位數(shù)

? ? ? ? ? ? 個(gè)位的立方+十位的立方+百位的立方 = 原數(shù)

? ? ? ? ? ? 153:27+125+1=153

? ? ? ? ? ? 3 = 153%10;

? ? ? ? ? ? 5 = 153/10%10;

? ? ? ? ? ? 1 = 153/100

? 步驟:

? ?? 1.利用for循環(huán)去將所有的3位數(shù)循環(huán)出來

? ?? 2.循環(huán)的過程中,拿出每一個(gè)被循環(huán)出來的數(shù)去判斷

? ?? 3.求出循環(huán)出來的數(shù)的個(gè)位? 十位 ? 百位

? ?? 4.如果個(gè)位的立方+十位的立方+百位的立方 == 原數(shù),直接輸出

*/

public class Demo04_ForTest {

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

? ? ?? for (int i = 100;i<=999;i++){

? ? ? ? ?? int ge = i%10;

? ? ? ? ?? int shi = i/10%10;

? ? ? ? ?? int bai = i/100;

? ? ? ? ?? if (ge*ge*ge+shi*shi*shi+bai*bai*bai==i){

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

? ? ? ? ?? }

? ? ?? }

?? }

}

練習(xí)3:

? /*

? 統(tǒng)計(jì)水仙花個(gè)數(shù):

? ?? 步驟:

? ? ? ? 1.定義變量去統(tǒng)計(jì)水仙花的個(gè)數(shù)

? ? ? ? 2.利用for循環(huán)去將所有的3位數(shù)循環(huán)出來

? ? ? ? 3.循環(huán)的過程中,拿出每一個(gè)被循環(huán)出來的數(shù)去判斷

? ? ? ? 4.求出循環(huán)出來的數(shù)的個(gè)位? 十位 ? 百位

? ? ? ? 5.如果個(gè)位的立方+十位的立方+百位的立方 == 原數(shù),統(tǒng)計(jì)個(gè)數(shù)的變量加1

*/

public class Demo05_ForTest {

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

? ? ?? int count = 0;

? ? ?? for (int i = 100;i<=999;i++){

? ? ? ? ?? int ge = i%10;

? ? ? ? ?? int shi = i/10%10;

? ? ? ? ?? int bai = i/100;

? ? ? ? ?? if (ge*ge*ge+shi*shi*shi+bai*bai*bai==i){

? ? ? ? ? ? ?? count++;

? ? ? ? ?? }

? ? ?? }

? ? ?? System.out.println("水仙花的個(gè)數(shù)為:"+count);

?? }

}

三.while循環(huán)

1.格式:

? ? ? 初始化變量;

? ? ? while(比較){

? ? ? ? 循環(huán)體;

? ? ? ? 步進(jìn)表達(dá)式;

? ? ? }

2.執(zhí)行流程:

? ? ? ? 1.初始化變量

? ? ? ? 2.比較

? ? ? ? 3.如果比較返回true,進(jìn)入循環(huán)體

? ? ? ? 4.步進(jìn)表達(dá)式

? ? ? ? 5.接著比較,直到比較返回false,while循環(huán)結(jié)束了!

3.代碼演示:

?? public class Demo01_While {

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

? ? ?? /*

? ? ? ? 循環(huán)10次,性感濤哥,在線發(fā)牌

? ? ? ? */

? ? ?? int i = 0;

? ? ?? while(i<10){

? ? ? ? ?? System.out.println("性感濤哥,在線發(fā)牌"+i);

? ? ? ? ?? i++;

? ? ?? }

?? }

}

while循環(huán)練習(xí)

練習(xí)1:

? /*

? 需求:求出1-100之前的和利用while循環(huán)

*/

public class Demo02_WhileTest {

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

? ? ?? int sum = 0;

? ? ?? int i = 1;

? ? ?? while(i<=100){

? ? ? ? ? ? ?? sum+=i;//sum = sum+i;

? ? ? ? ?? i++;

? ? ?? }

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

?? }

}

練習(xí)2:

/*

? 紙的厚度是0.1毫米? 珠穆朗瑪峰的高度是8844430毫米

? 問:折多少次能折出一個(gè)珠穆朗瑪峰來

? 步驟:

? ? ? 1.定義變量去統(tǒng)計(jì)折的次數(shù)

? ? ? 2.定義變量表示紙的厚度

? ? ? 3.定義變量表示山峰的高度

? ? ? 4.循環(huán)比較,比較紙的厚度是否小于等于山峰的高度,如果符合條件,就折紙? *2

? ? ? 5.統(tǒng)計(jì)次數(shù)的變量++

*/

public class Demo03_WhileTest {

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

? ? ? ? int count = 0;

? ? ? ? double paper = 0.1;

? ? ? ? double zf = 8844430;

? ? ? ? while(paper<=zf){

? ? ? ? ? paper*=2;

? ? ? ? ? count++;

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

? ? ? ? }

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


四.死循環(huán)

/*

? 死循環(huán):一直循環(huán)

? 條件:一直為true

*/

public class DieFor {

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

? ? ? ? /*for (int i = 0;i<10;){

? ? ? ? ? ? System.out.println("岳不群自宮了~");

? ? ? ? }*/

? ? ? ? while(true){

? ? ? ? ? ? System.out.println("孫悟空是最純潔的猴");

? ? ? ? }

? ? }

}

五.嵌套for循環(huán)

1.概述:for中有for

2.執(zhí)行流程:

? ? 先執(zhí)行外層for循環(huán),再執(zhí)行內(nèi)層for循環(huán),內(nèi)存for循環(huán)就一直循環(huán),直到內(nèi)層for循環(huán)結(jié)束,外層for循環(huán)進(jìn)行下一次? ? 循環(huán).... 直到外層for循環(huán)結(jié)束了,那么整個(gè)所有的循環(huán)都結(jié)束了?


3.代碼演示:

? ? public class ForAndFor {

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

? ? ? ? for (int fen = 0; fen < 60; fen++) {

? ? ? ? ? ? for (int miao = 0;miao<60;miao++){

? ? ? ? ? ? ? ? System.out.println(fen+"分"+miao+"秒");

? ? ? ? ? ? }

? ? ? ? }

? ? }

}

六.Random隨機(jī)數(shù)

? ? 1.概述:是一個(gè)Java自帶的類

? ? 2.數(shù)據(jù)類型:引用數(shù)據(jù)類型

? ? 3.作用:隨機(jī)一個(gè)數(shù)

? ? 4.使用:

? ? ? ? ? 4.1 導(dǎo)包:java.util.Random

? ? ? ? ? 4.2 創(chuàng)建對象:Random 變量名 = new Random();

? ? ? ? ? 4.3 調(diào)用方法:

? ? ? ? ? ? ? ? nextInt()-->是在int型范圍內(nèi)隨機(jī)

? ? ? ? ? ? ? ? nextInt(int fanwei):在指定范圍內(nèi)隨機(jī)一個(gè)數(shù)

? ? ? ? ? ? ? ? ? ? 0-(fanwei-1)

? ? ? ? ? ? ? ? 需求:從100-999之間隨機(jī)一個(gè)數(shù)

? ? ? ? ? ? ? ? ? nextInt(900)+100? ? (0-899)+100-->整體都加100,所有的數(shù)往后挪100位

? ? ? ? ? ? ? ? ? ? ? 從1-100之間隨機(jī): nextInt(100)+1



? ? ? 5.代碼演示

? ? public class Demo02Random {

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

? ? ? ? Random rd = new Random();

? ? ? ? int num = rd.nextInt();

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

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

? ? ? ? int result = rd.nextInt(10);

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

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

? ? ? ? int result1 = rd.nextInt(900)+100;

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

? ? }

}

猜數(shù)字小游戲

/*

? 猜數(shù)字小游戲:隨機(jī)一個(gè)1-100之間的數(shù)

? ? ? 步驟

? ? ? ? 1.創(chuàng)建Scanner對象,調(diào)用nextInt()方法輸入一個(gè)整數(shù)

? ? ? ? 2.創(chuàng)建Random對象,調(diào)用nextInt(100)+1

? ? ? ? 3.如果我們錄入的數(shù)和隨機(jī)的數(shù)相等:輸出:恭喜你,中獎(jiǎng)了

? ? ? ? ? 如果我們錄入的數(shù)比隨機(jī)的數(shù)大:猜大了!

? ? ? ? ? 如果我們錄入的數(shù)比隨機(jī)的數(shù)小:猜小了!

*/

public class Demo03RandomTest {

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

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

? ? ? ? Random rd = new Random();

? ? ? ? int rdNumber = rd.nextInt(100)+1;

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

? ? ? ? while(true){

? ? ? ? ? ? System.out.println("請你輸入一個(gè)(1-100)之間的數(shù):");

? ? ? ? ? ? int scNumber = sc.nextInt();

? ? ? ? ? ? //判斷

? ? ? ? ? ? if (scNumber>rdNumber){

? ? ? ? ? ? ? ? System.out.println("對不起,您猜大了!");

? ? ? ? ? ? }else if(scNumber<rdNumber){

? ? ? ? ? ? ? ? System.out.println("對不起,您猜小了!");

? ? ? ? ? ? }else{

? ? ? ? ? ? ? ? System.out.println("恭喜你,中獎(jiǎng)了");

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? ? }

? ? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市芜抒,隨后出現(xiàn)的幾起案子托启,更是在濱河造成了極大的恐慌,老刑警劉巖拐迁,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件线召,死亡現(xiàn)場離奇詭異,居然都是意外死亡哈打,警方通過查閱死者的電腦和手機(jī)料仗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門立轧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肺孵,“玉大人平窘,你說我怎么就攤上這事瑰艘∽闲拢” “怎么了李剖?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長篙顺。 經(jīng)常有香客問我,道長德玫,這世上最難降的妖魔是什么匪蟀? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任宰僧,我火速辦了婚禮材彪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘段化。我一直安慰自己嘁捷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布穗泵。 她就那樣靜靜地躺著,像睡著了一般佃延。 火紅的嫁衣襯著肌膚如雪履肃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天膘螟,我揣著相機(jī)與錄音成福,去河邊找鬼。 笑死内斯,一個(gè)胖子當(dāng)著我的面吹牛蕴潦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播俘闯,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼潭苞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了真朗?” 一聲冷哼從身側(cè)響起此疹,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎遮婶,沒想到半個(gè)月后秀菱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蹭睡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了赶么。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肩豁。...
    茶點(diǎn)故事閱讀 39,991評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出清钥,到底是詐尸還是另有隱情琼锋,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布祟昭,位于F島的核電站缕坎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏篡悟。R本人自食惡果不足惜谜叹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望搬葬。 院中可真熱鬧荷腊,春花似錦、人聲如沸急凰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抡锈。三九已至疾忍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間床三,已是汗流浹背一罩。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留勿璃,地道東北人擒抛。 一個(gè)月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像补疑,于是被迫代替她去往敵國和親歧沪。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評論 2 355

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