Java核心技术卷I基础知识3.10.6 多维数组
3.10.6 多维数组
多维数组将使用多个下标访问数组元素,它适用于表示表格或更加复杂的排列形式。这一节的内容可以先跳过,等到需要使用这种存储机制时再返回来学习。
假设需要建立一个数值表,用来显示在不同利率下投资$10,000会增长多少,利息每年兑现,而且又被用于投资(见表3-8)。
表3-8 不同利率下的投资增长情况
10% 11% 12% 13% 14% 15%
10 000.00 10 000.00 10 000.00 10 000.00 10 000.00 10 000.00
11 000.00 11 100.00 11 200.00 11 300.00 11 400.00 11 500.00
12 100.00 12 321.00 12 544.00 12 769.00 12 996.00 13 225.00
13 310.00 13 676.31 14 049.28 14 428.97 14 815.44 15 208.75
14 641 00 15 180.70 15 735.19 16 304.74 16 889.60 17 490.06
16 105.10 16 850.58 17 623.42 18 424 .35 19 254.15 20 113.57
17 715.61 18 704.15 19 738.23 20 819.52 21 949.73 23 130.61
19 487.17 20 761.60 22 106.81 23 526.05 25 022.69 26 600.20
21 435.89 23 045.38 24 759.63 26 584.44 28 525.86 30 590.23
23 579.48 25 580.37 27 730.79 30 040.42 32 519.49 35 178.76
可以使用一个二维数组(也称为矩阵)存储这些信息。这个数组被命名为balances。
在Java中,声明一个二维数组相当简单。例如:
与一维数组一样,在调用new对多维数组进行初始化之前不能使用它。在这里可以这样初始化:
另外,如果知道数组元素,就可以不调用new,而直接使用简化的书写形式对多维数组进行初始化。例如:
一旦数组被初始化,就可以利用两个方括号访问每个元素,例如,balances[i][j]。
在示例程序中用到了一个存储利率的一维数组interest与一个存储余额的二维数组balances。一维用于表示年,另一维用于表示利率,最初使用初始余额来初始化这个数组的第一行:
然后,按照下列方式计算其他行:
程序清单3-8给出了完整的程序。
注释:for each循环语句不能自动处理二维数组的每一个元素。它是按照行,也就是一维数组处理的。要想访问二维数组a的所有元素,需要使用两个嵌套的循环,如下所示:
提示:要想快速地打印一个二维数组的数据元素列表,可以调用:
输出格式为:
程序清单3-8 CompoundInterest/CompoundInterest.java
相关文章
- Java要抛弃祖宗的基业,Java程序员危险了!
- 十大 Java 语言特性
- JVM 三色标记算法,原来是这么回事!
- 聊聊 Spring 事务控制策略以及 @Transactional 失效问题避坑
- 写给 Java 程序员的前端 Promise 教程
- 写给 Java 程序员的前端 Promise 教程,你学会了吗?
- Java 中为什么不全部使用 Static 方法?
- Java 池化技术你了解多少?
- Java 服务 Docker 容器化优秀实践
- Spring Boot + EasyExcel导入导出,简直太好用了!
- 我们一起聊聊 Java 内存泄漏
- CentOS 下安装 Docker 极简教程
- JDK 19 功能集冻结:Java 19 只有七个新特性
- 关于 CMS 垃圾回收器,你真的懂了吗?
- 为什么会有这么多编程语言?
- 改善Java代码的八个建议
- 接口流量突增,如何做好性能优化?
- Java 以编程方式创建JAR文件
- POJO、Java Bean是如何定义的
- Spring 的 Bean 明明设置了 Scope 为 Prototype,为什么还是只能获取到单例对象?