Java中数组的定义和使用

基本概念

首先数组指的就是一组相关类型的变量集合,同时数组本身属于引用数据类型,数组元素被分配到一段连续的地址中,同时应注意数组元素被储存在堆区,其中数组的首地址即为数组首元素的地址

数组初始化

  • 动态初始化:数据类型 [] 数组名称 = new 数据类型[长度];(我们数组采用动态初始化开辟空间后,数组里面的每一个元素都是该数组对应数据类型的默认值,例如整形即为0,布尔型即为false……)
  • 静态初始化:数据类型 [] 数组名称 = new 数据类型[长度]{数组元素、数组元素……}(或者直接用  数据类型 [] 数组名称 = {数组元素、数组元素……})
  • 以上两种初始化时  数据类型 [] 数组名称  均可写成  数据类型 数组名称[]

数组的唯一属性 

在 Java 中提供有一种动态取得数组长度的方式:数组名称.length;

存取数组元素

  • 对于静态初始化的数组一旦初始化后,长度国定,所以不能再往数组中添加新的元素,但是可以用新元素替换掉旧的元素
  • 对于动态初始化的数组可以采用:数组名[下标] = 元素;进行存储(下标范围是0 ~ 数组长度-1,通常利用for循环进行赋值)
  • 取得数组中元素方法:数据类型 变量名 = 数组名[下标] 

范例(声明数组同时开辟内存空间)

public class Array {
     public void test{
		int data[] = new int[3]; /*声明并开辟了一个长度为3的数组*/
		data[0] = 10; // 第一个元素
		data[1] = 20; // 第二个元素
		data[2] = 30; // 第三个元素
     }
}

 范例(先声明数组后开辟内存空间)

public class Array {
      public void test{
        int data[] = null;/*声明了一个长度为3的数组*/
		data = new int[3]; /*为该数组开辟了一个长度为3的整形数组空间*/
		data[0] = 10; // 第一个元素
		data[1] = 20; // 第二个元素
		data[2] = 30; // 第三个元素
     }
}

警告:如果只声明但不为数组开辟空间,则会出现异常

public class Array {
       public void test{
        int data[] = null;/*声明了一个长度为3的数组*/
		 /*但并为其开辟空间*/
		data[0] = 10; // 第一个元素
		data[1] = 20; // 第二个元素
		data[2] = 30; // 第三个元素
       }
}

数组的引用传递

public class ArrayDemo {
	public static void main(String args[]) {
		int data[] = null;
        //此时data[]只有栈内存
		data = new int[3]; //开辟一个长度为3的数组
        //此时数组具有堆内存的三个整型数组元素,默认值是零
		data[0] = 10;
		data[1] = 20;
		data[2] = 30;
        //此时栈内存的data[]可指向堆内存的三个已被赋值的数组元素
	}
}

二维及高维数组

由于实际开发中用到很少,此处省略~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白木Channel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值