JavaSE 数组

定义:

int []arr;
int arr[];

初始化

// 完整格式
int arr[] = new int[]{1, 2, 3};
// 简单格式
int arr[] = {1, 2, 3};

 数组的元素访问、遍历

按照下标访问即可。数组的长度函数为 arr.length()。idea快速生成遍历的方法:数组名.fori

静态初始化 & 动态初始化

静态初始化:手动指定数组元素;

动态初始化:指定数组长度,系统给出默认初始值。

int arr[] = new int[5];
不同数据类型的默认初始值:

整数:0

浮点数:0.0

字符型:'\u0000'

引用数据类型:null

数组练习

1.遍历数组求和:生成10个 1~100 之间的随机数存入数组

自己不会的点:怎么生成这个随机数

import java.util.Random

Ramdom r = new Random();
int a = r.nextInt(100)+1;
// seed=100 就是在 [0,100) 生成随机数,然后+1之后,就是[1,100] 

数组内存图

Java内存分配

JavaSE 数组_第1张图片

栈:方法 运行时使用的内存;

堆:存放 对象 or 数组,new出来的东西都在这存储;

方法区:存储可以运行的 class文件;

本地方法栈:JVM在使用 OS的时候使用,和开发无关;

寄存器:给 CPU使用,和开发无关。

数组的内存图

JavaSE 数组_第2张图片

小结:

1.只要是 new 出来的,一定在 堆里面开辟了一个小空间;

2.如果 new 了多次,那么在堆里面就会有多个小空间,每个小空间都有各自的数据。

两个数组 指向同一个空间的内存图

 JavaSE 数组_第3张图片

 

 

你可能感兴趣的:(Java,算法,数据结构)