Java數組

###05.01_Java語言基礎(二維數組概述和格式1的講解)
* A:二維數組概述
* B:二維數組格式1
* int[][] arr = new int[3][2]; 
* C:二維數組格式1的解釋
* D:注意事項
* a:以下格式也可以表示二維數組
* 1:數據類型 數組名[][] = new 數據類型[m][n];
* 2:數據類型[] 數組名[] = new 數據類型[m][n];
* B:注意下面定義的區別
int x;
int y;
int x,y;
int[] x;
int[] y[];
int[] x,y[]; x是一維數組,y是二維數組
* E:案例演示
* 定義二維數組,輸出二維數組名稱,一維數組名稱,一個元素
案例:
class Demo1_Array {
public static void main(String[] args) {
int[][] arr = new int[3][2];
/*
這是一個二維數組
這個二維數組中有3個一維數組
每個一維數組中有2個元素
 
[[I@19bb25a //二維數組的地址值
[I@da6bf4 //一維數組的地址值
0 //元素值
*/
System.out.println(arr); //二維數組
System.out.println(arr[0]); //二維數組中的第一個一維數組
System.out.println(arr[0][0]); //二維數組中的第一個一維數組的第一個元素
}
}


###05.02_Java語言基礎(二維數組格式1的內存圖解)(瞭解)
* A:畫圖演示
* 畫圖講解上面的二維數組名稱,一維數組名稱,一個元素的值的問題
class Demo2_Array {
public static void main(String[] args) {
int[][] arr = new int[3][2];
 
System.out.println(arr); //打印二維數組
System.out.println(arr[0]); //打印二維數組中的第一個一維數組
System.out.println(arr[0][0]); //打印二維數組中的第一個一維數組中的第一個元素
}
}


###05.03_Java語言基礎(二維數組格式2的講解及其內存圖解)(瞭解)
* A:二維數組格式2
* int[][] arr = new int[3][]; 
* B:二維數組格式2的解釋
* C:案例演示
* 講解格式,輸出數據,並畫內存圖
案例:
class Demo3_Array {
public static void main(String[] args) {
int[][] arr = new int[3][]; //這是一個二維數組,這個二維數組中有三個一維數組,三個一維數組都沒有被賦值
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
arr[0] = new int[3]; //第一個一維數組中可以存儲三個int值
arr[1] = new int[5]; //第二個一維數組中可以存儲五個int值
System.out.println("------------------");
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}



###05.04_Java語言基礎(二維數組格式3的講解及其內存圖解)(瞭解)
* A:二維數組格式3
* int[][] arr = {{1,2,3},{4,5},{6,7,8,9}}; 
* B:二維數組格式3的解釋
* C:案例演示
* 講解格式,輸出數據,並畫內存圖
案例:
class Demo4_Array {
public static void main(String[] args) {
int[][] arr = {{1,2,3},{4,5},{6,7,8,9}}; //這是一個二維數組,這個二維數組中每個大括號都代表一個一維數組
System.out.println(arr); //[[I@19bb25a,二維數組的地址值
System.out.println(arr[0]); //[I@da6bf4,一維數組的地址值
System.out.println(arr[0][0]); //1,一維數組中的元素值
}
}

###05.05_Java語言基礎(二維數組練習1遍歷)(掌握)
* A:案例演示
* 需求:二維數組遍歷

* 外循環控制的是二維數組的長度,其實就是一維數組的個數。
* 內循環控制的是一維數組的長度。 
案例:
class Test1_Array {
public static void main(String[] args) {
int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};
 
for (int i = 0;i < arr.length ;i++ ) { //獲取到每個二維數組中的一維數組
for (int j = 0;j < arr[i].length ;j++ ) { //獲取每個一維數組中的元素
System.out.print(arr[i][j] + " ");
}
 
System.out.println();
}
}
}

###05.06_Java語言基礎(二維數組練習2求和)(掌握)
* A:案例演示
需求:公司年銷售額求和
某公司按照季度和月份統計的數據如下:單位(萬元)
第一季度:22,66,44
第二季度:77,33,88
第三季度:25,45,65
第四季度:11,66,99
案例:
class Test2_Array {
public static void main(String[] args) {
int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
 
int sum = 0; //定義變量,記錄每次相加的結果
for (int i = 0;i < arr.length ;i++ ) { //獲取每一個一維數組
for (int j = 0;j < arr[i].length ;j++ ) { //獲取每一個一維數組中的元素
sum = sum + arr[i][j]; //累加
}
}
 
System.out.println(sum);
}
}

###05.07_Java語言基礎(思考題Java中的參數傳遞問題及圖解)(掌握)
* A:案例演示
案例:
/*
基本數據類型的值傳遞,不改變原值,因爲調用後就會彈棧,局部變量隨之消失
引用數據類型的值傳遞,改變原值,因爲即使方法彈棧,但是堆內存數組對象還在,可以通過地址繼續訪問

Java中到底是傳值還是傳址
1,既是傳值,也是傳地址,基本數據類型傳遞的值,引用數據類型傳遞的地址
2,java中只有傳值,因爲地址值也是值(出去面試都說這種,支持者是高司令(java之父))
*/
class Test3_Array {
public static void main(String[] args) {
/*int a = 10;
int b = 20;
System.out.println("a:"+a+",b:"+b); //a = 10,b = 20
change(a,b);
System.out.println("a:"+a+",b:"+b); //?*/
 
int[] arr = {1,2,3,4,5};
change(arr);
System.out.println(arr[1]);
}
 
public static void change(int a,int b) { //a = 10, b= 20
System.out.println("a:"+a+",b:"+b); //a = 10,b = 20
a = b; //a = 20
b = a + b; //b = 40
System.out.println("a:"+a+",b:"+b); //a = 20, b = 40
}
 
public static void change(int[] arr) { //1,4,3,8,5
for(int x=0; x<arr.length; x++) {
if(arr[x]%2==0) {
arr[x]*=2;
}
}
}
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章