int[] a
声明创建了一个数组,int
表示数组中存放的数据类型,[]表示这是一个数组,当然写成int a[]
也行,但是建议用第一种写法,把 int[] 当作一种类型去理解
int[] a = new int[5]
动态初始化,用new运算符,在堆里开辟一片该数据的数组,指定开辟的大小,并返回这个引用int[] a = {1,2,3,4,5}
静态初始化,带上了赋初值的效果,数组仍然在堆中public class Main {
public static void main(String[] args) {
int[] a = new int[5];//动态初始化,分配空间
int[] b = new int[2]{1,2};//静态初始化,分配空间的同时指定值
int[] c = {1,2,3,4};//静态初始化的简单写法
//一下这种是错误的?!
int[] a;
a = {1,2,3};//不能用静态初始化赋值
/*
简单来说就是初始化和赋值不是同一种东西,赋值时用new,实质上是返回了一个引用
*/
}
}
public class Main {
public static void main(String[] args) {
int[] a = {1,2,3,4,5};
for(int each:a){
System.out.println(each);
}
/*OUT:1,2,3,4,5
在作用上与python的for循环相似,直接取里面的值
*/
}
}
数学理解上可以当作矩阵,存储空间理解上:存储数组的数组
public class Main {
//二维数组
public static void main(String[] args) {
int[][] a = new int[3][5];//动态初始化,行列分配了确定的空间
int[][] b = {{1,2},{2,3}};//静态初始化
//方法三
int[][] c = new int[2][];//可以先只分配行
c[0] = new int[5];//对于每一行再单独分配列的空间
}
}
这是JAVA中针对数组提供的工具类
Arrays.toString() //转换为字符串
Arrays.sort() //排序
Arrays.fill() //填充
Arrays.binarySearch() //搜索
原文:https://www.cnblogs.com/Burning-Yu/p/12864557.html