1測試java中return
有傳回值類型的方法:1)結束方法 2)帶出傳回值
沒有傳回值類型的方法: 1)結束方法
不可達語句出現的情況:
1)一定會執行的return後出現的語句
2)死循環後出現的語句
3)break後面出現的語句
4)continue後面出現的語句
方法的相容類型:
1.形參的資料類型>=實參的資料類型
2.傳回值: return後面資料的類型<=傳回值類型<=接受資料類型
2.重載: 一個類中不能存在多個相同的方法
方法的重載: 同一個類中 多個方法方法名相同,參數清單不同(方法簽名:方法名+參數清單–>一個方法唯一的表示) -->這些方法構成方法的重載
方法重載:
1.同一個類中
2.多個方法方法名相同
3.參數清單不同
參數資料類型不同
個數不同
順序不同(不同類型的參數)
重載方法的調用:
根據傳遞的實參決定調用的是重載方法中的哪一個
面向對象的三大特性: 封裝 繼承 多态
方法是一個類中封裝的一種展現
方法的重載是一個類中多态的一種展現
方法重載的注意事項:
1.方法的重載和方法有無傳回值無關
1.方法的重載和傳回值類型無關
1.方法的重載和修飾符無關
1.方法的重載和參數的名字無關
方法重載隻和方法簽名相關
3.方法的遞歸(了解)
方法自己調用自己
臨界條件:遞歸頭 停止自己調用自己的條件
遞歸前進段:沒有滿足臨界條件之前,自己調用自己
遞歸後退段:當滿足臨界條件,将結果傳回給上一層
遞歸頭: 臨界條件
遞歸體: 自己掉用自己
//列印九九乘法表
//需求: 列印幾幾乘法表的
//傳回值:不需要 參數:int i
public static void print(int i){
//臨界條件
if(i==1){
System.out.println(“1*1=1”);
return;
}
print(i-1);
//第i行乘法表
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}
4.數組:
相同資料類型的有序集合
變量:存儲單個資料
數組:存儲多個資料
數組的特點:
1.數組是一個引用資料類型
2.數組是一個容器,長度一旦确定不能改變
3.數組中資料類型相同
4.數組中資料是有序的
數組的聲明方式:
1. 資料類型[] 數組名;
資料類型: 目前數組中所有資料的資料類型 基本資料類型|引用資料類型
2. 資料類型 數組名[]; ---不推薦使用
初始化:
動态初始化:
資料類型[] 數組名=new 資料類型[長度]; 建立指定長度的數組
數組中的資料存在預設值:
byte/short/int/long --> 0
double/float --> 0.0
char --> ' '
boolean --> false
引用資料類型 --> null
靜态初始化:
資料類型[] 數組名=new 資料類型[]{值1,值2,值3...}; 由值的個數來決定建立的數組的長度
資料類型[] 數組名={值1,值2,值3...}; --推薦
注意:簡略形式不可以給數組重新指派
操作數組中的資料: 0~ 數組名.length-1
索引|下标 從0開始
數組名[索引]
在數組中最後一個資料的索引: 數組名.length-1
數組的長度:
數組名.length
數組的周遊:
1.普通for循環
2.增強for循環 for..each
for(資料類型 變量名i:容器名|數組名){
i就是數組中的每一個資料,不是索引 從前向後周遊
}
隻能擷取值不能指派
在java中,基本資料類型是值傳遞
引用資料類型是位址傳遞
二維數組(了解)
數組中放數組就是二維數組
聲明:
資料類型[][] 數組名; --推薦
資料類型 數組名[][];
資料類型[] 數組名[];
初始化:
資料類型[][] 數組名=new 資料類型[一維數組的長度][二維數組的長度];
每一個第二維都是一樣長度
資料類型[][] 數組名=new 資料類型[一維數組的長度][];
每一個第一維的空間中的資料都是一個小數組,但是每一個第二維數組都沒有建立