美文网首页从零学Java笔录
从零学java笔录-第22篇 数组1 数组概念&动态初始

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

作者: 凯哥Java | 来源:发表于2017-06-25 08:52 被阅读16次

本节内容:

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

相关文章

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

    本节内容: 1:数组概念、定义格式说明 2:数组初始化定义&动态初始化 3:数组在内存中的模型 本文是《凯哥陪你学...

  • java对象数组

    java对象数组 [TOC] 概念 使用 动态初始化: 1、声明并开辟空间 2、赋值 3、循环遍历打印 静态初始化...

  • 1.数据类型、类、package

    数组 1.数组静态初始化: 数组静态初始化简写: 2.数组的动态初始化 3.二维数组静态初始化: 4.二维数组动态...

  • Java学习之数组

    标签: java 数组 声明数组语法: 声明并开辟数组: 数组的数据类型 数组是引用类型。 动态初始化数组 先开辟...

  • JAVA 基本功秘籍

    1. Java数组与内存控制一、Java数组初始化 Java数组是静态的,即当数组被初始化之后,该数组的长度是不可...

  • 造轮子搞面试——android

    JAVA: 1.研读Effective Java并做总结 2.Java数组基本功(动态初始化、静态初始化) 3.实...

  • 数组与内存控制

    Java数组是静态的 静态初始化初始化由程序员显示指定每个数组元素的初始值,由系统决定数组长度 动态初始化初始化时...

  • 7.二维数组

    1.数组中储存数组就是二维数组 2.使用 定义 3.初始化 初始化1.动态初始化doubleArrs = new ...

  • 11 数组

    数组的定义 01 动态初始化 02 静态初始化 03 省略格式及初始化注意事项 04 获取数组 05 动态数组初始...

  • Java 数组初始化的那些事

    Java里面,初始化数组可以分为2种方式,静态初始化和动态初始化。 静态初始化 动态初始化 注意 1)2种方式在声...

网友评论

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

    本文链接:https://www.haomeiwen.com/subject/zgmlcxtx.html