數組
筆記Notes
數組介紹
數組的聲明
數組初始化
數組元素默認值
數組複製
數組反轉
數組查找:線性查找、二分查找
數組排序:冒泡排序
數組介紹
數組名: 創建數組內存中開闢一整塊連續的空間,而數組名中引用的是這塊連續空間的首地址。
下標(或索引):從0開始
數組是引用數據類型, 元素相當於類的成員變量,
數組一經分配空間,其中的每個元素也被按照成員變量同樣的方式被隱式初始化
數組中的元素可以是基本數據類型也可以是引用數據類型
數組的聲明
聲明:String[] names;
int scores[];
數組初始化:靜態初始化、動態初始化
靜態初始化:數組的初始化和賦值是同時進行的
names = new String{"12","34","56","78"};
動態初始化:數組的初始化和賦值分開進行
String[] names2 = new String[5];
names2[0] = "123";
下面的方式數組的聲明和初始化不能分開。
int[] age = { 1, 2, 3, 4, 5, 6 };
數組元素的默認值
byte、short、int、long -->0
float、double --->0.0
bolean --> u0000
引用數據類型(類、數組、接口)--->null
一維數組內存解析
String[] persons = new String[3];
String[] persons2 = persons;
//persons 和 persons2 實際上指向的是同一塊內存
堆、棧、方法區
堆(heap):用來存放對象的實例,只要是new出來的都在堆裏
棧(stack): 存儲局部變量, 如基本數據類型、對象引用(reference類型,它不等同於對象本身,是對象在堆內存的首地址)
方法區(Method Area):用於存儲已被虛擬機加載的類信息、常量、靜態變量、即時編譯器編譯後的代碼等數據。
總結Summary
靜態初始化與動態初始化
數組反轉
數組查找:二分查找
數組排序:冒泡排序