Java数组
数组的声明
public class Infine {
public static void main(String[] args) {
int[] nums;//声明一个数组,栈中操作
// int nums[]; //也可以,但是不是Java风格,不建议使用
nums = new int[5];//给数组分配堆的空间
//int[] nums = new int[5];也可以写成这个
nums[0] = 1;
nums[1] = 2;
nums[2] = 3;
nums[3] = 4;
nums[4] = 5;
System.out.println("数组长度为:" + nums.length);
int sum = 0;
for (int num : nums) {
sum += num;
}
System.out.println("数组的和为:" + sum);
}
}
数组的初始化
public class Infine {
public static void main(String[] args) {
//静态初始化:创建 + 赋值
int[] a = {1,2,3,4,5};
//动态初始化:包含默认初始化
int[] b = new int[10];//数组也是引用类型的,这里其实已经默认隐式初始化为0了
b[0] = 10;
}
}
数组中元素可以是任何数据类型,包括基本类型和引用类型。
数组的使用
-
数组传参
public class PassParam { public static void main(String[] args) { int[] arrays = {1, 2, 3, 4, 5}; //传递数组名字 printArray(reverse(arrays)); System.out.println(""); printArray(arrays); } //反转数组 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数组名字 return result; } public static void printArray(int[] arrays) { for (int num : arrays) { System.out.print(num + " "); } } }
Arrays类
在Idea中可以ctrl点进相关类中,再点击右侧structure中,可以选择看相应的方法细节,更好的利用合理的方法使用。
//如,数值排序
int[] a = {2, 1, 3};
Arrays.sort(a);
System.out.println(Arrays.toString(a));