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
投稿

猜你喜欢

  • Android中获取IMEI码的方法

    2023-04-08 09:10:58
  • Java字符串驼峰与下换线格式转换如何实现

    2022-02-18 09:56:14
  • java Swing基础教程之图形化实例代码

    2023-06-30 03:15:20
  • c#实现断点续传功能示例分享

    2022-05-03 04:39:49
  • android使用ItemDecoration给RecyclerView 添加水印

    2022-01-17 19:42:54
  • java多线程编程之join方法的使用示例

    2022-10-06 05:09:38
  • RocketMQ特性Broker存储事务消息实现

    2022-07-10 20:42:13
  • 图文详解Maven工程打jar包的N种方式

    2022-12-12 21:36:23
  • Java基础篇之反射机制示例详解

    2021-12-08 04:05:25
  • C# 多线程中经常访问同一资源可能造成哪些问题

    2022-09-08 05:22:47
  • Java之SpringBean生命周期问题理解

    2022-11-16 14:47:35
  • Gson之toJson和fromJson方法的具体使用

    2021-07-20 16:28:47
  • Java由浅入深带你了解什么是包package

    2022-04-17 02:33:39
  • 用intellij Idea加载eclipse的maven项目全流程(图文)

    2021-09-12 06:11:16
  • 深入C#中get与set的详解

    2022-05-29 21:04:10
  • 详解tryAcquire()、addWaiter()、acquireQueued()

    2022-07-30 10:24:05
  • 详解使用Spring Cloud Consul实现服务的注册和发现

    2023-06-08 03:46:23
  • Java获取随机数的3种方法

    2022-08-04 02:51:01
  • Android Studio实现简易计算器App (Java语言版)

    2023-08-02 01:05:39
  • java实现邮件发送

    2022-06-03 02:48:20
  • asp之家 软件编程 m.aspxhome.com