陣列的概念:是一種容器,可以同時存放多個資料值。
陣列的特點:
兩種常見的初始化陣列方式:
1.動態初始化陣列的格式:
資料型別[] 陣列名稱 = new 資料型別[陣列長度];
public class Demo01Array {
public static void main(String[] args) {
// 建立一個陣列,裡面可以存放300個int資料
// 格式:資料型別[] 陣列名稱 = new 資料型別[陣列長度];
int[] arrayA = new int[300];
}
}
使用動態初始化陣列的時候,其中的元素將會自動擁有一個預設值。規則如下:
如果是整數型別,那麼預設為0;
如果是浮點型別,那麼預設為0.0;
如果是字元型別,那麼預設為’\u0000’;
如果是布林型別,那麼預設為false;
如果是參照型別,那麼預設為null。
2.靜態初始化基本格式:
資料型別[] 陣列名稱 = new 資料型別[] { 元素1, 元素2, … };
(靜態初始化沒有直接指定長度,但是仍然會自動推算得到長度。)
public class Demo02Array {
public static void main(String[] args) {
// 直接建立一個陣列,裡面裝的全都是int數位,具體為:5、15、25
int[] arrayA = new int[] { 5, 15, 25, 40 };
// 建立一個陣列,用來裝字串:"Hello"、"World"、"Java"
String[] arrayB = new String[] { "Hello", "World", "Java" };
}
}
靜態初始化省略格式:
資料型別[] 陣列名稱 = { 元素1, 元素2, … };
public class Demo03Array {
public static void main(String[] args) {
// 省略格式的靜態初始化
int[] arrayA = { 10, 20, 30 };
}
}
類的定義格式:
class 類名稱{
// 成員屬性
資料型別 屬性名;
// 成員方法
許可權修飾符 返回值型別 方法名(形式參數列){ //方法體 return 返回值; }
}
}
物件的定義格式:
類名 物件名 = new 類名();
使用物件存取類中的成員:
物件名.成員變數;
物件名.成員方法();
匿名物件:
沒有物件名稱的物件 就是匿名物件。
匿名物件只能使用一次,因為沒有任何的物件參照,所以將稱為垃圾,等待被G·C回收。 只使用一次的物件可以通過匿名物件的方式完成
定義格式:
構造方法的寫法上,方法名與它所在的類名相同。它沒有返回值,所以不需要返回值型別,甚至不需要void。舉例:
public class Student {
private String name;
private int age;
// 無引數構造方法
public Student() {}
// 有引數構造方法
public Student(String name,int age) {
this.name = name;
this.age = age;
}
}
作用: 用於物件初始化。
執行時機: 在建立物件時,自動呼叫
特點: 所有的Java類中都會至少存在一個構造方法 如果一個類中沒有明確的編寫構造方法, 則編譯器會自動生成一個無參的構造方法, 構造方法中沒有任何的代 碼! 如果自行編寫了任意一個構造器, 則編譯器不會再自動生成無參的構造方法
建議:當類中有非常數成員變數時,建議提供兩個版本的構造方法,一個是無參構造方法,一個是全屬性做引數的構造方法。 當類中所有成員變數都是常數或者沒有成員變數時,建議不提供任何版本的構造。
方法的過載:
方法名稱相同, 引數型別或引數長度不同, 可以完成方法的過載 ! 方法的過載與返回值無關!
構造方法的過載:
參數列的長度或型別不同即可完成構造方法的過載