二维数组

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. python叫什么语言-Python代码是什么语言
  2. lol服务器不稳定补偿地址,LOL9月4日更新bug补偿地址在哪里 9月4日更新bug补偿地址分享...
  3. Python 散点图线性拟合_机器学习之利用Python进行简单线性回归分析
  4. PM Basic Skill---project execute step
  5. 12.企业应用架构模式 --- 对象-关系结构模式
  6. SpringCloud与Ribbon整合的时候是如何提供RestTemplate负载均衡功能?
  7. 代码统计工具SourceCounter(绿色版)
  8. log4j.xml配置文件详解
  9. FastStone Capture(FSCapture) 注册码
  10. 新侨快讯:官方公布加拿大时薪最高和最低的工作,你的行业上榜吗?
  11. 寻找四叶草HTML5小游戏,寻找四叶草的作文四百字
  12. linux修改ip地址详解
  13. 淘宝告自媒体人冯东阳一事有结果了
  14. flask 网页 javascript 按钮 点击事件
  15. 【年度盘点】10大最热门Python项目回顾
  16. 退役帖:再见ACM/ICPC!再见算法竞赛!
  17. osgEarth示例分析——osgearth_features
  18. 10个需要警惕的BYOD常见陷阱
  19. OBS 进阶开发 之 新增插件
  20. Web项目 - 登录注册业务逻辑

热门文章

  1. 【registry】 javax.el.ExpressionFactory.newInstance()Ljavax/el/ExpressionFactory;
  2. 【hortonworks/registry】registry源码主类该怎么运行
  3. 【Elasticsearch】Elasticsearch 索引策略
  4. 【Flink】JobManager responsible for xx lost the leadership zk变动导致重启
  5. scala学习-1-eclipse编写第一个程序unknown scala version problem
  6. 用了 HTTPS 就一定安全吗?
  7. 代码生成利器:IDEA 强大的 Live Templates
  8. DataGridView的列宽设置
  9. Vue + echart 实现中国地图 和 省市地图(可切换省份
  10. Java lang3的 StringUtils.isNumeric(str)不能识别负数和小数