Java一维数组和二维数组元素默认初始化值的判断方式

作者:oneMoe 时间:2022-03-08 21:17:49 

一、数组与数组元素

  • Java中数组是引用类型

  • 数组的元素可以是基本类型也可以是引用类型,弄清数组元素的类型可以帮助我们去理解数组元素默认初始化

二、一维数组

一维数组元素默认初始化值的情况分为两种,元素为基本数据类型和引用数据类型

1.元素为基本数据类型时

  • 整型类型(byte、short、int、long) 默认的初始值都为0

  • 浮点类型(float、double) 默认的初始值都为0.0

  • 布尔型(boolean) 默认的初始值为flase

  • 字符类型(char) 默认的初始值为0(空字符)

注意这里的0不同于整型类型的0更不是字符’0’,这指的是下图ASCII码表中十进制的0

Java一维数组和二维数组元素默认初始化值的判断方式

现在我们测试如下代码加深理解

public class Test {
public static void main(String[] args) {
char[] a = new char[2];

if(a[0] == 0) {
System.out.println("这是判断0的" + a[0] + "测试!");
}

if(a[0] == '0') {
System.out.println("这是判断字符'0'的" + a[0] + "测试!");
}
}
}

运行结果如下

Java一维数组和二维数组元素默认初始化值的判断方式

通过结果我们发现a[0]的值判断为0而非字符’0’,打印输出时a[0]其实是一个空字符(这不是空格!!!)

2. 数组元素为引用类型时

元素为引用类型时默认的初始值都为null

三、二维数组

Java中二维数组其实用一维数组作为数组的元素来构成的

二维数组默认初始化值的判读分为两种情况(下面两种情况的书写格式用int表示,int可以换成其他的数据类型)

1. int[][] arr = new int[2][2]

  • ①外层元素(arr[0],arr[1]):地址值

  • ②内层元素(arr[0][0]):利用一维数组默认初始值判断

2. int[][] arr = new int[2][]

  • ①外层元素(arr[0],arr[1]):地址值

  • ②内层元素(arr[0][0]):空指针异常

我们结合下面的图来理解,因为二维数组其实是数组的数组,外层保存的是地址值,内层自然就可以按照一维数组判断

Java一维数组和二维数组元素默认初始化值的判断方式

来源:https://blog.csdn.net/qq_52040525/article/details/123854285

标签:Java,一维数组,二维数组,初始化
0
投稿

猜你喜欢

  • 使用Java读取Word文件的简单例子分享

    2022-12-17 02:15:19
  • mybatis 字段名自动转小写的实现

    2021-09-09 20:04:26
  • Unity UGUI实现简单拖拽图片功能

    2022-11-26 19:55:03
  • Android RxJava创建操作符Timer的方法

    2022-04-22 13:10:26
  • Hibernate中Session增删改查操作代码详解

    2022-12-25 17:14:22
  • 浅析Java编程中枚举类型的定义与使用

    2021-07-04 23:46:16
  • Java如何从json字符串中获取某个值详解

    2023-11-18 12:18:12
  • java新手入门——String类详解

    2022-02-23 08:17:26
  • C#图像伪彩色处理方法

    2022-09-23 10:51:52
  • java poi导入纯数字等格式问题及解决

    2023-04-14 08:50:30
  • 浅析JAVA中过滤器、监听器、拦截器的区别

    2023-10-18 17:47:24
  • Android多渠道打包神器ProductFlavor详解

    2021-06-11 19:48:22
  • C#实现更改MDI窗体背景颜色的方法

    2021-07-01 13:06:16
  • SpringBoot接入钉钉自定义机器人预警通知

    2022-07-23 00:29:45
  • Spring @Profile注解详解

    2023-04-20 06:26:16
  • Android 实现定时任务的过程详解

    2023-06-14 02:28:33
  • 基于IntelliJ IDEA的类注释和方法注释操作

    2023-03-04 02:00:31
  • java实现递归菜单树

    2023-02-01 00:03:06
  • Android App中进行语言的切换

    2022-07-07 05:15:47
  • C# 类的声明详解

    2022-10-15 14:08:38
  • asp之家 软件编程 m.aspxhome.com