【javaSE】一维数组与二维数组分析

int [] x,y[]; 数组的声明:x是一维数组,y是二维数组;

【一维数组】

(1) 数组是引用数据类型;
(2) 具有长度属性length
(3) 数组只能存储同一类型的数据
(4) 数组会给每个数组中的值分配一个索引值,从0开始,最大为长度length-1;
(5) 数组一旦初始化,长度确定且不能更改
(6) 一维数组不同基本类型的元素默认值不同:byte 型数组元素默认初始值是 0 。

byte、short、int、long、 型数组元素的默认初始值是 0 。
double、float 型数组元素的默认初始值是0.0。
char 型数组元素的默认初始值是 ’ '\u.000。
boolean 型数组元素的默认初始值是 false。
引用类型 (类、接口、数组、二维数组元素)的默认初始值是 null

动态初始化:
int [] score=new int[5];//定义长度初始化
int [] socre;
score=new int {12,13,14,15}//定义内容初始化
int [] socre;
score={12,13,14,15};//报错,因为没有new,没有在堆中创建数据

数组操作的两个小问题
(1) 索引越界:索引数越界;
(2) 空指针异常:数组没有初始化;

String[] name=new String[] {"lisir","zhangsan"};
		System.out.println(name[0]);
		name=null;
		System.out.println(name[0]);  //java.lang.NullPointerException

在这里插入图片描述
【陷阱】数组复制

		int [] num=new int[] {51,43,27,99,-4};
		int [] newNum=score;—————————两个地址指向堆中同一个数组数据
		newNum[0]=100;

【二维数组】

初始化:
类型[][] 数组名=new 类型[10][20];
类型[][] 数组名=new 类型[5][];
在这里插入图片描述

int[][] num = new int[10][20];
System.out.println(num[0]);//一维数组在堆中的地址
int[] [] num1=new int[5] [];   //数组中每个元素的长度不确定
System.out.println(num[0]);// 输出null。二维数组的元素是一维数组,即引用类型,默认null
int [][]y;
y=new int [5][];		
y[0][0]=10;		//空指针
Sysotem.out.println(y[0][0]);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值