Java一维数组和二维数组元素默认初始化值的判断方式
目录
- 一、数组与数组元素
- 二、一维数组
- 1.元素为基本数据类型时
- 2. 数组元素为引用类型时
- 三、二维数组
- 1. int[][] arr = new int[2][2]
- 2. int[][] arr = new int[2][]
一、数组与数组元素
- 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]):空指针异常
我们结合下面的图来理解,因为二维数组其实是数组的数组,外层保存的是地址值,内层自然就可以按照一维数组判断
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Java超细致讲解数组的使用
目录 数组的定义 数组的三种语法格式 遍历数组的三种方式 数组的使用 数组的练习 数组拷贝 查找数组中的指定元素(二分查找) 判断数组是否有序 数组排序(冒泡排序) 数组逆序 二维数组 小结 数组的定义 数组本质上就是让我们能 " 批量 " 创建相同类型的变量. 数组的三种语法格式 1. 数据类型 [] 数组名称 = new 数据类型 [] { 初始化数据 }; 例如: int[] arr=new int[]{1,2,3}; 注意:[]里面不能写数字!!! 2. 数据类型 [] 数组名
-
Java基础语法之二维数组详解
一.二维数组 进入正题之前.首先为了便于大家理解,我画了一个图: xx枪战游戏中, 我是一个刚刚注册账号的小白,系统送了我两把枪,此时,我的武器库只有这么一层(可以理解为一位数组,枪就是对应的数组中对应的元素) 经过艰苦卓绝的战斗,终于有了一笔钱,现在我打算配置好的游戏装备,我现在有了一个枪柜,它可以存放三层的枪械,每一层都可以放多把武器(这个就是二维数组,有多层,每层都是一个一维数组) 随着游戏时长和我的高超技术,获取游戏装备的效率越来越高了,一个枪柜已经存不下了,于是,我就有了多个枪柜(这个
-
Java数组的定义、初始化、及二维数组用法分析
本文实例讲述了Java数组的定义.初始化.及二维数组用法.分享给大家供大家参考,具体如下: 数组的定义 1.数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来做唯一标识. 数组的分类 一维数组 二维数组 多维数组 数组的优点: 例如:定义100个整型变量.用数组很方便. 数组声明: 1.int [] array; 2.int array []; 数组的声明以及内存的分配 1.为数组分配内存空间,如果不分配内存,将不能访问它的任何元素.我们使用new关键字来为数组分配内存空间. int
-
Java中一维二维数组的静态和动态初始化
今天我们要开始来讲讲Java中的数组,包括一维数组和二维数组的静态初始化和动态初始化 数组概述: 数组可以看成是多个相同类型数据的组合,对这些数据的统一管理; 数组变量属于引用数据类型,数组也可以看成是对象,数组中的每一个元素相当于该对象的成员变量; 数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型; 一维数组的声明: 声明方式: 例如; int a [ ] = new int [3]; Java语言中 声明是不能指定其长度[数组中元素的个数]; 非法声明; int a [5];
-
Java一维数组和二维数组元素默认初始化值的判断方式
目录 一.数组与数组元素 二.一维数组 1.元素为基本数据类型时 2. 数组元素为引用类型时 三.二维数组 1. int[][] arr = new int[2][2] 2. int[][] arr = new int[2][] 一.数组与数组元素 Java中数组是引用类型 数组的元素可以是基本类型也可以是引用类型,弄清数组元素的类型可以帮助我们去理解数组元素默认初始化 二.一维数组 一维数组元素默认初始化值的情况分为两种,元素为基本数据类型和引用数据类型 1.元素为基本数据类型时 整型类型(b
-
Java中增强for循环在一维数组和二维数组中的使用方法
一维数组: int[] a={1,2,3}; for(int i:a) { System.out.print(i+" "); } 输出:1 2 3 二维数组: import java.util.Scanner; public class tet { public static void main(String[] args) { //int[][] b={{1,2,3},{4,5,6}};行 int[][] a=new int[5][];//必须明确行数 for(int i=0;i&l
-
浅谈java中的一维数组、二维数组、三维数组、多维数组
这个数组可以看做新手学习,从一维数组 到 多维 数组 循环渐进,其实看起也很简单,一看便知,众所周知,一维.二维或许经常用到,用到二维以上应该就很少了. public class test { public static void main(String[] args) { /*一维数组*/ int num[] = {0,1,2}; /*下面输出 3 行数据,0 ~ 2*/ for (int i = 0; i < num.length; i++) { System.out.println("
-
Java编程实现的二维数组转置功能示例
本文实例讲述了Java编程实现的二维数组转置功能.分享给大家供大家参考,具体如下: /** * 实现二维数组的转置 * @author HAN * */ public class transposition_Arrays2D_ch6_4 { final static double PI=3.1415; public static void main(String[] args) { /*StaticTest st1=new StaticTest(); StaticTest st2=new Sta
-
Java基础知识精通二维数组的应用
目录 1.什么是二维数组 2.定义格式 3.二维数组的使用 4.二维数组的遍历 本文章主要讲二维数组定义,用法. 1.什么是二维数组 在二维数组多个元素为一维数组的数组就称为二维数组 2.定义格式 格式一: 元素的数据类型[][] 数组的名字 = new 元素的数据类型[二维数组的长度][一维数组的长度]: int[][] a = new int[3][2]; 解释: 这个二维数组中还有3个一维数组,每个一维数组中有两个元素. 格式二: 元素的数据类型[][] 数组的名字 = new 元素的数据
-
Java数组与二维数组及替换空格实战真题讲解
目录 数组中重复的数字 题目描述 思路详解 代码与结果 二维数组中的查找 题目描述 思路详解 代码与结果 替换空格 题目描述 思路详解 代码与结果 数组中重复的数字 题目描述 思路详解 本题的思路比较简单,首先将这个数组排序,遍历数组,找到当前的和前一个相同的直接输出就好了.没找到输出-1. 注意:这个方法要注意循环的时候下标要从1开始哦,不然会报数组下标异常滴. 代码与结果 import java.util.*; public class Solution { /** * 代码中的类名.方法名
-
C语言与java语言中关于二维数组的区别
目录 C语言数中二维数组的定义格式 Java语言中二维数组的定义与初始化 静态初始化 动态初始化 下面给出两者的对比截图 C语言中的数组元素分布 Java中的数组元素分布 数组是编程语言中常用的数据结构,然而在不同的环境下,其定义及初始化的方式也不尽相同.下面来讲述一下C和Java中对于二维数组定义的区别以及其背后的原理. 在C语言中,二维数组的初始化可以省略行数,但不能省略列数:而在java中却是正好相反的,即列数可以省略,而行数是不能省略的.为什么会是这样呢?首先我们来回顾一下C和Java中
-
详解C++中的一维数组和二维数组
C++一维数组 定义一维数组 定义一维数组的一般格式为: 类型标识符 数组名[常量表达式]; 例如: int a[10]; 它表示数组名为a,此数组为整型,有10个元素. 关于一维数组的几点说明: 1) 数组名定名规则和变量名相同,遵循标识符定名规则. 2) 用方括号括起来的常量表达式表示下标值,如下面的写法是合法的: int a[10]; int a[2*5]; int a[n*2]; //假设前面已定义了n为常变量 3) 常量表达式的值表示元素的个数,即数组长度.例如,在"int
-
java高效打印一个二维数组的实例(不用递归,不用两个for循环)
打印1个元素,不让循环变量i++,走出思维定式(执行一次循环体,就i++).public class OneForPrint2DArr { public static void main(String[] args) throws Exception { int[][] a = { { 1, 2, 3 }, { 4, 5} }; for (int i = 0, j = 0; i < a.length;) { System.out.println(a[i][j]); j++; if (j >=
随机推荐
- Vue监听数据对象变化源码
- 手机端转盘抽奖代码分享
- asp.net request.PathInfo实现的url重写
- Python之os操作方法(详解)
- web开发中添加数据源实现思路
- 纯jsp实现的倒计时动态显示效果完整代码
- Android5.0中Material Design的新特性
- 详解Func<T>与Action<T>区别
- 粗略计算在线时间,bug:ip相同
- 访问asp页面出现出现“请求的资源在使用中”的解决办法
- React创建组件的三种方式及其区别
- jQuery实现页面评论栏中访客信息自动填写功能的方法
- jquery插件autocomplete用法示例
- 仿校内登陆框,精美,给那些很厉害但是没有设计天才的程序员
- fleaphp下不确定的多条件查询的巧妙解决方法
- VB.NET中Caching的使用方法
- Android的webview支持HTML5的离线应用功能详细配置
- Android自定义对话框Dialog的简单实现
- .NET单点登陆的实现方法及思路
- Destoon模板制作简明教程