Java基础知识(数组)

Java基础知识(五)

数组的概述

1、数组:存储相同数据类型的容器

2、没有数组的情况

​ 如果需要定义多个数据,只能int a,int b一直进行定义,而且数据和数据之间没有关系,只能通过变量名进行获取,非常的不方便

3、有数组的情况

​ 如果需要定义多个数据,可以创建一个容器,将数据存储到容器里面,数组里面都是有索引的,通过数组名和有规律的索引去访问到每一个元素,这个容器就是数组

​ 通过有规律的索引去访问没有规律的元素

数组的定义

1、格式

元素的数据类型[] 数组名称 = new 元素的数据类型[数组的长度];

int[] arr = new int[3];

2、解释

​ 1、元素代表数组存储的数据

​ 2、元素的数据类型,数据存储数据的类型

​ 3、[] 代表的是一位数组

​ 4、数组名称,合法的标识符,给变量取名,第一个单词全部小写,从第二个单词开始,首字母大写,其他字母小写

​ 5、= 赋值符号,将右边的数据赋值给左边的变量

​ 6、new 数组是一个引用类型,存储在堆内存里面,new 就相当于在堆内存里面开辟一段空间

​ 7、第二个元素的数据类型要跟第一个元素的数据类型保持一致

​ 8、数组的长度:定义数组的大小,如果定义为3,数组只能存储三个元素

​ 9、元素一旦创建,长度是不可以改变的

3、直接打印数组的结果 [I@15db9742

​ 1、数组是一个引用类型,直接打印的话打印的是数组的地址,而不是数组中元素的值

​ 2、[ 代表的是一位数组

​ 3、I 数组的类型是int

​ 4、@ 代表普通的分隔符

​ 5、15db9742: 通过hashcode方法算出的哈希值,在转成16进制的数字

​ 6、以后给这一串数字和符号叫做数组的地址

class Demo01_数组的定义 {
   

	public static void main(String[] args) {
   
		//定义一个数组
		int[] arr = new int[3];
		System.out.println(arr);
		
	}
}

数组的初始化

1、初始化:在创建数组的时候进行初始化,jvm好分配多大的内存空间

2、分类

​ 1、动态的初始化

​ 2、静态的初始化

3、动态初始化

​ 1、创建数组的时候并不知道要给元素赋什么值,等创建数组完毕的时候,在对数组的元素进行一一赋值

​ 2、元素的数据类型[] 数组名称 = new 元素的数据类型[数组的长度];

​ int[] arr = new int[3];

​ 3、数组的长度一定要给,数组创建好之后,长度是不能改变的

​ 4、数组的赋值 通过数组名和索引相结合的方式进行赋值

​ 5、索引:下标、角标 从0开始,到数组的长度-1结束

​ 第一个元素的索引是0,第二个元素的索引1 最后一个元素的索引是长度-1

​ 6、数组名[索引] = 要赋的值;

​ 7、如果是int类型的数组元素没有进行赋值,默认值就是0

4、静态初始化

​ 1、在创建数组的时候,就叫里面的元素进行赋值

​ 2、格式

​ 元素的数据类型[] 数组名称 = new 元素的数据类型[]{元素的罗列};

​ int[] arr = new int[] {2,5,7};

​ 3、元素罗列的数据类型必须跟前面声明的元素数据类型保持一致

​ 4、元素的罗列通过逗号进行分割,最后一个元素不要给逗号

​ 5、=号后面的中括号千万不要给长度

​ 6、静态初始化的简写格式

​ 元素的数据类型[] 数组名称 = {元素的罗列};

​ int[] arr = {1,2,3};

​ 7、如果使用简写的方式,不能将数组的声明和数组的赋值分类开来

​ int[] arr; arr = new int[]{1,2,3}; 正确

​ int[] arr; arr = {1,2,3}; 错误

class Demo02_动态初始化 {
   

	public static void main(String[] args) {
   
		//动态初始化
		int[] arr = new int[3];
		//打印第一个元素   数组名[索引]
		System.out.println(arr[0]);
		//打印第二个元素
		System.out.println(arr[1]);
		System.out.println
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Programming Life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值