携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第十三天,点击查看活动详情
数组
一维数组的初始化
数组一旦初始化完成 长度就确定了
数组的初始化默认值
数组的内存解析
简单的内存结构
一维数组的内存解析
二维数组的声明和初始化
遍历二维数组
int[][] array = new int[][]{{1,2,3},{2,3,4}};
//遍历二维数组
for(int i=0;i<array.length;i++){
for(int j=0;j<array[i].length;j++){
System.out.println(array[i][j]); //1 2 3 2 3 4
}
System.out.println();
}
二维数组的赋值与调用
int[][] array = new int[][]{{1,2,3},{2,3,4}};
int[][] a2 = new int[2][4];
System.out.println(array[0][1]); //2
System.out.println(a2[0][1]); //0
String[][] s= new String[3][]; //正确的写法
s[0]=new String[3]; //给里层数组赋值
System.out.println(s[0][1]); //null
System.out.println(array[0].length); //3
二维数组的默认初始化值
注意:以引用类型数据为元素的数组的默认初始化值为null
二维数组的内存解析
综合复习
eclipse常用快捷键
数据结构与算法初识
数组工具类的使用
package com.atguigu.exec;
import java.util.Arrays;
public class ArraysUtils {
public static void main(String[] args) {
// boolean equals(int[] a,int[] b) 判断两数组是否相等
int[] arr1 = new int[]{1,2,3,4};
int[] arr2 = new int[]{1,3,4,2};
Boolean isEquals=Arrays.equals(arr1, arr2);
System.out.println(isEquals); //false
//String toString(int[] a) 输出数组信息
System.out.println(Arrays.toString(arr1)); //[1, 2, 3, 4]
//void fill(int[] a,int val) 将指定值填充到数组中;
Arrays.fill(arr1, 10);
System.out.println(Arrays.toString(arr1)); //[10, 10, 10, 10]
//void sort(int[] a) 对数组进行排序
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2)); //[1, 2, 3, 4]
//int binarySearch(int[] a,int key) 二分法检索
int[] arr = new int[]{12,34,56,78,90,123,1234,12345};
int index=Arrays.binarySearch(arr, 123);
if(index>0){
System.out.println(index);
}else{
System.out.println("没找到");
}
}
}
数组中常见的异常
数组复习题
package com.atguigu.java;
import java.util.Arrays;
public class Reviews {
public static void main(String[] args){
int[] arr = new int[]{22,3,4,-99,4,0,-2};
//冒泡排序
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]){
int temp = arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
System.out.print(Arrays.toString(arr)+"\t"); //[-99, -2, 0, 3, 4, 4, 22]
//反转数组
for(int i = 0,j=arr.length-1;i<j;i++,j--){
int temp = arr[j];
arr[j]=arr[i];
arr[i]=temp;
}
System.out.print(Arrays.toString(arr)+"\t"); //[22, 4, 4, 3, 0, -2, -99]
//复制数组
int[] arr1=new int[arr.length];
for(int i=0;i<arr1.length;i++){
arr1[i]=arr[i];
}
System.out.print(Arrays.toString(arr1)+"\t"); //[22, 4, 4, 3, 0, -2, -99]
//线性查找
int destiny = 22;
destiny = 33;
Boolean isFlag = true;
for(int i=0;i<arr.length;i++){
if(arr[i]==destiny){
System.out.println("找到了"+i);
isFlag=false;
break;
}
}
if(isFlag){
System.out.println("没找到");
}
}
}