遍历二维数组_Java编程基础阶段笔记 day06 二维数组
二維數組
筆記Notes
- 二維數組
- 二維數組聲明
- 二維數組靜態初始化與二位初始化
- 二維數組元素賦值與獲取
- 二維數組遍歷
- 二維數組內存解析
- 打印楊輝三角
- Arrays工具類
- 數組中常見的異常
- 二維數組
二維數組的元素是一維數組
- 二維數組的聲明和初始化
String [][] persons;
String persons2[][];
String [] persons3[];
- 二維數組的初始化
- //靜態初始化
persons = new String[][]{{"小龍哥","110"},{"小倉","119"},{"小強","120"}};
//聲明和初始化不能分開
int[][] numbers = {{1,2},{3,4},{5,6}};
- //動態初始化
persons2 = new String[3][2];
//3值得是二維數組長度,2指的是二維數組元素(一維數組)的長度
//創建一個長度為3的二維數組,二維數組的元素為null
persons3 = new String[3][];
persons3[0] = new String[2];
persons3[1] = new String[3];
- 獲取二維數組的值,元素的值
String aString = persons3[2][2];
int a = persons3.length;
int b = persons3[0].length;
- 遍歷二維數組的元素
//遍歷二維數組
for (int i = 0; i < numbers.length; i++) {
for (int j = 0; j < numbers[i].length; j++) {
System.out.print(numbers[i][j] + " ");
}
System.out.println();
}
- 二維數組內存解析
- 打印楊輝三角
使用二維數組打印一個 10 行楊輝三角。
【提示】
1. 第一行有 1 個元素, 第 n 行有 n 個元素
2. 每一行的第一個元素和最后一個元素都是 1
3. 從第三行開始, 對于非第一個元素和最后一個元素的元素。即:
yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
public class YangHui {
public static void main(String[] args) {
//創建二維數組
int[][] numbers = new int[10][];
//給二維數組的元素賦值
for (int i = 0; i < numbers.length; i++) {
//創建二維數組的元素(一維數組)
numbers[i] = new int[i + 1];
//給二維數組中的元素的第一個元素和最后一個元素賦值
numbers[i][0] = numbers[i][i] = 1;
//遍歷二維數組中的元素(一維數組),不包括第一個和最后一個
for (int j = 1; j < numbers[i].length - 1; j++) {
numbers[i][j] = numbers[i - 1][j] + numbers[i - 1][j - 1];
}
}
//遍歷二維數組
for (int i = 0; i < numbers.length; i++) {
for (int j = 0; j < numbers[i].length; j++) {
System.out.print(numbers[i][j] + " ");
}
System.out.println();
}
}
}
- Arrays工具類使用
int[] ns = {5,2,30,4,1,90};
int[] ns2 = {5,2,3,4,1};
//比較兩個數組是否相等 : 比較的是內容,個數,順序
boolean equals = Arrays.equals(ns, ns2);
System.out.println(equals);
//輸出數組信息
String nsStr = Arrays.toString(ns);
System.out.println(nsStr);
//將指定的數值填充到數組中
Arrays.fill(ns, 100);
System.out.println(Arrays.toString(ns));
//對數組中的內容進行排序
Arrays.sort(ns);
System.out.println(Arrays.toString(ns));
//二分法查找 - 使用前必須先排序 - 如果找不到會返回負數
int index = Arrays.binarySearch(ns, 4);
System.out.println(index);
- 數組中常見的異常
//1.數組下角標越界 :ArrayIndexOutofBoundsException
int[] numbers = new int[2]; //索引值合理范圍 :0 ~ 長度-1
System.out.println(numbers[2]); //發生了異常
System.out.println(numbers[-1]); //發生了異常
//2.空指針異常 :: NullPointerException
String str = "aaa";
str = null;
System.out.println(str.toUpperCase());//發生了異常
String[] names = new String[2];
System.out.println(names[0].toUpperCase());//發生了異常
String[][] persons = new String[3][];
System.out.println(persons[0][0]); //發生了異常
System.out.println(persons[0].length); //發生了異常
- 習題:數組聲明
聲明:int[] x,y[]; 在給x,y變量賦值以后,以下選項允許通過編譯的是:
a ) x[0] = y; //類型不符,x[0]為int類型,而y為引用類型
b) y[0] = x; //可以
c) y[0][0] = x; //類型不否,x為引用類型,而y[0][0]為int類型
d) x[0][0] = y; //x為一維數組
e) y[0][0] = x[0]; //可以
f) x = y; //類型不符,一個是一維數組,一個是二維數組
提示:
一維數組:int[] x 或者int x[]
二維數組:int[][] y 或者 int[] y[] 或者 int y[][]
總結Summary
- 二維數組遍歷
- 二維數組內存解析
- 楊輝三角
- Arrays工具類
- 數組常見異常
總結
以上是生活随笔為你收集整理的遍历二维数组_Java编程基础阶段笔记 day06 二维数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker运行python程序_如何使
- 下一篇: 将长方形木框拉成平行四边形_【减负提质进