JAVA数组方法

JAVA数组基础

[TOC]

JAVA数组基础

数组的基础表示

声明、分配、使用数组数据、数组遍历

  • 数组声明

基本数据类型的数组的声明与分配空间可以不再一起进行

1
2
3
4
5
6
7
8
9
10
int[] arr;
arr = new int[4];

int[] arr1 = new int[4];
arr1[1] = 10;
arr1[0] = 11;
arr1[2] = 12;
arr1[3] = 13;

int[] arr2 = new int[]{1,2};
1
2
3
4
char[] arr3 = new char[]{'你','好'};

char[] arr4;
arr4 = new char[]{'你','好'};

引用类型数组必须在数组声明时候分配空间

1
2
3
4
5
6
//错误演示方式
String[] arr5;
arr5 = {"你好","大"};

//正确声明方式
String[] arr5 = {"你好","大"};
  • 数组存储数据

变量名[数组的下标](表示存储在连续空间的第几块空间 他是从0开始的)= 存储的数据(要和声明数组时的数据类型一致)

  • 数组取出数据

数据类型(必须和声明数组的数据类型一致)变量名 = 数组变量名[数组的下标]

1
2
3
4
5
6
7
8
int[] arr;		//声明一个数组
arr = new int[4]; //分配空间

//数组放置数据
arr[1] = 10;
arr[0] = 11;
arr[2] = 12;
arr[3] = 13;

数组遍历

1
2
3
4
5
//数组遍历
for (int i = 0; i < 4; i++) {
int num = arr[i];
System.out.println(num);
}

数组扩容的三种方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static int[] m2(int[] a) {
int[] b = new int[a.length*2];
for(int i=0;i<a.length;i++){
b[i]=a[i];
}
return b;
}
public static int[] m3(int[] a) {
int[] b = new int[a.length*2];
// 原数组,起始下标,目标数组,目标数组的下标 ,参与搬家的元素数量、长度
System.arraycopy(a,0,b,0,a.length);
return b;
}
public static int[] m4(int[] a) {
//需要扩容的数组 扩容长度
int[] b=java.util.Arrays.copyOf(a,a.length*2);
return b;
}

二维数组表示方法

二维数组的声明

1
int [][] arr;

开辟空间

1
arr = new int[行数][列数]

声明并且开辟空间

1
int [][] arr = new int[3][4];

声明并初始化

1
2
3
4
int[][] arr;
arr = new int[][]{{1,2,3}, {2,4}, {1}};

int[][] arr = new int[][]{{1,2,3}, {2,4}, {1}};

静态声明

1
int [][] arr = {{1,2,3}, {2,4}, {1}};

不规则二位数组

二维数组由一个一维数组和多个一维数组组成

一个一维数组每个元素存储了多个一维数组的首地址

二维数组的遍历

1
2
3
4
5
6
for (int i=0; i < arr.length; i++) {
for (int j=0; j<arr[i].length; j++) {
Sysotem.out.print(arr[i][j]);
}
Sysotem.out.println();
}
文章作者: HibisciDai
文章链接: http://hibiscidai.com/2018/08/24/2018-08-24-JAVA数组方法/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HibisciDai