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

 更新时间:2022年08月19日 14:17:32   作者:oneMoe  
这篇文章主要介绍了Java一维数组和二维数组元素默认初始化值的判断方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

一、数组与数组元素

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

二、一维数组

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

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

  • 整型类型(byte、short、int、long) 默认的初始值都为0
  • 浮点类型(float、double) 默认的初始值都为0.0
  • 布尔型(boolean) 默认的初始值为flase
  • 字符类型(char) 默认的初始值为0(空字符)

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

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

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] + "测试!");
		}
	}
}

运行结果如下

通过结果我们发现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]):空指针异常

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • springboot-mongodb的多数据源配置的方法步骤

    springboot-mongodb的多数据源配置的方法步骤

    这篇文章主要介绍了springboot-mongodb的多数据源配置的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • SystemServer进程启动过程解析

    SystemServer进程启动过程解析

    这篇文章主要为大家介绍了SystemServer进程启动过程解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 基础不牢,地动山摇,Java基础速来刷刷

    基础不牢,地动山摇,Java基础速来刷刷

    基础不牢,地动山摇,快来一起学习一下基础吧,不断地学习就算是基础也会有新的认知和收获,加油
    2021-08-08
  • 深入了解Spring Boot2.3.0及以上版本的Liveness和Readiness功能

    深入了解Spring Boot2.3.0及以上版本的Liveness和Readiness功能

    这篇文章主要介绍了Spring Boot2.3.0及以上版本的Liveness和Readiness功能示例深入解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Spring Boot实现数据访问计数器方案详解

    Spring Boot实现数据访问计数器方案详解

    在Spring Boot项目中,有时需要数据访问计数器,怎么实现数据访问计数器呢?下面小编给大家带来了Spring Boot数据访问计数器的实现方案,需要的朋友参考下吧
    2021-08-08
  • 完美解决Server returned HTTP response code:403 for URL报错问题

    完美解决Server returned HTTP response code:403 for URL报错问题

    在调用某个接口的时候,突然就遇到了Server returned HTTP response code: 403 for URL报错这个报错,导致获取不到接口的数据,下面小编给大家分享解决Server returned HTTP response code:403 for URL报错问题,感兴趣的朋友一起看看吧
    2023-03-03
  • @RequestBody注解Ajax post json List集合数据请求400/415的处理

    @RequestBody注解Ajax post json List集合数据请求400/41

    这篇文章主要介绍了@RequestBody注解Ajax post json List集合数据请求400/415的处理方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Java常用工具类汇总 附示例代码

    Java常用工具类汇总 附示例代码

    这篇文章主要介绍了Java常用工具类汇总 附示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • java高并发ScheduledThreadPoolExecutor类深度解析

    java高并发ScheduledThreadPoolExecutor类深度解析

    这篇文章主要为大家介绍了java高并发ScheduledThreadPoolExecutor类源码深度解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • springboot 多数据源的实现(最简单的整合方式)

    springboot 多数据源的实现(最简单的整合方式)

    这篇文章主要介绍了springboot 多数据源的实现(最简单的整合方式),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11

最新评论