2017/12/30Java基础学习——增强型for嵌套遍历在二维数组中的应用
2017-12-31 21:59
344 查看
下面主要探究如何在二维数组中使用增强型for嵌套。
[Q]定义一个5X5的二维数组。 然后使用随机数填充该二维数组。找出这个二维数组里,最大的那个值,并打印出其二维坐标。
[A]:
下面将对第25~26行代码进行解析:
第25行:『:』右边的a表示二维数组a的第一维<即a[i][j]中的i>地址,row指向了数组a的第一维的引用[即地址],故∵第一维i的地址有两个∴遍历两次
第26行:『:』右边的row代表一维数组int[] row的地址,用基本类型column指向了一维数组row的地址。。。
[Q]定义一个5X5的二维数组。 然后使用随机数填充该二维数组。找出这个二维数组里,最大的那个值,并打印出其二维坐标。
[A]:
1 public class HelloWorld { 2 public static void main(String[] args) { 3 // 定义一个5X5的二维数组。 然后使用随机数填充该二维数组。 4 // 找出这个二维数组里,最大的那个值,并打印出其二维坐标 5 int[][] a = new int[5][5]; 6 int max = -1; 7 int m = 0; 8 int n = 0; 9 10 for (int i = 0; i < a.length; i++) { 11 for (int j = 0; j < a[i].length; j++) { 12 a[i][j] = (int)(Math.random() * 100); 13 System.out.print(a[i][j] + "\t"); 14 if (max < a[i][j]) { 15 max = a[i][j]; 16 m = i; 17 n = j; 18 } 19 } 20 System.out.println(); 21 } 22 23 //输出二维数组举证方法二 24 System.out.println("Method 2:"); 25 for (int[] row : a) { 26 for (int column : row){ 27 System.out.print(column +"\t"); 28 } 29 System.out.println(); 30 } 31 System.out.println("最大值 = a[" + m +"][" + n + "]= " + max); 32 } 33 }
下面将对第25~26行代码进行解析:
1 for (int[] row : a) { 2 for (int column : row){
第25行:『:』右边的a表示二维数组a的第一维<即a[i][j]中的i>地址,row指向了数组a的第一维的引用[即地址],故∵第一维i的地址有两个∴遍历两次
第26行:『:』右边的row代表一维数组int[] row的地址,用基本类型column指向了一维数组row的地址。。。
相关文章推荐
- [java学习笔记]java语言基础概述之数组的定义&常见操作(遍历、排序、查找)&二维数组
- JAVA基础学习之IP简述使用、反射、正则表达式操作、网络爬虫、可变参数、了解和入门注解的应用、使用Eclipse的Debug功能(7)
- 《Spring 3.x 企业应用开发实战》学习笔记 第三章 IoC容器概述 3.2 相关Java基础知识 类装载器 反射机制
- Java学习-026-类名或方法名应用之二 -- 统计分析基础
- java学习应用:可视化窗口模拟基础聊天窗口(模仿QQ)
- java基础:递归应用---遍历文件目录
- java基础知识回顾之javaIO类--File类应用:递归深度遍历文件
- JAVA基础再回首(三)——方法、重载、数组、堆栈内存分配、数组遍历、获取最值、二维数组
- JAVA基础 day22 File类的方法和应用 利用递归获取目录下的所有文件 Properties类的应用(和IO技术结合,存取配置文件) 打印流和合并流等功能类的学习应用 切割文件练习
- Java基础学习10(二维数组)
- Java基础学习总结(75)——Java反射机制及应用场景
- 学习使用J2EE Web应用的事件功能-Java基础-Java-编程开发
- 【幻化万千戏红尘】qianfengDay12-java基础学习:二维数组、异常、错误
- Java基础学习第二十二天——转换流之字符流应用
- 重踏学习Java路上_Day06(java 基础下与面向对象,二维数组与面向对象基础)
- 你不知道的Java学习笔记1--JAVA 基础应用编程
- java基础知识回顾之java Thread类学习(八)--java多线程通信等待唤醒机制经典应用(生产者消费者)
- Java基础学习第六天——二维数组与面向对象入门
- JAVA基础学习之final关键字、遍历集合、日期类对象的使用、Math类对象的使用、Runtime类对象的使用、时间对象Date(两个日期相减)(5)
- 黑马程序员--Java基础学习笔记【二维数组、面向对象】