从零学Java笔录

从零学java笔录-第22篇 数组1 数组概念&动态初始

2017-06-25  本文已影响16人  凯哥Java

本节内容:

1:数组概念、定义格式说明

2:数组初始化定义&动态初始化

3:数组在内存中的模型

本文是《凯哥陪你学系列之java基础篇》中第22篇数组1数组概念&动态初始化&内存中模型

一:数组概念和定义格式说明

1:为什么需要有数组这个东西?

数组其实就是一个容器,什么容器呢?

是为了存储同种数据类型的多个值

2:数组概念

什么是数组?

数组是存储同一种数据类型多个元素的集合。也可以看作是一个容器

数据既可以存储基本数据类型,也可以存储引用数据类型

3:数组定义的格式

数据类型数组名 =new数据类型[数组的长度]

public class DemoArray1 {

public static void main(String args) {

int x=10;

x=15;

System.out.println("x = "+ x);//此时输出的就是15而不是10因为10被覆盖了

int y = 20;

int m=30;

System.out.println("x ="+x+" y="+y +" m="+m);//输出的是 x=15 y=20 m 30

//如果还有 40 50 ...怎么办?一直什么变量吗?

//此时就可以使用数组了。

//数组的格式:

//数据类型数组名= new数组类型[数组长度]

int arr = new int [5];

/**

*说明:

*左边

* int :数据类型

* :代表的是数组。几个中括号就代表及维数组。

* arr:数组名称。合法的标识符

*

*等号右边:

* new :表示创建新的实体或者是对象

* int:数据类型

* :依然代表的数组

* 5:代表数组的长度

*

*所以上面一行代码的含义就是:

*创建了一个长度为5的int类型的一维数组

*/

}

}

二:数组的初始化&动态初始化

1:什么是数组的初始化

就是为了数组开辟连续的内存空间,并为每个数组元素赋予值。

2:如何对数组进行初始化?

2.1:动态初始化,

只指定长度,由系统给出初始化值。

比如 int arr = new int [5];

这句话什么意思?

就是先有系统创建一个长度为5的int类型的数组。并赋默认值。后续我们需要的时候,在动态的给这个输入arr对应位置赋新值。这个就是动态初始化。

数组arr在内存中模型:

思考:

int arrnewint[5];

system.out.println(arr[0]);//此时输出的是多少呢?

为什么会是0呢?

在内存中一个刚初始化的int类型的一维数组模型:

动态给arr赋值

2.1.2:八中基本类型系统初始化默认值说明

整数类型:byte、short、int、long默认初始化值是0

浮点型:float,double默认值是0.0

布尔类型(boolean):boolean默认初始化值是false

字符类型:char默认初始化值是'u0000'

说明:char在内存中占的两个字节,是16个二进制。

u0000,每个0其实代表的是16进制中的0,那么4个0就是代表16个二进制位。

2.1.3:数组在内存中的

[I@39ff48d8解释:

[ :半个中括号其实就是代表的是数组

I :代表的是int类型的

@39ff48d8:表示arr这个数组在内存中真实的地址(哈希值)16进制的

下节课预告:

java中内存分配及棧、堆的区别

欢迎关注凯哥公众号:凯哥Java

本文凯哥个人网站地址:http://kaigejava.com/article/detail/58

欢迎访问凯哥个人网站:http://www.kaigejava.com

上一篇 下一篇

猜你喜欢

热点阅读