声明数组变量
dataType[] arrayRefVar;//首选方法
or
dataType[] arrayRefVar;//效果一样
java语言使用new操作符来创建数组:
dataType[] arraryRefVar = new dataType[arraySize];
数组的元素是通过索引访问的,数组索引从0开始。
获取数组的长度
arrarys.length
package array;
public class ArraryDemo01 {
//变量的类型 名字 = 变量值;
//数组类型
public static void main(String[] args) {
int[] nums;// 声明一个数组
int num2[];//不是首选的
nums = new int[10];//这里可以存放10个int类型的数字
// 给数组赋值
nums[0] = 1;
nums[1] = 20;
}
}
java内存分析
- 堆
- 存放new的对象和数组
- 可以被所有的线程共享,不会存放别的对象引用
- 栈
- 存放基本变量类型
- 引用对象的变量
- 方法区
- 可以被所有的线程共享
- 包含了所有的class和static变量
数组对象本身是在堆中的
数组的使用- for each 方法
- 数组作为方法参数
- 数组作为方法返回值
package array;
public class Demo04 {
public static void main(String[] args) {
int[] arrays;
arrays = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
for (int array : arrays) {
System.out.println(array);
}
printArray(arrays);
int[] reverse;
reverse = reverse(arrays);
printArray(reverse);
}
//数组作为参数
public static void printArray(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
System.out.print(arrays[i]+" ");
}
}
// 数组作为返回值
public static int[] reverse(int[] arrays){
int[] result = new int[arrays.length];
for (int i = 0, j = result.length-1; i < arrays.length; i++,j--) {
result[j] = arrays[i];
}
return result;
}
}
二维数组
Arrays类int a[][] = new int[2][5];
类似Python列表的一些操作函数
import java.util.Arrays;
public class Demo06 {
public static void main(String[] args) {
int[] a = {1,2,0,2,3,5,12,21,22,11};
// 打印数组元素
System.out.println(Arrays.toString(a));
Arrays.sort(a);//排序
System.out.println(Arrays.toString(a));
Arrays.fill(a,10);//数组填充
System.out.println(Arrays.toString(a));
Arrays.fill(a,2,4,21);//数组填充
System.out.println(Arrays.toString(a));
}
}
稀疏数组



