13--数组(概述、一维数组定义及使用)

数组的概述

数组(Array):,是多个相同类型数据一定顺序排列 的集合,并使用一个名字命名,并通过编号的方式 对这些数据进行统一管理。
数组本身是引用数据类型,而数组中的元素可以是任何数据类型(基本数据类型和引用数据类型)。
创建数组对象会在内存总开辟一块连续的空间,而数组名中引用的是这块连续空间的首地址。
数组的长度一旦定义,就不能更改
我们可以直接通过下标(索引)的方式来调用指定位置的元素。
数组的常见概念:

  1. 数组名

  2. 下标(或索引)

  3. 元素

  4. 数组的长度
    数组的分类:

  5. 按照维度分类:一维数组、二维数组、三维数组…

  6. 按照数组中元素类型的分类:基本数据类型元素的数组(整型数组,字节数组等)和引用数据类型元素的数组(即对象数组)

  7. 按照定义分类:动态类型数组、静态类型数组

一维数组的使用

一维数组的定义方式:
int[] num 或 int num[];
注意:java中声明数组时不能指定数值的长度(数组中元素的个数),比如:int score[10]//错误
一维数组的初始化:

  1. 动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行
    实例1:
package com.qwy;

public class Demo01 {
	public static void main(String[] args) {
		//动态声明一维数组:声明,并初始化
		int[] score=new int[5];
		//给数组赋值
		score[0]=88;
		score[1]=99;
		score[2]=100;
		score[3]=85;
		score[4]=88;
		//动态声明一维数组:先声明,再初始化
		String names[];
		names=new String[3];
		//给数组赋值
		names[0]="张三";
		names[1]="李四";
		names[2]="王五";
		
	}
}

  1. 静态初始化:在定义数组的同时就为数组元素分配空间并赋值
    实例2:
package com.qwy;

public class Demo02 {
	public static void main(String[] args) {
		//静态声明一维数组:声明,并赋值,注意不要编写数组长度
		int[] score=new int[]{88,89,99,100,86};

		//静态声明一维数组,直接赋值
		String names[]={"张三","李四","王五"};
		
		
	}
}

数组元素的引用:
1.定义使用new为之分配空间后,才可以引用数组中的每个元素。
2.数组元素的引用方法:数组名[数组元素下标]
1)数组元素下标可以是整数常量或振兴表达式:如a[3] , b[i] , c[6*i];
2)数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 —>n-1;如int a[]=new int[3]; 可引用的数组元素为a[0]、a[1]、a[2]
3.每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长 度(元素个数)
注意:数组一旦初始化,其长度是不可变的。
数组元素的默认初始化值:
数组是引用类型,它的元素相当于类的成员变量,因此数组一经 分配空间,其中的每个元素也被按照成员变量同样的方式被隐式 初始化
实例3:

package com.qwy;

public class Demo03 {
	public static void main(String[] args) {
		//静态声明一维数组:声明,并赋值,注意不要编写数组长度
		int[] score=new int[5];

		System.out.println(score[0]);//默认值0
		System.out.println(score[2]);//默认值0
	}
}

  1. 对于基本数据类型的数组,默认初始值分别为对应基本数据类型的默认值。
    参照:https://blog.csdn.net/qwy715229258163/article/details/113667381
  2. 对于应用数据类型的数组,默认初始值均为null。

一维数组的内存图

java中使用关键字new来创建数组。创建基本数据类型元素一维数组:
实例4:

package com.qwy;

public class Demo04 {
	public static void main(String[] args) {
		//创建一维数组:基本数据类型数组在显式赋值之前,Java会自动给他们赋默认值。 
		int[] scores=new int[5];
	}
}

内存图:在显式赋值之前
在这里插入图片描述
实例5:在显式赋值之后

package com.qwy;

public class Demo05 {
	public static void main(String[] args) {
		//创建一维数组:基本数据类型数组在显式赋值之前,Java会自动给他们赋默认值。 
		int[] scores=new int[5];
		//重新赋值
		scores[0]=88;
		scores[1]=99;
		scores[2]=100;
		scores[3]=85;
		scores[4]=88;
	}
}

内存图:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值