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 = 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(); }
|