方法和數組
方法概念
簡單的說:方法就是完成特定功能的代碼塊
- 在很多語言裏面都有函數的定義
- 函數在Java中被稱爲方法
格式:
修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2…) {
函數體;
return 返回值;
}
方法格式解釋
- 修飾符 比較多,後面會詳細介紹。目前public static
- 返回值類型 用於限定返回值的數據類型
- 方法名 一個名稱,爲了方便我們調用方法
- 參數類型 限定調用方法時傳入參數的數據類型
- 參數名 是一個變量,接收調用方法時傳入的參數
- 方法體 完成功能的代碼
- return 結束方法以及返回方法指定類型的值
- 返回值 程序被return帶回的結果,返回給調用者
有明確返回值的方法調用
單獨調用,沒有意義
輸出調用,有意義,但是不夠好,因爲我不一定非要把結果輸出
賦值調用,推薦方式
注意事項
方法不調用不執行
方法與方法是平級關係,不能嵌套定義
方法定義的時候參數之間用逗號隔開
方法調用的時候不用在傳遞數據類型
如果方法有明確的返回值,一定要有return帶回一個值
方法重載
方法重載概述
在同一個類中,允許存在一個以上的同名方法,只要它們的參數個數或者參數類型不同即可。
方法重載特點
與返回值類型無關,只看方法名和參數列表
在調用時,虛擬機通過參數列表的不同來區分同名方法
數組概念
數組是存儲同一種數據類型多個元素的集合。也可以看成是一個容器。
數組既可以存儲基本數據類型,也可以存儲引用數據類型。
數組的定義格式
格式1:數據類型[] 數組名;
格式2:數據類型 數組名[];
注意:這兩種定義做完了,數組中是沒有元素值的。
數組初始化概述:
Java中的數組必須先初始化,然後才能使用。
所謂初始化:就是爲數組中的數組元素分配內存空間,併爲每個數組元素賦值。
數組的初始化方式
動態初始化:初始化時只指定數組長度,由系統爲數組分配初始值。
靜態初始化:初始化時指定每個數組元素的初始值,由系統決定數組長度。
動態初始化:初始化時只指定數組長度,由系統爲數組分配初始值。
格式:
數據類型[] 數組名 = new 數據類型[數組長度];
數組長度其實就是數組中元素的個數。
舉例:
- int[] arr = new int[3];
- 解釋:定義了一個int類型的數組,這個數組中可以存放3個int類型的值。
靜態初始化:初始化時指定每個數組元素的初始值,由系統決定數組長度。
格式:
數據類型[] 數組名 = new 數據類型[]{元素1,元素2,…};
舉例:
- int[] arr = new int[]{1,2,3};
- 解釋:定義了一個int類型的數組,這個數組中可以存放3個int類型的值,並且值分別是1,2,3。
- 其實這種寫法還有一個簡化的寫法
- int[] arr = {1,2,3};
數組索引越界
ArrayIndexOutOfBoundsException
訪問到了數組中的不存在的索引時發生。
空指針異常
NullPointerException
數組引用沒有指向實體,卻在操作實體中的元素時。
二維數組
格式1
數據類型[][] 變量名 = new 數據類型[m][n];
m表示這個二維數組有多少個一維數組
n表示每一個一維數組的元素個數
舉例:
int[][] arr = new int[3][2];
定義了一個二維數組arr
這個二維數組有3個一維數組,名稱是arr[0],arr[1],arr[2]
每個一維數組有2個元素,可以通過arr[m][n]來獲取
表示獲取第m+1個一維數組的第n+1個元素
格式2
數據類型[][] 變量名 = new 數據類型[m][];
m表示這個二維數組有多少個一維數組
這一次沒有直接給出一維數組的元素個數,可以動態的給出。
舉例:
int[][] arr = new int[3][];
arr[0] = new int[2];
arr[1] = new int[3]
arr[2] = new int[1];
格式3
數據類型[][] 變量名 = new 數據類型[][]{{元素…},{元素…},{元素…}};
簡化版格式:
數據類型[][] 變量名 = {{元素…},{元素…},{元素…}};
舉例:
int[][] arr = {{1,2,3},{4,6},{6}};