Java数组
视频链接:https://www.kuangstudy.com/course/play/1317504817342205954#ksd_1336563832227454977_1336564031104573442
数组的声明和创建
package array;
public class ArrayDemo01 {
// 变量的类型 变量的名字 = 变量的值;
// 数组类型
public static void main(String[] args) {
int[] nums;// 声明数组
nums = new int[10]; // 创建数组
// 给数组赋值
nums[0] = 1;
nums[1] = 2;
nums[2] = 3;
nums[3] = 4;
nums[4] = 5;
nums[5] = 6;
nums[6] = 7;
nums[7] = 8;
nums[8] = 9;
nums[9] = 10;
// 计算所有元素的和
int sum = 0;
// 获取数组长度:arrays.length
for (int i = 0; i < nums.length; i++){
sum = sum +nums[i];
}
System.out.println("总和为:" + sum);
}
}
内存分析
- 当声音数组时会在栈中开辟一块内存
- 创建数组后会在堆开辟相对于数组长度的空间,并且后续的赋值也在此进行
- 当读取超过最大值的数会造成下标越界报(java.lang.ArrarIndexOutOfBundsException:x)
三种初始化状态
package array;
public class ArraryDemo02 {
public static void main(String[] args) {
//静态初始化:创建 + 赋值
int[] a = {1,2,3,4,5,6,7,8}; //定义数组的数据类型
System.out.println(a[0]); //输出数组中的第0位(数组的第一个数字位是0)
//动态初始化:包含默认初始化
int[] b = new int[5]; //定义数组的数据类型和数组长度
b[0] = 10; //赋值
b[1] = 20; //当获取数组长度内的数组时,如果没有进行赋值会默认为0
System.out.println(b[0]);
System.out.println(b[1]);
System.out.println(b[2]);
System.out.println(b[3]);
System.out.println(b[4]);
}
}