Java数组学习(1)——初始化与内存分析
数组创建代码
package com.LittleWu.Array;
public class ArrayDemo01 {
public static void main(String[] args) {
// 变量类型 变量名字 变量值;
double[] first;// 声明数组空间
// 或 double[] first = new double[10];
first = new double[10]; // 里面可以存放10个double类型数字 创建一个数组
// 给数组赋值
first[0] = 1;
first[1] = 2;
first[2] = 3;
first[3] = 4;
first[4] = 5;
first[5] = 6;
first[6] = 7;
first[7] = 8;
first[8] = 9;
first[9] = 10;
// 输出first[0]
System.out.println(first[0]);
// 获取数组长度 array.length
// 计算所有元素的值
double sum = 0;
for (int i = 0; i < first.length; i++) {
sum += first[i];
}
System.out.println(sum);
}
}
内存分析
1.声明数组 例double[] first 栈中出现数组名
2.创建数组 例first = new double[10] 堆里开辟一块空间 并分成十块小份
3.给数组赋值例:first[0] = 1;first[1] = 2;first[2] = 3 堆内空间进行赋值
package com.LittleWu.Array;
import jdk.internal.cmm.SystemResourcePressureImpl;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] lakers = new int[5];
for (int i = 0; i < lakers.length; i++) {
lakers[i] = scanner.nextInt();
}
for (int i = 0; i < lakers.length; i++) {
System.out.println(lakers[i]);
}
// ArrayIndexOutOfBoundsException 数组越界报错
}
}
数组初始化
package com.LittleWu.Array;
/***
* ░░░░░░░░░░░░░░░░░░░░░░░░▄░░
* ░░░░░░░░░▐█░░░░░░░░░░░▄▀▒▌░
* ░░░░░░░░▐▀▒█░░░░░░░░▄▀▒▒▒▐
* ░░░░░░░▐▄▀▒▒▀▀▀▀▄▄▄▀▒▒▒▒▒▐
* ░░░░░▄▄▀▒░▒▒▒▒▒▒▒▒▒█▒▒▄█▒▐
* ░░░▄▀▒▒▒░░░▒▒▒░░░▒▒▒▀██▀▒▌
* ░░▐▒▒▒▄▄▒▒▒▒░░░▒▒▒▒▒▒▒▀▄▒▒
* ░░▌░░▌█▀▒▒▒▒▒▄▀█▄▒▒▒▒▒▒▒█▒▐
* ░▐░░░▒▒▒▒▒▒▒▒▌██▀▒▒░░░▒▒▒▀▄
* ░▌░▒▄██▄▒▒▒▒▒▒▒▒▒░░░░░░▒▒▒▒
* ▀▒▀▐▄█▄█▌▄░▀▒▒░░░░░░░░░░▒▒▒
* 单身狗就这样默默地看着你,一句话也不说。
*/
public class ArrayDemo02 {
public static void main(String[] args) {
// 静态初始化 创建+赋值
int[] a = {1,2,3,4,5,6,7,8,9};
System.out.println(a[0]);
// 动态初始化:包含默认初始化
int[] b = new int[10];
b[0] = 10;
System.out.println(b[0]);
}
}