/* 方法概述和格式說明: 方法就是完成某個功能的代碼 函數在java中被稱爲方法 */ /* 方法的注意事項: B:方法與方法是平級關係,不能嵌套定義 C:方法定義的時候參數之間用逗號隔開 D:方法調用的時候不用在傳遞數據類型 */ /* 需求:我要求數的和 咱們的需求不斷的發生改變,咱們就對應的提供了多個求和的方法。 可是呢,他們的名字是不同的。 而咱們又要求方法命名作到:見名知意。 可是,很明顯,如今沒有作到。 那麼,腫麼辦呢? 針對這種狀況:方法的功能相同,參數列表不一樣的狀況,爲了見名知意,Java容許它們起同樣的名字。 其實,這種狀況有一個專業名詞:方法重載。 方法重載: 在同一個類中,方法名相同,參數列表不一樣。與返回值類型無關。 參數列表不一樣: A:參數個數不一樣 B:參數類型不一樣 方法重載特色 與返回值類型無關,只看方法名和參數列表 在調用時,虛擬機經過參數列表的不一樣來區分同名方法 */ class SwitchTest2 { public static void main(String[] args){ System.out.println(sum(10,20)); System.out.println(sum(10,20,30)); System.out.println(sum(10.6f,20)); } public static int sum(int x,int y){ return x+y; } public static int sum(int x,int y,int z){ return x+y+z; } public static float sum(float x,float y){ return x+y; } } 如何對數組進行初始化呢? A:何謂初始化呢? 就是爲數組開闢內存空間,併爲每一個數組元素賦予值 B:有幾種方式呢? a:動態初始化 只指定長度,由系統給出初始化值 b:靜態初始化 給出初始化值,由系統決定長度 int[] arr = new int[3]; /* 左邊: int:說明數組中的元素的數據類型是int類型 []:說明這是一個數組 arr:是數組的名稱 右邊: new:爲數組分配內存空間。 int:說明數組中的元素的數據類型是int類型 []:說明這是一個數組 3:數組長度,其實也就是數組中元素的個數 */ System.out.println(arr); //[I@175078b 地址值。 //我要地址值沒有意義啊,我就要數據值,怎麼辦呢? //不用擔憂,java爲你考慮到了。 //其實數組中的每一個元素都是有編號的,而且是從0開始。最大編號是數組的長度-1。 //用數組名和編號的配合就能夠獲取數組中的指定編號的元素。這個編號的專業叫法:索引 //經過數組名訪問數據的格式是:數組名[索引]; System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]);
/* 數組的靜態初始化: 格式:數據類型[] 數組名 = new 數據類型[]{元素1,元素2,…}; 簡化格式: 數據類型[] 數組名 = {元素1,元素2,…}; 舉例: int[] arr = new int[]{1,2,3}; 簡化後: int[] arr = {1,2,3}; 注意事項: 不要同時動態和靜態進行。 以下格式: int[] arr = new int[3]{1,2,3}; //錯誤 */ /* 數組操做的兩個常見小問題: ArrayIndexOutOfBoundsException:數組索引越界異常 緣由:你訪問了不存在的索引。 NullPointerException:空指針異常 緣由:數組已經不在指向堆內存了。而你還用數組名去訪問元素。 做用:請本身把全部的場景Exception結尾的問題總結一下。之後遇到就記錄下來。 現象,緣由,解決方案。 */ class ArrayDemo6 { public static void main(String[] args) { //定義數組 int[] arr = {1,2,3}; //System.out.println(arr[3]); //ArrayIndexOutOfBoundsException //引用類型的常量:空常量 null arr = null; System.out.println(arr[0]); //NullPointerException } }