數(shù)組
?變量 : 存儲單個數(shù)據(jù)
? ? 數(shù)組 (線性序列): 存儲多個數(shù)據(jù)
? ? ? ? 一段連續(xù)的內(nèi)存空間,用來存放同種類型的多個數(shù)據(jù)
? ? 數(shù)組的特點 :
? ? ? ? 1.數(shù)組是引用數(shù)據(jù)類型 : 對象數(shù)據(jù)
? ? ? ? ? ? 基本數(shù)據(jù)類型 : 數(shù)據(jù)值
? ? ? ? 2.定長,長度一旦確定不可改變
? ? ? ? 3.在數(shù)組中存儲所有數(shù)據(jù)要求類型相同(類型檢測)
? ? ? ? 4.索引(連續(xù)內(nèi)存空間中每一個空間的序號) ,[0開始~數(shù)組名.length-1]
? ? 操作數(shù)組(賦值,獲取值) :
? ? ? ? 根據(jù)索引進行操作
? ? ? ? 數(shù)組名[索引]
? ? 數(shù)組的長度 :
? ? ? ? 數(shù)組名.length
? ? 數(shù)組的聲明 :
? ? ? ? 數(shù)據(jù)類型[] 數(shù)組名; ==> 推薦
? ? ? ? 數(shù)據(jù)類型 數(shù)組名[];
? ? ? ? ? ? 數(shù)據(jù)類型 : 規(guī)定當(dāng)前數(shù)組中存儲的所有數(shù)據(jù)的數(shù)據(jù)類型
? ? 數(shù)組的初始化 : (第一次賦值)
? ? ? ? 動態(tài)初始化 : 先創(chuàng)建數(shù)組(內(nèi)存中創(chuàng)建連續(xù)內(nèi)存空間),后賦值
? ? ? ? ? ? 數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[長度];
? ? ? ? ? ? ? ? 數(shù)據(jù)類型 : 可以為任意數(shù)據(jù)類型
? ? ? ? 靜態(tài)初始化 : 創(chuàng)建同時賦值
? ? ? ? ? ? ?數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[]{值列表};
? ? ? ? ? ? ?數(shù)據(jù)類型[] 數(shù)組名 = {值列表}; --> 省略寫法
? ? 注意 :
? ? ? ? 數(shù)組一旦創(chuàng)建,沒有手動賦值,存在默認(rèn)值? 整數(shù):0? ?小數(shù):0.0? ?字符:空字符? 布爾:false? 引用:null
? ? 數(shù)組遍歷 :
? ? ? ? for : 條件變量i控制數(shù)組的索引
? ? ? ? foreach
? ? ? ? ? ? for(數(shù)據(jù)類型 變量名i:數(shù)組名|集合名){
? ? ? ? ? ? ? ? 通過使用變量名i,來使用數(shù)組中的每一個數(shù)據(jù)(順序默認(rèn)從前往后)
? ? ? ? ? ? }
? ? ? ?區(qū)別 :
? ? ? ? for循環(huán)迭代的是索引,條件i控制索引
? ? ? ? foreach循環(huán)條件i代表數(shù)組中的每一個具體的數(shù)據(jù)
? ? ? ?普通for可以實現(xiàn)從前往后,從后往前迭代,從指定索引位置開始往前往后迭代
? ? ? ?增強for只能使用從前向后迭代
? ? ? ?for可以實現(xiàn)為數(shù)組中賦值
? ? ? ?foreach只能遍歷獲取值,不能向數(shù)組賦值
? ? ?for可以遍歷期間使用索引
? ? ? ?foreach無法確定索引