day07
一、特殊的流程控制語句
break(day06)
continue
1.理解:
作用于循環中,表示跳過循環體剩余的部分,進入到下一次循環
做實驗:
while(true){
System.out.println(“111”);
System.out.println(“222”);
if(true){
continue;
}
System.out.println(“333”);
}
2.案例:
循環錄入Java課5名學生的成績,統計分數大于等于80分的學生比例。
解決方案一:Scanner scan = new Scanner(System.in);int count = 0;//分數大于等于80分學生的人數for(int i = 1;i<=5;i++){System.out.println("請輸入第" + i + "名學生的成績:");double score = scan.nextDouble();if(score >= 80){count++;}}double proportion = count/5.0*100;System.out.println("分數大于等于80分的學生比例為:" + proportion + "%");解決方案二:Scanner scan = new Scanner(System.in);int count = 0;//分數大于等于80分學生的人數for(int i = 1;i<=5;i++){System.out.println("請輸入第" + i + "名學生的成績:");double score = scan.nextDouble();if(score < 80){continue;}count++;}double proportion = count/5.0*100;System.out.println("分數大于等于80分的學生比例為:" + proportion + "%");
return
理解:
作用于方法中,表示結束該方法
做實驗:
System.out.println(“111”);
System.out.println(“222”);
if(true){
return;
}
System.out.println(“333”);
label
1.理解:
給循環取名字(做標記)
2.面試題:
描述下列代碼的運行結果
答:運行結果循環5遍
http://www.baidu.com
for(int i = 1;i<=5;i++){
System.out.println(i);
}
3.需求:
嵌套for循環,外層循環5次,內層循環3次,
當外層循環到第3次時,在內層循環中結束掉外層循環
a:for(int i = 1;i<=5;i++){
for(int j = 1;j<=3;j++){
System.out.println(i + " – " + j);
if(i == 3){
break a;//跳出指定循環
}
}
}
二、方法
概念:
特定功能的代碼塊
好處:減少了代碼的冗余
分類:
無參數無返回值的方法
帶參數的方法
帶返回值的方法
理解:
參數是方法調用時傳入的數據
返回值是方法執行完畢后返回的數據
無參數無返回值的方法
1.語法結構:
? public static void 方法名(){
? …代碼塊…
? }
2.注意:
? public表示公有的,意味著該方法在哪都可以調用
? static表示該方法為靜態方法,靜態方法直接使用類名調用
? void表示無返回值,該方法執行完畢后不會返回數據
? 方法寫在類里
? 方法與方法之間是平級關系
? 方法必須被調用,不然永遠是個擺設
? 方法可以重復調用
3.需求
public static void main(String[] args){調用方法Test04.play();Test04.run();調用方法run();play();}public static void run(){System.out.println("跑的方法 -- 500行");
}public static void play(){System.out.println("發技能的方法 -- 1200行");
}
帶參數的方法
1.語法結構:
? public static void 方法名(參數列表){
? …代碼塊…
? }
2.注意:
? 形式參數-形參:方法聲明時設置的參數
? 形參必須設置類型
? 多個形參使用逗號分隔
? 局部變量表示方法里的變量,其作用域只能在方法中使用
? 形參也是局部變量
? 實際參數-實參:調用方法時傳入的具體參數
? 多個實參使用逗號分隔
? 實參與形參的個數必須一致,并且類型必須兼容
3.需求:
設計一個方法(getMax),傳入兩個int類型的數字,輸出最大值
public static void main(String[] args){//調用方法getMax(10,20);
}public static void getMax(int a,int b){int max = (a>b)?a:b;System.out.println("最大值為:" + max);
}
帶返回值的方法
1.語法結構:
? public static 返回值類型 方法名([參數列表]){
? …代碼塊…
? return 具體數據;
? }
2.注意:
? 方法聲明時規定返回值類型
? 返回的具體數據必須和方法聲明時返回值類型兼容
? 方法功能的單一性(不要讓一個方法的功能太強大)
3.需求:
設計一個方法(getMax),傳入兩個int類型的數字,返回最大值
public static void main(String[] args){Scanner scan = new Scanner(System.in);System.out.println("請輸入第一個數字:");int a = scan.nextInt();System.out.println("請輸入第二個數字:");int b = scan.nextInt();System.out.println("請輸入第三個數字:");int c = scan.nextInt();//調用方法int max = getMax(a,b);max = getMax(max,c);System.out.println("最大值為:" + max);
}public static int getMax(int a,int b){int max = (a>b)?a:b;return max;//1.將max返回給調用方 2.結束該方法
}
總結
1.特殊的流程控制語句
continue
return
label – 面試題2.方法
概念
分類(如何去理解參數和返回值)
無參數無返回值的方法
帶參數的方法
帶返回值的方法