数组

340 阅读2分钟

复习Java之数组

001.什么是数组

数组是相同类型的数据,按顺序组成的一种引用数据类型。

002.一维数组

0021.声明

  • 语法:数据类型[] 数组名;
  • 如:int[] arr;

0022.声明并创建

  • 语法:数据类型[] 数组名 = new 数据类型[数组长度];
  • 如: int[] arr = new int[10];
  • 注意:数组的长度一定要写上;

0023.数组的初始化

  • 声明数组并给予赋值,这叫做数组的初始化;
  • 如: int[] arr = {1,2,3,4,5};

0024.数组的快速访问

  • 语法:数组名[下标];
  • 如:a[2]=3;
  • 注意:数组的下标从0开始;

0025.数组的长度

  • 语法:数组名.length;
  • 如:arr.length; //arr数组的长度为:5

0026.数组的内存分配

  • 如定义:int[] arrInt = new int[5];
  • 解释:生成了两块内存空间,一块存在栈区的arrInt,另一块存在堆区的new int[5];

003.增强型for循环(foreach循环)

用法:
int[] arr={1,2,3,4,5};
for(int n : arr){
    System.out.println(n);
}

004. 变量交换

int a=2,b=1;
int temp;       //中间值
temp=a;a=b;b=temp;

005.冒泡排序

int[] nums = {9,1,7,6,3,1,8,5};
for(int i=0;i<nums.length;i++){
	for(int j=0;j<nums.length-i-1;j++){
		if(nums[j]>nums[j+1]){
			int temp = nums[j];
			nums[j] = nums[j+1];
			nums[j+1]=temp;
		}
	}
}
for(int i=0;i<nums.length;i++){
	System.out.print(nums[i]);
}

006.二维数组

0061.是什么?

  • 二维数组可以看作由多个一维数组组成,存放着相同数据类型的数据;

0062.声明并创建

* 如:int[][] array = new int[3][3];
* 注意:必需指定行数;

0063.初始化

* 如:int[][] num = {{1,2,3},{4,5,6},{7,8,9}};
* 访问:num[1][1]为:5;

0064.数组长度

* int[][] num = {{1,2,3},{4,5,6},{7,8,9}};
* num.length长度为3;

0065.二维数组遍历

int[][] arr={{2,65},{51,87,90},{96}};
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();
}

007.数组工具类:Arrays

提供的操作:

  • sort --排序
  • equals --比较
  • toString --转字符串
  • fill --填充
  • hash --哈希
  • asList --转列表
  • binarySearch --查找

008.小补充

  • 创建一个int类型数组时,数组元素都被初始化为 0;boolean类型数组的元素会被初始化为 false;对象数组的元素则初始化为一个特殊值 null.