二维数组

Java里的二维数组其实是数组的数组,即每个数组元素都是一个数组。

每个数组的长度不要求一致,但最好一致。

// 同样有两种风格的定义方法

int[][] _arr21_推荐 = { { 1, 2 }, { 3 } };

int arr22[][] = { { 1, 2 }, { 3 } };

// 另外还有一种刁钻的写法,据说在面试题中出现过

int[] arr23[] = { { 1, 2 }, { 3 } };

二维数组的初始化:

int[][] _arr21 = { { 1, 2 }, { 3, 4 } };

// 不赋初始值,只是定义数组的大小

int[][] _arr22 = new int[2][3];

// 第二维度可以省略;第一维度告诉编译器有多少个数组,不能省

int[][] _arr23 = new int[2][];

例:表格数据输出

模拟豆瓣评分

《霸王别姬》

《阿甘正传》

《大话西游》

Andy

9.5

9.4

9.1

Bob

3

8.7

9

Cat

3

7

1

Dog

9.9

3

3

public class 二维数组 {

public static void main(String[] args) {

double[][] films = { { 9.5, 9.4, 9.1 }, { 3, 8.7, 9 }, { 3, 7, 1 }, { 9.9, 3, 3 } };

// 二维数组的遍历

System.out.println("###使用传统for循环###");

for (int i = 0; i < films.length; i++) {

for (int j = 0; j < films[i].length; j++) {

System.out.print(films[i][j] + "\t");

}

System.out.println();

}

System.out.println("###使用foreach语法###");

for (double[] ds : films) {

for (double d : ds) {

System.out.print(d + "\t");

}

System.out.println();

}

}

}

想想,是否还有更简单的输出方案?你至少有两种方案要说。

练习题:

判断一个3*3的矩阵是不是单位矩阵“Unit Matrix”(对角线上元素是1,其余元素是0)

1

0

0

0

1

0

0

0

1

public class 单位矩阵 {

public static void main(String[] args) {

int[][] m = { { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 } };

for (int i = 0; i < m.length; i++) {

for (int j = 0; j < m[i].length; j++) {

if ((i == j && m[i][j] == 1)) {

// 1.对角线上元素是1

} else if (i != j && m[i][j] == 0) {

// 2.非对角线上元素是0

} else {

// 3.以上都不满足

System.out.println("不是单位矩阵");

return;

}

}

}

System.out.println("是单位矩阵");

}

}

java二维数组省略_Java基础教程——二维数组相关推荐

  1. java构造方法可以重载吗_Java基础教程之构造器与方法重载

    在方法与数据成员中,我们提到,Java中的对象在创建的时候会初始化(initialization).初始化时,对象的数据成员被赋予初始值.我们可以显式初始化.如果我们没有给数据成员赋予初始值,数据成员 ...

  2. 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)

    黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...

  3. java swing(GUI图形化界面)基础教程3-添加事件监听1

    学习此内容前建议先去学习java基础知识: 匿名内部类 (学的多的可以用lambda表达式,更加简便) 好, 我们先看一下之前的代码(即一个窗口和一个按钮) 如果想看详细内容,链接为: (23条消息) ...

  4. java多维数组的指针_Java基础之二维数组

    二维数组概念 二维数组的概念 对于二维数组的理解,我们可以看成一位数组arrary1有作为另一个一维数组arrary2的元素存在.从底层机制来看没有多维数组概念 2二维数组的使用 二维数组的声明与初始 ...

  5. vector 二维数组_go语言基础教程——数组与切片

    今天是golang专题的第五篇,这一篇我们将会了解golang中的数组和切片的使用. 数组与切片 golang当中数组和C++中的定义类似,除了变量类型写在后面. 比如我们要声明一个长度为10的int ...

  6. java 反射基础_Java基础教程:反射基础

    Java基础教程:反射基础 引入反射 反射是什么 能够动态分析类能力的程序称为反射.反射是一种很强大且复杂的机制. Class类 在程序运行期间,Java运行时系统始终为所有对象维护一个被称为运行时的 ...

  7. java arraylist枚举器遍历_Java基础(七)泛型数组列表ArrayList与枚举类Enum

    一.泛型数组列表ArrayList 1.在Java中,ArrayList类可以解决运行时动态更改数组的问题.ArrayList使用起来有点像数组,但是在添加或删除元素时,具有自动调节数组容量的功能,而 ...

  8. java数组键_Java基础之数组

    数组 数组就是用于存储相同数据类型数据的一个容器.可以通过有规律的索引来访问没有规律的元素. 一维数组 定义格式:元素的数据类型[ ] 数组名称 = new 元素的数据类型 [ 数组容器大小 ]: 数 ...

  9. java拷贝文件目录结构_Java如何复制目录_Java基础教程系列

    Java如何复制目录,Java基础教程系列,如果要将目录及其包含的所有子文件夹和文件从一个位置复制到另一个位置,请使用下面的代码,该代码使用递归遍历目录结构,然后使用Files.copy()函数复制文 ...

最新文章

  1. 静态页转换平台(StaticPol)-静态页生成终极解决方案
  2. 数据绑定设计器的使用
  3. Android 数据库框架ormlite 使用精要
  4. sap scc4 客户端设置
  5. idea 如何关闭 field injection is not recommended 警告
  6. 【知识图谱系列】解耦Transformation和Propagation的深度图神经网络
  7. linux UART(RS232/485)驱动实验
  8. nideshop小程序商城部署
  9. UCI下载葡萄酒数据
  10. 数据丢包怎么修复_网络丢包率高怎么办
  11. #项目的编译和发布 #静态发布新浪云 #node服务器发布新浪云 #nodejs服务器部署数据库 #新浪云前后端结合
  12. VFS中的read/write系统调用
  13. Oracle日期型函数详解
  14. 【转】用户管理模块:如何保证用户数据安全?
  15. c# 自定义多个SplitContainer 支持点击放大缩小
  16. 实验六 Biopython-1
  17. js 实现图片点击放大功能(组图)
  18. 《重构》第三章 - 读后感(发散、散弹、依恋)
  19. 改进YOLOv5系列:13.添加CrissCrossAttention注意力机制
  20. 王垠:我和权威的故事

热门文章

  1. 【Java】Java 集合相关的博客积累
  2. Mac OSX 平台安装 MongoDB
  3. 95-136-043-源码-Operator-CoProcessOperator
  4. 【JVM】JVM-codecache内存区域介绍
  5. hadoop.2.6.0安装hive.1.2.2
  6. Unable to get the focused window from device - android
  7. SpringBoot + Mybatis-puls + ClickHouse增删改查入门教程
  8. Github标星35K+超火的Spring Boot实战项目(附项目地址+教程文档)
  9. Springboot+Dubbo+Nacos 注解方式实现微服务调用
  10. Java多线程学习三十五: CyclicBarrier 和 CountDownLatch 有什么不同