###基礎文法(3)###
1. 迴圈語句:for / while / do...while
1)for迴圈
格式:for(迴圈變數初始化;迴圈變數條件;迴圈不變數變化){
迴圈操作
}
執行過程:
<1>執行迴圈變數初始化部分,設定迴圈初始化狀態,此部分在迴圈中只執行一次
<2>進行迴圈條件判斷,若為true則執行迴圈內代碼,false直接退出迴圈
<3>執行迴圈變數變化部分,改變迴圈變數得值,以便進行下一次條件判斷
<4>依次執行迴圈,一直到條件達到語句不成立時即false,退出迴圈
(註:有大括弧的地方不需要加分號,有分號的地方不需要加大括弧)
例題:求和,求出1~100的總和
2)while迴圈
格式: while(判斷條件){
迴圈操作
}
執行過程:
<1>判斷while後麵條件是否成立
<2>成立時,執行迴圈內操作直至條件不成立停止
例題:連續依次輸入1-5
3)do...while 迴圈
格式:do{
迴圈操作
}while(判斷條件)
執行過程:
<1>先執行一遍迴圈操作,然後判斷迴圈條件是否成立
<2>如果成立繼續執行直至不成立時結束迴圈
例題:計算50以內的偶數和
4)迴圈的嵌套
例題:打出9X9乘法表
ps:continue:停止當前迴圈進入下一次迴圈 、 break:結束迴圈
2. 數組:數組可以理解為一個巨大的盒子,裡面可以按順序存放多個類型相同的資料。
如
其中元素都可以通過下標來訪問
數組的下標從0開始 即這裡 score[0] = 76 . . . . . . score[3] = 87
數組的初始化:
1)動態初始化:指定數組長度,由系統給數組中的元素賦值
(這裡格式為:資料類型[ ] 數組名稱 = new 數群組類型 [ 指定長度 ] )
2)靜態初始化:指定數組中的元素的值,由系統給數組指定長度
處理數組中的資料:我們可以對賦值後的數組進行操作和處理
我們可以直接建立數組方式,它將聲明數組、分配空間和賦值合并完成
如:int[ ] sc = new int[ ]{5,15,25,35,48,55,38}
數組:length屬性:擷取數組長度
例:錄入一組資料,並且輸出該數組
3. 方法:方法就是用來解決一類問題的代碼的有序組合,即為一個功能模組
文法:存取修飾詞 傳回值類型 方法名(參數列表){
方法體
}
1) 存取修飾詞:方法允許被訪問的許可權範圍, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示該方法可以被其他任何代碼調用,其他幾種修飾符的使用在後面章節中會詳細講解滴
2)傳回值類型:方法傳回值的類型,如果方法不返回任何值,則傳回值類型指定為 void ;如果方法具有傳回值,則需要指定傳回值的類型,並且在方法體中使用 return 語句傳回值
3)方法名:定義的方法的名字,必須使用合法的標識符
4)參數列表:傳遞給方法的參數列表,參數可以有多個,多個參數間以逗號隔開,每個參數由參數類型和參數名組成,以空格隔開
根據方法是否帶參、是否帶傳回值,可將方法分為四類:
Ø 無參無傳回值方法
Ø 無參帶傳回值方法
Ø 帶參無傳回值方法
Ø 帶參帶傳回值方法
調用方法:
1)單獨調用:沒有具體結果
2)輸出調用:不夠好,將資料寫死,直接輸出的,不能對結果進行一下步的需求
3)賦值調用
例:在上一個例題中,我們增加方法,最佳化排序過程
問題:通過之前所學,我們來做一組較為複雜的程式需求如下
1)輸入一組數組 2)對數組進行輸出 3)對數組進行逆輸出 4)可以篩選出最大與最小數並輸出 5)增加資料的查詢功能 6)利用方法最佳化程式過程
package example;import java.util.Scanner;public class Ex1 {public static void main(String[] args) {@SuppressWarnings("resource") Scanner sc = new Scanner(System.in); int[] score = new int[5]; for(int i = 0 ; i<=score.length-1 ; i++) { System.out.println("請輸入第"+(i+1)+"個數"); int x = sc.nextInt(); score[i] = x; } System.out.print("您輸入的數組為:"); printArray(score); max(score, 0); min(score, 0); nx(score,0); printArray(score); where(score);}//遍曆數組方法public static void printArray(int[] score) {for(int x = 0 ; x<=score.length-1 ; x++) {if(x==0) {System.out.print("[ "+score[x]);}else if(x==score.length-1) {System.out.print(" "+score[x]+" ]"); }else { System.out.print(" "+score[x]); }}System.out.println("");System.out.println("------------------------");}//輸出最大值方法public static void max(int[] score, int max) {max = score[0];for(int y = 1 ; y<=score.length-1 ; y++) {if (max<score[y]) {max = score[y];}}System.out.println("您輸入的最大值為:"+max);System.out.println("------------------------");}//輸出最小值方法public static void min(int[] score, int min) {min = score[0];for(int y = 1 ; y<=score.length-1 ; y++) {if (min>score[y]) {min = score[y];}}System.out.println("您輸入的最小值為:"+min);System.out.println("------------------------");}//逆序方法public static void nx(int[] score,int temp) {for(int y = 0 ; y<=(score.length-1)/2 ; y++) {temp = score[y];score[y]=score[score.length-1-y];score[score.length-1-y]=temp;}System.out.print("該數組的逆序為:");}//尋找資料方法public static void where(int[] score) {@SuppressWarnings("resource")Scanner sc = new Scanner(System.in);System.out.print("請輸入您要尋找的數: ");int ex = sc.nextInt();for(int y = 0 ; y<score.length ; y++) {if(ex == score[y]) {System.out.println("您輸入的是第 "+(y+1)+" 個數");break;}else if(ex!=score[0] && ex!=score[1] && ex!=score[2] && ex!=score[3] && ex!=score[4]) {System.out.println("沒有您要找的數");break;}}}}
補:方法之重載
如果同一個類中包含了兩個或兩個以上方法名相同、方法參數的個數、順序或類型不同的方法,則稱為方法的重載,也可稱該方法被重載了。如下所示 4 個方法名稱都為 show ,但方法的參數有所不同,因此都屬於方法的重載:
如何區分調用的是哪個重載方法呢?
當調用被重載的方法時, Java 會根據參數的個數和類型來判斷應該調用哪個重載方法,參數完全符合的方法將被執行
此時結果為:
PS:判斷方法重載的依據
1、 必須是在同一個類中
2、 方法名相同
3、 方法參數的個數、順序或類型不同
4、 與方法的修飾符或傳回值沒有關係
####END####
相關文章:
JAVA入門系統教程(三)基礎文法(1)
JAVA入門系統教程(四)基礎文法(2)