![在这里插入图片描述](https://img-blog.csdnimg.cn/2020102317460173.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Rla3UxMDE4,size_16,color_FFFFFF,t_70#pic_center)
2.6数组:
1.一维数组:
2.多维数组:
练习1:
第一种方法:
int[][] arr = new int[][] {
{3,8,2},
{2,7},
{9,10,1,6}
};
int len_arr = arr.length;//数组的一维长度
int sum = 0;
for(int i = 0; i < len_arr; i++) {
int[] arr0 = arr[i];
int len_arr0 = arr0.length;//二维数组的长度
for(int j = 0; j < len_arr0; j++) {
sum = sum + arr0[j];
}
}
System.out.println(sum);
第二种方法:
int[][] arr = new int[][] {
{3,8,2},
{2,7},
{9,10,1,6}
};
int sum = 0;
for(int i = 0; i < arr.length; i++) {
for(int j = 0; j < arr[i].length; j++) {
sum += arr[i][j];
}
}
System.out.println(sum);
练习2:打印杨辉三角。
public class YangHuiTest {
public static void main(String[] args) {
int [][] yangHui = new int[10][];
for (int i = 0; i < yangHui.length; i++) {
yangHui[i] = new int [i + 1];//搭建框架
yangHui[i][0] = yangHui[i][i] = 1;//首末元素赋值
//给每行非首末元素赋值;从第二行开始进行赋值操作,到倒数第二行结束;
if(i > 1) {
for (int j = 1; j < yangHui[i].length - 1; j++) {
yangHui[i][j] = yangHui[i-1][j-1] + yangHui[i-1][j];
}
}
}
//遍历杨辉三角;
for (int i = 0; i < yangHui.length; i++) {
for (int j = 0; j < yangHui[i].length; j++) {
System.out.print(yangHui[i][j] + " ");
}
System.out.println();
}
}
}
结果:
练习3:创建一个长度为6 的int型数组,要求数组元素的值都在1~30之间,且是随机的。同时要求元素的值各不相同。
int [] arr = new int[6];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random() * 30) + 1;
for (int j = 0; j < i; j++) {
if(arr[i] == arr[j]) {
i--;
break;
}
}
}
for (int i : arr) {
System.out.println(i);
}
}
}
3.数组中涉及的常见算法:
数组的复制:
int[] arr = new int[] {3,2,9};
int[] copy_list = new int[arr.length];
for(int i = 0; i < arr.length; i++) {
copy_list[i] = arr[i];
}
数组的反转:
int[] arr = new int[] {3,2,9};
int[] temp = new int[arr.length];
int k = 0;
for(int i = arr.length-1; i >= 0; i--) {
temp[k] = arr[i];
k++;
}
arr = temp;
数组排序:
冒泡排序:
int[] arr = new int[] {3,2,10,9,5,4};
int mid = 0;
for(int i = 0; i < arr.length-1; i++) {
for(int j = 0; j < arr.length - 1 - i; j++) {
if(arr[j] > arr[j+1]) {
mid = arr[j];
arr[j] = arr[j+1];
arr[j+1] = mid;
}
}
}