重點(diǎn):
數(shù)組可以為函數(shù)傳參,作為傳參的對象经备,必然需要參數(shù)合法性判斷拭抬。不然diamante不夠嚴(yán)禁,同時也經(jīng)不起測試侵蒙。
畫圖明晰:
【值傳遞】 傳遞的是變量的數(shù)值造虎,不管之后做什么操作,之前變量不會受到任何的影響纷闺,
【址傳遞】 傳遞的是某一個空間的首地址累奈,可以通過這個首地址來控制這個空間。
?代碼中的【地址】:
?規(guī)定:內(nèi)存從第一個字節(jié)急但,到內(nèi)存的最大值澎媒,每一個字節(jié)看做一個單元,統(tǒng)一編號
?編號從 0 開始 到內(nèi)存最大值
?【注意】
??1. 地址通常使用十六進(jìn)制來表示
??2. 地址中比較特殊的是null 內(nèi)存的編號為0的字節(jié)波桩,這個字節(jié)受到系統(tǒng)保護(hù)戒努,任何的
??程序都不能對這個地址進(jìn)行訪問和操作,只能【指向】
??3. 通常一個地址是保存在【引用數(shù)據(jù)類型】變量中(引用數(shù)據(jù)類型包括:class類镐躲,接口【沒學(xué)到】储玫,Aarray數(shù)組)。
二維數(shù)組:
int[] arr = new int[N];
?int[][] arr = {1, 2, 3, 4, 5};
?
?二維數(shù)組的定義格式:
??數(shù)據(jù)類型[][] 數(shù)組名 = new 數(shù)據(jù)類型[n][m];
如:int[][] arr = new int[3][4];創(chuàng)建了3個一維數(shù)組萤皂,其中每個一維數(shù)組內(nèi)包含4個元素撒穷。另一種格式:int[][] arr = {{*,*,*,*},{*,*,*,*},{*,*,*,*}};
?
?使用格式:
??數(shù)組名[一維下標(biāo)][二維下標(biāo)];
?System.out.println("arr[" + i + "][" + j + "] = " + arr[i][j]);//打印。使用是就像這里裆熙,直接數(shù)數(shù)組名?[元素][元素]
class DoubleDimensionalArray {//如果一個程序沒有class就不能開始運(yùn)行
?public static void main(String[] args) {
??/*
???數(shù)據(jù)類型[][] 數(shù)據(jù)名 = new 數(shù)據(jù)類型[n][m];
???*/
??int[][] arr = new int[3][4];//創(chuàng)建了3個一維數(shù)組端礼,其中每個一維數(shù)組內(nèi)包含4個元素。
???arr[0][0] = 10;//兩個坐標(biāo)確定一個數(shù)
?System.out.println("arr[0][0] = " + arr[0][0]);//打印的結(jié)果是10
??int count = 0;//將它設(shè)成二維數(shù)組定義的值入录,從0開始蛤奥,依次遞增。
??//這里使用二維數(shù)組僚稿,需要兩個for循環(huán)嵌套
??//外層的for 循環(huán) 控制 一維下標(biāo)
??for (int i = 0; i < 3; i++) {//for循環(huán)外層空值循環(huán)的次數(shù)
???//內(nèi)層for 循環(huán) 控制 二維下標(biāo)
???for (int j = 0; j < 4; j++) {//內(nèi)層控制循環(huán)的內(nèi)容
????arr[i][j] = count;//0 ~ 11
????count++;
???}
??}
???for (int i = 0; i < 3; i++) {
???//內(nèi)層for 循環(huán) 控制 二維下標(biāo)
???for (int j = 0; j < 4; j++) {
????System.out.println("arr[" + i + "][" + j + "] = " + arr[i][j]);//打印凡桥。使用是就像這里,直接數(shù)數(shù)組名?[元素][元素]
??