1. 自定義數據類型概述
任何編程語言都需要將現實生活中的事物抽象成代碼。這時可以使用自定義的數據類型(類)來描述(映射)現實事物。
類就是數據類型,與之前學習的所有引用數據類型相同,自定義類也是一種數據類型。只是自定義類型並非Java爲我們預先提供好的類型,而是我們自己定義的一種引用數據類型用來描述一個事物。
2. 類的定義格式及使用格式
代碼映射現實事物的過程就是定義類的過程。每個成員變量與要描述的事物屬性變量名對應,數據類型對應。
這時,我們便可以將一個事物的多個屬性值組織成一個完整的事物作爲操作單位。
a) 類的定義格式
創建文件,與類名相同
public class 類名{
數據類型 屬性名稱;
數據類型 屬性名稱2;
…
}
如:
class Person {
String name;
int age;
…
}
b) 類的使用格式
類在定義出來之後,必須被使用,不使用雖然沒有語法錯誤,但是沒有意義。
自定義類的使用方式與以往的引用數據類型完全相同,如下:
導包:我們將所有的類放到同一個文件夾下,可以避免導包。
創建對象:數據類型 變量名 = new 數據類型();
調用方法: 由於我們定義的類型並不完整,所以現在不涉及調用方法,而是訪問屬性訪問屬性:對象名. 屬性名 (這是當前的方式,後期會採取調用方法的方式替代掉直接訪問的方式來完成對屬性的訪問。)
如:
Person p =new Person();
p.name = “AngelaBaby”;
p.age =18;
Person p2 = new Person();
p2.name = “黃曉明”;
p2.age =36;
System.out.println(p.name); //打印結果:AngelaBaby
System.out.println(p.age); //打印結果:18
System.out.println(p2.name); //打印結果:黃曉明
System.out.println(p2.age); //打印結果:36
3. 自定義類型注意事項與內存圖
這裏完成的是不完整的自定義類型,更爲完整的自定義類定義方式會在面向對象時詳細解釋。
與引用類型數組類似,同爲引用類型的自定義類型直接打印對象的引用變量,結果爲對象地址值,這裏可以通過內存圖簡單解釋。
4. ArrayList集合概述
雖然在Java中數組是運算速度最快的容器,但是在實際開發過程中,使用最頻繁的數據容器並不是數組,而是ArrayList集合。
ArrayList是Java集合框架體系(Java Collections Framework)中的一員,ArrayList與數組類似,均將元素從0開始編號,但是它比數組更方便,長度可變就是方便處之一,並且集合與數組訪問數據的方式也不同,集合可以調用功能強大的方法來滿足不同需求。
5. ArrayList集合的使用格式
ArrayList同爲引用類型,符合引用類型的使用方式,如下:
導包:import java.util.ArrayList;
創建對象:
與其他普通的引用數據類型創建方式完全相同,但是要指定容器中存儲的數據類型:
類名<集合內元素類型>變量 = new類名<集合內元素類型>();
ArrayList<String> xxXX= new ArrayList<String>();
注意:集合中只能存儲引用數據類型,存儲基本類型時,存儲的類型爲對應每個基本類型對應的引用數據。
int Integer
double Double
char Character
ArrayList<Integer> yyYY= new ArrayList<Integer>();
ArrayList<Double> zzZZ= new ArrayList< Double >();
調用方法:
public boolean add(元素類型 e) 直接向集合添加元素
public int size() 獲取集合長度
public 元素類型 get(int index) 根據指定索引獲取集合元素
public 元素類型 remove(int index) 根據指定索引刪除集合元素
public元素類型set(int index, 元素類型obj)修改指定索引出的值爲新值
如:
ArrayList<String> list= new ArrayList<String>();
String s = “我愛Java”;
String s2 = “我喜歡Java”;
list.add(s); //向集合中添加索引爲0的元素
list.add(s); //向集合中添加索引爲1的元素
list.add(“我與Java在一起”); //向集合中添加索引爲2的元素
String data = list.get(1); //獲取集合中索引爲1的元素
System.out.println(data): //打印出剛剛獲取到的值
for(int i=0 ; i<list.size() ; i++) { //遍歷集合
System.out.println(list.get(i));
}
list.remove(1); //刪除索引爲1的元素