java数组详解

1.1数组的创建

1.1.1数组的创建

T[] 数组名 = new T[N];

例如:

int[] array1 = new int[3]; // 创建一个大小为3的int类型元素的数组
double[] array2 = new double[2]; // 创建一个大小为2个double类型元素的数组
String[] array3 = new double[1]; // 创建一个大小为1个字符串元素的数组

1.1.2数组的初始化

数组主要有两种初始化的方式,分别是动态初始化和静态初始化。在初始化的同时将数据直接存储进数组中就是静态初始化,反之则是动态初始化。

1.动态初始化:

int[] array = new int[3];// 创建一个大小为3的int类型元素的数组

2.静态初始化:

String[] array3 = new String[]{"hello", "world", "!!!"};
String[] array3 = {"hello", "world", "!!!"};//静态初始化的简写

注意:在静态初始化中没有直接给出数组长度,但编译器在编译时会自动识别元素个数来确定数组的长度。

同时初始化也可以分布进行,但是格式不能进行简写,否则编译器报错(非法的表达式开始):

int[] array1;
array1 = new int[3];
//创建一个大小为3的int型数组

//错误示范:
//int[] array2;
//array2={1,2,3};

1.2数组的遍历

遍历就是将数组中的所有元素都进行一次访问。

例如打印数组元素的时候就需要对数组进行遍历:

public static void printArray(int array[]) {
        //输出数组中的数
        for (int i = 0; i <array.length ; i++) {
            System.out.print(array[i]+" ");

        }
        System.out.println();
    }

注意:数组中可以通过数组名.length获取数组长度

还可以通过for-each来遍历数组

int[] array = {1, 2, 3};
for (int x : array) {
System.out.println(x);
}

for-each循环基本语句(提倡能用foreach的地方就不要再用for):

for ( 变量类型  变量名 : 数组名 ) {
    
    需要执行的循环语句;
 
}

1.3数组的引用类型

基本数据类型创建的变量是基本变量,该变量空间中直接存放的是其所对应的值。

而引用数据类型创建的变量,称为对象的引用,一般空间中存贮的是对象所在空间的地址。

例如:

public static void () {
int a = 10;
int b = 20;
int[] array = new int[]{1,2,3};
}

变量a,b是内置类型的数据,空间中保存的就是初始化数据。

数组array是数组类型的引用变量,空间中保存的是堆空间的首地址。

 引用变量存储对象在堆空间的首地址,通过该地址来对对象进行操作,类似于c中的指针。

注意:无法对一个设置为null的数组进行操作,编译通过但无法运行。

int[] arr = null;
System.out.println(arr[0]);

//运行报错:Exception in thread "main" java.lang.NullPointerException

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值