CJB Java程序員 Day7
存儲一組數(shù)據(jù)類型相同的數(shù)據(jù)
名詞
下標(biāo):
長度:
數(shù)組中可容納的數(shù)據(jù)個數(shù)
元素:
數(shù)組中容納的數(shù)據(jù)
特點
數(shù)組長度,不可變
(可擴(kuò)容)
步驟
1,聲明
2,創(chuàng)建
3,使用
聲明
語法:
數(shù)據(jù)類型[] 數(shù)組名;
或
數(shù)據(jù)類型 數(shù)組名[];(不建議使用)
創(chuàng)建
動態(tài)
語法:
?數(shù)組名 = new 數(shù)據(jù)類型[數(shù)組長度];
? 注意:基本數(shù)據(jù)類型默認(rèn)為0(布爾型為false),引用數(shù)據(jù)類型默認(rèn)為null(空)
?或
?數(shù)組名 = new 數(shù)據(jù)類型[]{值1,值2,值3...};
? 注意:創(chuàng)建時,值的個數(shù)就是數(shù)組的長度
聲明并創(chuàng)建:
?數(shù)據(jù)類型 [] 數(shù)組名 = new 數(shù)據(jù)類型 [數(shù)組長度]
?數(shù)據(jù)類型 [] 數(shù)組名 = new 數(shù)據(jù)類型 []{值1,值2,值3...};
靜態(tài)
語法:必須聲明與創(chuàng)建同時進(jìn)行
?數(shù)據(jù)類型[] 數(shù)組名 = {值1,值2,值3...};
使用
修改
語法:
?數(shù)組名[下標(biāo)] = 值
查詢
獲取單個元素
?語法:數(shù)組名[下標(biāo)]
獲取數(shù)組長度
?語法:數(shù)組名.length
進(jìn)階使用
遍歷
作用:將數(shù)組中的數(shù)據(jù)逐個取出
查找
拷貝
作用:將老數(shù)組中的數(shù)據(jù)賦復(fù)制到新數(shù)組中
思路:
?1,創(chuàng)建一個新數(shù)組,要求新數(shù)組的長度等于老數(shù)組
?2,遍歷老數(shù)組
?3,將老數(shù)組中取出的值放在新數(shù)組對應(yīng)的位置
擴(kuò)容
作用:將老數(shù)組中的數(shù)據(jù)復(fù)制到新數(shù)組中,要求:新數(shù)組的長度大于老數(shù)組,將新數(shù)組賦值給老數(shù)組
思路:
?1,創(chuàng)建一個新數(shù)組,要求新數(shù)組的長度大于老數(shù)組的長度
?2,遍歷老數(shù)組
?3,將老數(shù)組中取出的值放在新數(shù)組對應(yīng)的位置
?4,4,將新數(shù)組賦值給老數(shù)組
常見異常
ArrayIndexOutofBoundsException:數(shù)組下標(biāo)越界異常
原因:獲取或修改數(shù)組中數(shù)據(jù)時,下標(biāo)超出下標(biāo)的取值范圍
下標(biāo)取值范圍:0~數(shù)組長度-1
NullPointerException:空指針異常
原因:使用null調(diào)用了屬性或方法
解決辦法:找出null的位置并修改
增強(qiáng)for循環(huán):foreach
語法:
for(數(shù)據(jù)類型 ?變量名:要遍歷的數(shù)組或集合){
}
數(shù)據(jù)類型:取出的數(shù)據(jù)的數(shù)據(jù)類型
變量名:獲取到的數(shù)據(jù)
了解
new:在堆內(nèi)存中開辟一片內(nèi)存地址
可變參數(shù):
解決的問題:形參數(shù)量固定的問題
要求:一個方法只能用一個可變參數(shù),而且只能位于于形參的尾部
語法:數(shù)據(jù)類型...變量名