1 数组定义格式:
int
[]
arr = new int[2];
int arr
[]= new int[2]; // 这两种方式都可以
int arr1 = new int[ ]{2,4,3,6,7}; //静态初始赋值
2 数组中一些注意的问题
a int
[] arr = new int[2]; //数组中每个元素默认值为0
b 数组元素角标从0开始,注意在使用中角标不要过界。过界时,编译不出问题,但执行时会出现异常。
c 若arr=null;则数组不再指向引用,也就无法进行arr[0] arr[1]等操作了。
3 数组的操作,获取数组中数据
方式一:
int arr[] = new int[3]{4,5,6};
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
方式二:
int arr[] = new int[3]{4,5,6};
for(int x=0;x<3;x++)
{
System.out.println(arr[x]);
}
注意:数组中有一个属性可以直接获取到数组元素个数,length。使用方式为:
数组名称.length=
int arr[] = new int[3]{4,5,6};
for(int x=0;x<
arr.length;x++)
{
System.out.println(arr[x]);
}
4 数组中元素的排序
a 选择排序 用一个元素与数组其他元素全部比较,从0到尾逐一比较。多次循环。
public static void selectSort(int[] arr)
{
for(int x=0;x<arr.length-1;x++)
{
for(int y=x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])
{
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
}
b 冒泡排序 相邻元素进行比较0与1 ,1与2,2与3.。。。。。多次循环
public static void bubbleSort(int[] arr)
{
for(int x=0;x<arr.length-1;x++)
{
for(int y=0;y<arr.length-x-1;y++)
{
if(arr[y]>arr[y+1])
{
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
}
5 二维数组
格式1:int [][] arr = new int[3][4];
定义了名称为arr的二维数组,二维数组中有3个一维数组,每个一维数组有4个元素,一维数组的名称分别为arr[0] arr[1] arr[2],给第一个一维数组1脚标位赋值写法是:arr[0][1] = 23;
格式2:int[][] arr = new int[3][];
二维数组中有3个一维数组,每个一维数组都是默认初始化值null,可以对这个三个一维数组分别进行初始化
arr[0] = new int[3];
arr[1] = new int[3];
arr[2] = new int[2];
注意:二维数组长度:arr.length,表示二维数组中有几个一维数组
arr[0].length,表示二维数组中第一个一维数组的元素个数