二维数组的初始化与一位数组初始化类似,同样可以使用静态初始化或动态初始化。

1)静态初始化

静态初始化的格式如下:

数组名字 = new 数组元素的类型[][]{new 数组元素的类型[]{元素1,元素2,...},new 数组元素的类型[]{元素1,元素2,...},...};

不难看出,二维数组的静态初始化跟一维数组的静态初始化很像,只是把一维数组中每个元素再次静态初始化为一位数组。

下面的代码演示了如何静态初始化一个二维数组:

int[][] arr;

arr = new int[][]{new int[]{1,2,3},new int[]{4,5,6}};

当然也可以使用简化的静态初始化语法来初始化二位数组,如下所示:

int[][] arr = {{1,2,3},{4,5,6}};

不过这种语法也要求必须在声明数组的同时初始化。

2)动态初始化

动态初始化的格式如下:

数组名字 = new 数组元素的类型[数组的长度][数组的长度];

当然也可以使用如下方式:

数组名字 = new 数组元素的类型[数组的长度][];

数组名字[数组索引] = new 数组元素的类型[数组的长度];

下面的代码演示了如何动态初始化一个二维数组:

int[][] arr;

arr = new int[10][10];

int[][] arr2;

arr = new int[10][];

arr[0] = new int[10];

通过上面的讲解可以得到一个结论:二位数组是一维数组,其数组元素是一维数组;三维数组也是一维数组,其数组元素是二维数组……从这个角度来看,Java语言里没有多维数组。

最新文章

  1. 模拟Bootstrap响应式网格系统
  2. EF中的实体类型【Types of Entity in Entity】(EF基础系列篇8)
  3. 转换Excel表格到MarkDown:exceltk
  4. Linux下文件删除的原理
  5. windows docker安装方式的比较小结
  6. 反射中使用 BindingFlags.IgnoreCase
  7. Shortcut 常用快捷键
  8. 【linux】关机重启命令
  9. String.valueOf(null) 报空指针
  10. Spring整合freemarker发送邮件
  11. CSS3中translate、transform和translation的区别和联系
  12. jquery编写插件
  13. stdin、stdout、stderr
  14. Python GUI开发环境的搭建
  15. perl5 第三章 操作符
  16. 安卓Launcher之获取手机安装的应用列表,安卓launcher
  17. React复习小结(一)
  18. 震惊!WIN2003存在后门大全,提权成功率高
  19. 关于系统首页绘制问题(ext布局+c#后台加入数据)经html输出流输出响应client
  20. MATLAB 实时脚本(live-script)使用

热门文章

  1. 列表list常用的方法
  2. TypeScript初体验
  3. 设置fiddler抓取安卓手机的包
  4. ios 免费抓包工具Stream
  5. Ubuntu18.04 设置开机进入命令行模式
  6. ASP.NET Core on K8S深入学习(6)Health Check
  7. Spark家族:Win10系统下搭建Scala开发环境
  8. 测试:Oracle 19c RAC添加私网
  9. event demo
  10. 剑指offer笔记面试题14----剪绳子