2021-06-01

java数组声明,创建,初始化

声明数组变量
首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:
dataType【 arrayRefVar;// 首选的方
法或 dataType arrayRefVarl;// 效果相同,但不是首选方法
注意:建议使用 dataTypel arrayRefVar的声明风格声明数组变
量。 dataType arrayRefVar] 风格是来
自C/C++语言,在Java中采用是为了
让C/C++程序员能够快速理解java语言。数组是一种引用型的变量,因此使用它定义一个变量时,仅仅表示定义了一个引用变量(也就是定义了一个指针),这个引用变量还未指向任何有效的内存,因此定义数组时不能指定数组的长度。而且由于定义数组仅仅是定义了一个引用变量,并未指向任何有效的内存空间,所以还没有内存空间来存储数组元素,因此这个数组也不能使用,只有对数组初始化后,才能使用。
有一点需要注意,那就是,声明了一个数组,仅仅是声明,你仅仅是有了这么一个名称而已,你可以认为计算机为你的这个数组开辟了一个新的内存地址,但里面没有任何东西。由于没有初始化,所以你的这个数组现在是徒有其表,如果你在声明之后,没有初始化就想马上使用这个数组,java就会报错,比如这样:
运行结果
public class ArrayDefine {
public static void main(String[] args){
int[] a;
System.out.println(a);
}
}
我们看到,这个程序无法通过编译,观察错误信息,是这样的:
variabl a might not have been initialized,就是说,变量a也许还没有被初始化。我们知道,不是也许,真的就没有初始化。其实不光是数组,任何一个数据,如果你只是声明,那 是不能直接使用的。
下面是这两种语法的代码示例:
int] array; // 首选的方法或
int arrayl; // 效果相同,但不是首选方法

初始化
Java中必须先对数组初始化,才能使用。初始化就是为数组的数组元素分配内存空间,并为每个数组元素赋初值。
数组的初始化有两种:

1.静态初始化
在定义数字的同时就为数组元素分配空间并赋值;
dataType】 arrayRefVar = new dataTypel tvalueO, value1……,valuekj;
在上面的语法格式中,前面的dataType就是数组元素的数据类型,此处的dataType必须与定义数组变量时所使用的dataType相同,也可以是定义数组时所使用的dataType的子类,并且使用大括号把所有的数组元素括起来,多个数组元素之间以英文逗号()隔开,定义初始化值得大括号紧跟口之后。
静态初始化的简化格式
dataType arrayRefVar = fvalue0,value1,…V例如int] a=(3,4,5,6);

2.动态初始化
数组定义与为数组分配空间和赋值的操作分开进行;动态初始化只指定数组长度,由系统为每个数组元素指定初始值,动态初始化的语法格式如下:
arrayRefVar = new dataType[arraySize];在上面语法中,需要指定一个int整型的arraySize参数,这个参数指定了数组的长度,也就是可以容纳数组元素的个数。下面代码示范了如何动态初始化。

初始值
下面是系统为数组分配的初始值。
1.数组元素的类型是基本类型中的整数类型(byte、short、int和long),则数组元素的值是0。
2.数组元素的类型是基本类型中的浮点类型(float、double),则数组元素的值是0.0。
3.数组元素的类型是基本类型中的字符类型(char),则数组元素的值是“\u0000’。
4.数组元素的类型是基本类型中的布尔类型(boolean),则数组元素的值是false。
5.数组元素的类型是引用类型(类、接口和数组),则数组元素的值是null。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值