Java 如何理解数组在Java中作为一个类?

Java数组的使用语法与CC++的比较类似,但是它的本质是一个Java类,只是这个类比较特殊,所以很容易被人误解。

   大家知道,Java的数据类型可以分为俩种:基本数据类型和引用数据类型。那么数组属于哪种呢?很显然,数组不会是基本数据类型,因为基本类型就只有那8种,那他应该就属于引用数据类型了,也就是说每一个数组实例都是一个对象,这些对象同属于一个类。

首先,看一看如何使用一个Java数组,大致有以下几个步骤:

1.声明数组,使用一个引用类操作数组

2.使用new关键字来为数组创建数组所需要的内存空间,并且返回一个引用的值,还可以用{}符号莱维数组赋初值。

3.使用数组下标对数组的值进行操作。

示例代码如下:

public class Test2 {

	public static void main(String[] args) {
		
		int [] arr=new int[]{1,2,3,4,5};//定义一个int数组变量
		String []arr2=new String[3];//定义一个String数组变量
		for(int i:arr){
			System.out.println(i);
		}
		for(String i:arr2){
			System.out.println(i);
		}
		
	}
}

以上代码创建了俩个数组,一个是int型的数组,对数据进行了初始化;另外一个是String型的数组,指定数组的长度为3~

运行结果如下:

1
2
3
4
5
null
null
Null

 俩种类型的数组有一个共同的特点,就是在创建的时候必须知道一个长度。其实,这是因为数组在创建的时候,会动态的为这些类型知道数目的成员变量,并且为这些成员变量赋初值。但是,Java不会让我们像普通类那样去操作这些成员变量,而是通过[]符号,使用下标来访问这些数据。另外,java还为每一个数组提供了一个length属性,用于知道数组的长度。

注意:数组的下标是从0开始的。

    那么,数组的类名是什么呢?其实,数组的类型与它存储的数据类型有关,它们的类名可以通过获取数组的Class类型来获取,如下代码用于获取上例俩个数组的类名:

System.out.println("int arr type name:"+arr.getClass().getName());

System.out.println("String arr2 type name:"+arr2.getClass().getName());

结果如下:

int arr type name:[I

String arr2 type name:[Ljava.lang.String;

可以看出,数组类名总是以左中括号开头,然后是不同的标示。例如,int类型的数组则是一个I字符,字符串类型的数组则是Ljava.lang.String。通过这些标示,我们就可以知道该数组存储的是哪种数据类型。

总结:

   java的数组本质是一个类,该类还保存了数据类型的信息。该类通过成员变量的形式类保存数据,并且通过[]符号,使用下标来访问这些数据。在处理基本数据类型(如int)时,数组保存的是变量的值,如果我们未提供初始值,数组会把这些变量的初始值为0;而处理引用类型时(如String),数组保存的是数据的引用,如果我们没有初始化,数组会把变量的初始值为null

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值