【Java学习】二维数组

一个数组变量里存的是哈希值(存的大小内容是固定的) ,它指向对应在堆区上的数组空间,当一个数组变量里存的哈希值指向的在堆上的数组空间里面的一个个引用元素存储的是一个个哈希值指向在堆区上的又一个个数组空间时,此时就形成了二维数组,最开始那个数组变量,里面存的哈希值指向的数组空间的元素是一个个数组变量的哈希值引用****,这个数组就是二维数组

二维数组的元素个数必须确定 ,即++存储多少个数组变量的引用++ ,即**++第一层数组的空间大小要确定的++** ,第二层数组空间大小多少、存不存在都是随意的 ,如果要设置为不存在,对应存储那个数组的引用里面存null哈希值 ,所以二维数组的行(数组引用变量元素个数)是要确定的,二维数组的列(数组引用变量元素指向的数组的大小)是可以不定随意的,可以形成不规则的二维数组

对引用变量的哈希值解引用时,可以得到引用对象的所有信息 ,但一次解一般都是++选择取块解里面我们需要的那一部分信息++

二维数组的数组变量类型是 int[][]

  • int[][] array = new int[][]{{1,2,3},{4,5,6}}; 或 int array = {{1,2,3},{4,5,6}};
  • int[][] array2 = new int[2][3] ; 2行3列二维数组存2个引用元素,每个引用元素指向的数组对象都是存3个整型,现在里面默认存0
  • int[][] array3 = new int[2][] ; 二维数组开辟了两个引用变量大小的空间存两个引用变量,引用变量里存的值都是null,对应的引用变量还没有开辟空间创建对象,还没有创建第二层数组对象
相关推荐
FREE技术15 小时前
学生成绩管理系统 基于java+springboot+vue实现前后端分离项目并附带万字文档(源码+数据库+万字详设文档+软件包+安装教程)
java·vue.js·spring boot·mysql
q***575015 小时前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
9ilk15 小时前
【仿RabbitMQ的发布订阅式消息队列】 ---- 功能测试联调
linux·服务器·c++·分布式·学习·rabbitmq
('-')15 小时前
《从根上理解MySQL》第一章学习笔记
笔记·学习·mysql
d111111111d16 小时前
STM32外设学习-串口发送数据-接收数据(笔记)
笔记·stm32·学习
Elias不吃糖16 小时前
eventfd 初认识Reactor/多线程服务器的关键唤醒机制
linux·服务器·c++·学习
南方的狮子先生16 小时前
【C++】C++文件读写
java·开发语言·数据结构·c++·算法·1024程序员节
宋辰月16 小时前
学习react第三天
前端·学习·react.js
bemyrunningdog16 小时前
IntelliJ IDEA导出WAR包全指南
java·ide·intellij-idea
虫师c17 小时前
List vs Set:深入剖析Java两大集合的核心区别与实战应用
java·数据结构·list·set·java集合