数组的使用

一维数组

数组定义:数组就是一个相同数据类型的值按照一定的顺序排放的集

数组是数据类型中的引用类型;

数据类型包括数据类型

基本数据类型

​ 4个整形 byte/short/int/long

​ 2个浮点 float/double

​ 1个字符 char

​ 1个布尔 boolean

引用类型

​ 接口

​ 类

​ 数组

​ …

​ String

数组的定义

定义数组非常简单

​ int[] typeName;

​ int typeName[];//早期是这么写的,但是可读性不好,所以不推荐

​ 直接在数据类型后面加个[]

​ byte byte[]

​ short short[]

​ char char[]

​ int int[]

​ long long[]

​ float float[]

​ double double[]

​ boolean boolean[]

注意:异常:1)空指针异常 NullPointerException

一、数组默认值

整形的默认值是0
Char默认值是 ‘\u0000’
浮点的默认值是0.0
boolean默认值是false
String默认值是null
Object默认值是null

二、数组可以动态声明和静态声明初始化

1. 动态声明初始化

**int[] array=new int[8] **//[]这里面只能放int类型的数值,这是有8个元素的int类型的数组

2.静态声明初始化

int[] array=new int[] {3,4,5,8,9,9} 声明数组的同时并初始化,静态初始化

注意:此数组已经固定数组的长度了,即下标是从0-5,长度为6

//如何获取数组里面的值?数组是有下标,或者叫角标,或者叫索引,索引是从0开始的,根据索引访问数组的元素

int value = arr3[0];
		System.out.println("arr3[0]:" + value);
		System.out.println("arr3[1]:" + arr3[1]);//数组的第二个元素
		System.out.println("arr3[2]:" + arr3[2]);//数组的第三个元素
		System.out.println("arr3[3]:" + arr3[3]);//数组的第四个元素

三、数组的长度访问方式

语法: 数组名[数组名.length]
		int[] arr = {3,5,7};		
		//数组的长度 是数组的属性
		System.out.println("数组的长度为:" + arr.length);
注意:数组是空,访问空数组的元素的时候导致空指针异常

四、数组的复制(拷贝)

1.浅拷贝:目标对象=源对象 =>只存储源对象的数据地址,源对象内容改变影响目标对象内容。
2.深拷贝:目标对象=源对象 =>只存储源对象的数据内容,源对象内容改变“不会”影响目标对象内容。区别:一个“会”,一个“不会”

浅拷贝具体代码范例:

public static void main(String[] args) {
		//定义一个数组
		int[] arr = {3,5,8};
		
		//复制给一个新数组 这种拷贝是浅拷贝
		int[] arr2 = arr;
		
		//在修改数组 的元素之前,先打印
		System.out.println("arr[2]:" + arr[2]);//第一个数组的第三个元素
		System.out.println("arr2[2]:" + arr2[2]);//第二个数组的第三个元素
		
		System.out.println("arr数组地址:" + arr);
		System.out.println("arr2数组地址:" + arr2);
		
		//修改第二个数组的第三个元素
		arr2[2] = 30;
		
		System.out.println("arr[2]:" + arr[2]);//第一个数组的第三个元素
		System.out.println("arr2[2]:" + arr2[2]);//第二个数组的第三个元素
		
	}

运行结果:

arr[2]:8
arr2[2]:8
arr数组地址:[I@15db9742
arr2数组地址:[I@15db9742
arr[2]:30
arr2[2]:30

深拷贝具体代码范例:

二维数组

二维数组初始化和一维数组是一样的

具体代码如下

静态初始化:
//二维数组 
		int[][] arr = new int[][]{{1,2,3},{4,5},{6,7,8,9}};
//定义 如何解析这行代码? arr2这个数组有3个一维数组,每个数组有4个元素
		int[][] arr2 = new int[3][4];//
		arr2[0][3] = 5;//把5赋值给arr2第一个数组的第4个元素

二维数组和一维数组可以这样赋值,例:

//定义一个二维数组并静态初始化
int[][] arr = new int[][]{{1,2,3},{4,5},{6,7,8,9}};
//定义一个新的数组并把二维数组arr[0]赋值给它
int[] arr1 = arr[0];//arr[0]是二维数组中的{1,2,3}
System.out.println("arr1[0]:" + arr1[0]);//一维数组arr1的长度就为3,元素值是1,2,3

输出结果为:

arr1[0]:1 //一维数组arr1的长度就为3,元素值是1,2,3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值