国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java基礎語法(3)

2019-11-07 23:35:06
字體:
來源:轉載
供稿:網友

1:switch語句(掌握) (1)格式: switch(表達式) { case 值1: 語句體1; break; case 值2: 語句體2; break; … default: 語句體n+1; break; }

格式解釋說明: switch:說明這是switch語句。 表達式:可以是byte,short,int,char JDK5以后可以是枚舉 JDK7以后可以是字符串 case:后面的值就是要和表達式進行比較的值 break:表示程序到這里中斷,跳出switch語句 default:如果所有的情況都不匹配,就執行這里,相當于if語句中的else(2)面試題 switch語句的表達式可以是byte嗎?可以是long嗎?可以是String嗎? 可以,不可以,JDK7以后可以(3)執行流程: A:首先計算表達式的值 B:和每一個case進行匹配,如果有就執行對應的語句體,看到break就結束。 C:如果沒有匹配,就執行default的語句體n+1。(4)注意事項: A:case后面只能是常量,不能是變量,而且,多個case后面的值不能出現相同的 B:default可以省略嗎? 可以省略,但是不建議,因為它的作用是對不正確的情況給出提示。 特殊情況: case就可以把值固定。 A,B,C,D C:break可以省略嗎? 可以省略,但是結果可能不是我們想要的。 會出現一個現象:case穿透。 最終我們建議不要省略 D:default一定要在最后嗎? 不是,可以在任意位置。但是建議在最后。 E:switch語句的結束條件 a:遇到break就結束了 b:執行到末尾就結束了(5)案例: A:鍵盤錄入一個數字(1-7),輸出對應的星期幾。 B:單項選擇題 C:鍵盤錄入一個字符串的問題 String s = sc.nextLine(); D:根據給定的月份,輸出對應的季節 /*用switch語句實現鍵盤錄入月份,輸出對應的季節分析: A:鍵盤錄入一個月份,用Scanner實現 B:用switch語句實現即可if語句和switch語句的區別? if語句: A:針對結果是boolean類型的判斷 B:針對一個范圍的判斷 C:針對幾個常量值的判斷 switch語句: 針對幾個常量值的判斷

*/ import java.util.Scanner;

