陣列
陣列的概念:是一種容器,可以同時存放多個資料值,
陣列的特點:
- 陣列是一種參考資料型別
- 陣列當中的多個資料,型別必須統一
- 陣列的長度在程式運行期間不可改變
兩種常見的初始化陣列方式:
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類中都會至少存在一個構造方法 如果一個類中沒有明確的撰寫構造方法, 則編譯器會自動生成一個無參的構造方法, 構造方法中沒有任何的代 碼! 如果自行撰寫了任意一個構造器, 則編譯器不會再自動生成無參的構造方法
建議:當類中有非常量成員變數時,建議提供兩個版本的構造方法,一個是無參構造方法,一個是全屬性做引數的構造方法, 當類中所有成員變數都是常量或者沒有成員變數時,建議不提供任何版本的構造,
方法的多載:
方法名稱相同, 引數型別或引數長度不同, 可以完成方法的多載 ! 方法的多載與回傳值無關!
構造方法的多載:
引數串列的長度或型別不同即可完成構造方法的多載
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/161103.html
標籤:其他
上一篇:單向鏈表
下一篇:一文搞懂AQS及其組件的核心原理
