数组属于引用数据类型,在使用前必须初始化,否则会报NullPointerException(空指针异常:运行时异常)
一维数组初始化:
动态初始化:(声明并开辟数组)
数据类型[ ] 数组名称=new 数据类型[长度]
int[ ] data=new int [5] :声明并开辟一个长度为5的数组
数组通过下标索引来获取元素,下标默认从0开始。数组下标超出数组长度,数组越界异常(运行时异常)
数组中每个元素都有默认值,默认值是该数据类型默认值
数组长度:数组名称.length
数组遍历推荐使用JDK1.5 提供for-each循环(仅限于数组内容读取),要修改数组内容,还是使用常规for循环
for(int x : data)
{
System.out.println(x+” “);
}
引用传递:多个栈内存指向同一块堆内存
int[ ] tmp=data; //引用传递 注意是地址的传递
tmp[3]=10; —-> x[3]=10;
数组静态初始化
简化格式:
数据类型[ ] 数组名称 ={值,值…}
完整格式: (推荐使用)
数据类型[ ] 数组名称 =new 数据类型[ ]{值,值…}
int[ ] data =new int[ ] {1,2,3} ;
长度 :数组名称.length ,静态初始化长度固定,根据值的个数确定长度,并且长度不可修改
匿名数组:没有任何栈内存指向,在使用一次后会变成垃圾,只会使用一次
二维数组
动态初始化:数据类型[ ][ ] 数据名称 =new 数据类型[ 行个数] [列个数]
int[ ] [ ]data =new int [3][4];开辟行数为3,列数为4的整型数组
静态初始化:
数据类型[ ][ ] 数组名称 =new 数据类型[ ][ ]{ {第一行的值},{第二行的值}…}
int[ ][ ] data={
{1,2,3},{4,5,6},{7}};
x<data.length
y<data[x].length
对象数组初始化:
首先看对象数组动态初始化:
对象数组动态初始化
public class ArrayDemo
{
public static void main(String[] args)
{
String[] str=new String[3]; //数组动态初始化,每个元素都是其对应数据类型的默认值
for(String num :str)
{
System.out.print(num+"、"); //null、null、null、
}
str[0]=new String("pick");
str[1]=new String("happy");
str[2]=new String("day");
for(String num :str)
{
System.out.print(num+"、"); //pick、happy、day、
}
}
}
对象数组静态初始化:
public class ArrayDemo
{
public static void main(String[] args)
{
String[] str=new String[]{"pick","happy","day"}; //数组静态初始化,pick、happy、day、
for(String num :str)
{
System.out.print(num+"、"); //pick、happy、day、
}
}
}
今天的文章Java中一维数组和二维数组初始化 对象数组初始化分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9027.html