class SwitchTest4 { public static void main(String[] args) { //創建鍵盤錄入對象 Scanner sc = new Scanner(System.in);

//錄入數據 System.out.} (6)if語句和switch語句各自的場景 A:if 針對boolean類型的判斷 針對一個范圍的判斷 針對幾個常量的判斷 B:switch 針對幾個常量的判斷

2:循環語句(掌握) (1)有三種:for,while,do…while (2)for循環語句 A:格式 for(初始化語句;判斷條件語句;控制條件語句){ 循環體語句; }

執行流程: a:執行初始化語句 b:執行判斷條件語句 如果這里是true,就繼續 如果這里是false,循環就結束 c:執行循環體語句 d:執行控制條件語句 e:回到b B:注意事項 a:判斷條件語句無論簡單還是復雜,結果是boolean類型 b:循環體語句如果是一條,可以省略大括號,但是不建議 c:有分號就沒有左大括號,有左大括號就沒有分號 C:案例 a:輸出10次HelloWorld b:輸出1-10的數據 c:輸出10-1的數據 d:求1-10的和 e:求1-100的和,求1-100的偶數和,求1-100的奇數和 /*需求: A:求1-100之和。 B:求出1-100之間偶數和 C:求出1-100之間奇數和(自己做)

*/ class ForDemo4 { public static void main(String[] args) { //求1-100之和。 int sum1 = 0;

for(int x=1; x<=100; x++) { sum1 +=x; } System.out.println("1-100之和是:"+sum1); System.out.println("------------------"); //求出1-100之間偶數和 //方式1 int sum2 = 0; for(int x=1; x<=100; x++) { if(x%2 == 0) { sum2 += x; } } System.out.println("1-100偶數之和是:"+sum2); System.out.println("------------------"); //方式2 int sum3 = 0; for(int x=0; x<=100; x+=2) { sum3 += x; } System.out.println("1-100偶數之和是:"+sum3); System.out.println("------------------");}

} f:求5的階乘 g:在控制臺打印水仙花數 h:統計水仙花個數 i:改進版的回文數 一個五位數 個位 = 萬位 十位 = 千位 個位 + 十位 + 千位 + 萬位 = 百位 j:統計1-1000之間同時滿足如下條件的數據有多少個 x%3==2 x%5==3 x%7==2 /* 需求:請統計1-1000之間同時滿足如下條件的數據有多少個: 對3整除余2 對5整除余3 對7整除余2

分析: A:定義統計變量,初始化值是0 B:1-1000之間是一個范圍,用for很容易就可以實現。 C:每個數據要同時滿足如下要求 x%3==2 x%5==3 x%7==2 D:如果滿足條件,統計數據++即可,最后輸出統計變量

*/ class ForDemo9 { public static void main(String[] args) { //定義統計變量,初始化值是0 int count = 0;

//1-1000之間是一個范圍,用for很容易就可以實現。 for(int x=1; x<=1000; x++) { /* 每個數據要同時滿足如下要求 x%3==2 x%5==3 x%7==2 */ if(x%3==2 && x%5==3 && x%7==2) { count++; System.out.println(x); } } //輸出數據 System.out.println("滿足這樣條件的數據共有:"+count+"個");}

} (3)while循環 A:基本格式 while(判斷條件語句) { 循環體語句; }

擴展格式: 初始化語句; while(判斷條件語句){ 循環體語句; 控制條件語句; } 通過查看這個格式,我們就知道while循環可以和for循環等價轉換。 B:while的練習 把for語句的練習用while改進 C:for和while的區別 a:使用上的區別 for語句的那個控制條件變量,在循環結束后不能在使用了。 而while的可以繼續使用。 b:理解上的區別 for適合于一個范圍的判斷 while適合次數不明確的 舉例:吃葡萄 D:案例: a:珠穆朗瑪峰問題 b:小芳存錢問題(break以后才能做)(4)do...while循環 A:基本格式 do { 循環體語句; }while(判斷條件語句); 擴展格式: 初始化語句; do { 循環體語句; 控制條件語句; }while(判斷條件語句); 通過查看格式,我們就可以看出其實三種循環的格式可以是統一的。 B:三種循環的區別 a:do...while循環至少執行一次循環體 b:for和while必須先判斷條件是否是true,然后后才能決定是否執行循環體(5)循環使用的注意事項(死循環) A:一定要注意修改控制條件,否則容易出現死循環。 B:最簡單的死循環格式 a:while(true){...} b:for(;;){}

3:控制跳轉語句(掌握) (1)break:中斷的意思 A:用在循環和switch語句中,離開此應用場景無意義。 B:作用 a:跳出單層循環 b:跳出多層循環,需要標簽語句的配合 (2)continue:繼續 A:用在循環中,離開此應用場景無意義。 B:作用 a:跳出單層循環的一次,可以繼續下一次 C:填空題 for(int x=1; x<=10; x++) { if(x%3 == 0) { //補齊代碼 } System.out.println(“Java基礎班”); } 如何讓控制臺輸出2次:Java基礎班 如何讓控制臺輸出7次:Java基礎班 如何讓控制臺輸出13次:Java基礎班 /* continue:繼續

使用場景: 循環中。離開此場景無意義。測試,找到和break的區別: break:跳出單層循環 continue:跳出一次循環,進入下一次的執行練習題: for(int x=1; x<=10; x++) { if(x%3==0) { //在此處填寫代碼 } System.out.println(“Java基礎班”); } 我想在控制臺輸出2次:“Java基礎班“ break; 我想在控制臺輸出7次:“Java基礎班“ continue; 我想在控制臺輸出13次:“Java基礎班“ System.out.println(“Java基礎班”);

*/ class ContinueDemo { public static void main(String[] args) { for(int x=0; x<10; x++) { if(x == 3) { //break; continue; }

System.out.println(x); }}

} (3)return:返回 A:用于結束方法的,后面還會在繼續講解和使用。 B:一旦遇到return,程序就不會在繼續往后執行。

練習: 1./* 需求:在控制臺輸出九九乘法表。

首先我們寫出九九乘法表: 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 ... 1*9=9 2*9=18 3*9=27 ...我們先把這個九九乘法表看出是這樣的一個形狀: * ** *** **** ***** ****** ******* ******** *********注意: '/x' x表示任意,這種做法叫轉移字符。 '/t' tab鍵的位置 '/r' 回車 '/n' 換行

*/ class ForForDemo3 { public static void main(String[] args) { for(int x=0; x<9; x++) { for(int y=0; y<=x; y++) { System.out.print(“*”); } System.out.println(); } System.out.println(“————–”); //為了使用數據,我們從1開始 for(int x=1; x<=9; x++) { for(int y=1; y<=x; y++) { System.out.print(y+”*”+x+”=”+y*x+”/t”); } System.out.println(); } } } 2./* 需求:小芳的媽媽每天給她2.5元錢,她都會存起來,但是, 每當這一天是存錢的第5天或者5的倍數的話,她都會花去6元錢, 請問,經過多少天,小芳才可以存到100元錢。

分析: A:小芳的媽媽每天給她2.5元錢 double dayMoney = 2.5; B:她都會存起來 double daySum = 0; C:從第一天開始存儲 int dayCount = 1; D:經過多少天,小芳才可以存到100元錢。 double result = 100; E:這一天是存錢的第5天或者5的倍數的話,她都會花去6元錢, 說明要判斷dayCount的值,如果對5整除就減去6元錢。 daySum -= 6; 由此還隱含了一個問題,就是如果不是5的倍數天的話,錢要累加 daySum += dayMoney; F:因為不知道是多少天,所以我用死循環,一旦超過100元我就退出循環。

*/ class WhileDemo { public static void main(String[] args) { //每天要存儲的錢是2.5元 double dayMoney = 2.5;

//存錢的初始化值是0 double daySum = 0; //從第一天開始存儲 int dayCount = 1; //最終存儲不小于100就不存儲了 int result = 100; //因為不知道是多少天,所以我用死循環, while(true) { //累加錢 daySum += dayMoney; //一旦超過100元我就退出循環。 if(daySum >= result) { System.out.println("共花了"+dayCount+"天存儲了100元"); break; } if(dayCount%5 == 0) { //花去6元錢 daySum -= 6; System.out.println("第"+dayCount+"天花了6元錢"); } //天數變化 dayCount++; }}

}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安达市| 登封市| 辉南县| 增城市| 巴南区| 新竹市| 民权县| 香港 | 麟游县| 武城县| 兴文县| 治多县| 江西省| 平阴县| 大丰市| 双江| 墨脱县| 湄潭县| 万州区| 扎鲁特旗| 望都县| 江口县| 伊宁县| 方城县| 镇雄县| 翼城县| 五华县| 合川市| 无棣县| 齐河县| 郎溪县| 宁蒗| 加查县| 龙陵县| 黔东| 南城县| 精河县| 盘山县| 新密市| 永安市| 突泉县|