java数组价值_『Java』数组

在学习数组之前先学习java.util.Arrays类中的一个静态方法Arrays.toString()。

该方法可以将传入的数组格式化为一个字符串,便于我们查看数组内容,例如:

import java.util.Arrays;

public class Dome001_Array {

public static void main(String[] args) {

int[] arr = new int[5]; // 定义一个数组

for (int i = 0; i < 5; i++) { // 为每个元素赋值

arr[i] = i + 2;

}

String res = Arrays.toString(arr);

System.out.println(res);

}

}

输出结果为:[2, 3, 4, 5, 6]

数组的定义与初始化

Java中数组索引从0开始。

方法一

定义方法:

数据类型[] 数组名字 = new 数据类型[长度];

例如:

int[] arr1 = new int[10];

String[] arr2 = new String[5];

该种方式定义的数组如果不进行初始化,不同类型数组具有不同的默认值:

import java.util.Arrays;

public class Dome001_Array {

public static void main(String[] args) {

int[] arr1 = new int[5];

System.out.println(Arrays.toString(arr1));

// 输出:[0, 0, 0, 0, 0]

// int数组默认值为0

char[] arr2 = new char[5];

System.out.println(Arrays.toString(arr2));

// 输出:[ , , , , ]

// char默认值为空格

double[] arr3 = new double[5];

System.out.println(Arrays.toString(arr3));

// 输出:[0.0, 0.0, 0.0, 0.0, 0.0]

// double默认值为0.0

String[] arr4 = new String[5];

System.out.println(Arrays.toString(arr4));

// 输出:[null, null, null, null, null]

// 引用类型默认值为空(null)

}

}

方法二

数据类型[] 数组名字 = new 数据类型[] {元素1, 元素2 ...};

第二个[]中不能写长度值,{元素1, 元素2 ...}是数组中存放的元素值,类型要跟数据类型[]中的一致。

例如:

import java.util.Arrays;

public class Dome001_Array {

public static void main(String[] args) {

int[] arr = new int[]{1, 2, 3};

System.out.println(Arrays.toString(arr));

// 输出:[1, 2, 3]

}

}

方法三

数据类型[] 数组名字 = {元素1, 元素2 ...};

例如:

import java.util.Arrays;

public class Dome001_Array {

public static void main(String[] args) {

int[] arr = {1, 2, 3};

System.out.println(Arrays.toString(arr));

// 输出:[1, 2, 3]

}

}

数组的长度属性

每个数组都有长度,而且是【固定】的,通过数组名.length可获得数组的长度。

public class Dome001_Array {

public static void main(String[] args) {

int[] arr = {1, 2, 3};

int len = arr.length;

System.out.println(len); // 3

}

}

数组常见异常

数组越界异常

public class Dome001_Array {

public static void main(String[] args) {

int[] arr = new int[10];

arr[10] = 1;

}

}

产生ArrayIndexOutOfBoundsException数组越界异常:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 10 out of bounds for length 10

at cn.xxmmqg.Array.Dome001_Array.main(Dome001_Array.java:8)

空指针异常

public class Dome001_Array {

public static void main(String[] args) {

int[] arr = new int[10];

arr = null;

int len = arr.length;

}

}

产生NullPointerException空指针异常:

Exception in thread "main" java.lang.NullPointerException: Cannot read the array length because "arr" is null

at cn.xxmmqg.Array.Dome001_Array.main(Dome001_Array.java:9)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值