Java知识系统回顾整理01基础06数组06二维数组
一、一维数组和二维数组
这是一个一维数组, 里面的每一个元素,都是一个基本类型int
|
int a[] =new |
这是一个二维数组,里面的每一个元素,都是一个一维数组
所以二维数组又叫数组的数组
|
int b[][] = new {1,2,3}, {4,5,6}, {7,8,9} }; |
二、初始化二维数组
|
public class HelloWorld { public static //初始化二维数组, int[][] a = new a[1][2] = 5; //可以直接访问一维数组,因为已经分配了空间 //只分配了二维数组 int[][] b = new b[0] =new b[0][2] = 5; //指定内容的同时,分配空间,没有指定有几个一维数组,也没有指定数组的长度 int[][] c = new {1,2,4}, {4,5}, {6,7,8,9} }; } } |
三、练习--二维数组
题目:
定义一个5X5的二维数组。 然后使用随机数填充该二维数组。
找出这个二维数组里,最大的那个值,并打印出其二维坐标
0-100的 随机整数的获取办法有多种,下面是参考办法之一:
|
(int) (Math.random() * 100) |
Math.random() 会得到一个0-1之间的随机浮点数,然后乘以100,并强转为整型即可。
实现效果:

官方示例代码:
|
public class HelloWorld { public static int a[][] = new // 初始化这个数组 for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { a[i][j] = (int) (Math.random() * 100); } } // 打印这个数组的内容: for (int[] row : a) { for (int each : row) { System.out.print(each + "\t"); } System.out.println(); } int max = -1;// 最大值 // 最大值的坐标 int target_i = -1; int target_j = -1; for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { if (a[i][j] > max) { max = a[i][j]; target_i = i; target_j = j; } } } System.out.println("找出来最大的是:" + max); System.out.println("其坐标是[" + target_i + "][" + target_j + "]"); } } |
个人整理代码:
|
public class Array06 { public static TwoDimensionalArrayExercise(); } public static // 初始化二维数组 int[][] a = new a[1][2] = 5; // 可以直接访问一维数组,因为已经分配了空间 //只分配了二维数组 int [][] b = new b[0] = new b[0][2] = 5; // 指定内容的同时,分配空间 int [][] c = new }; } public static int [][] a = new // 初始化这个数组 for (int i = 0; i < a.length; i++) { for (int j = 0; j < a.length; j++) { a[i][j] = (int)(Math.random()*100); //Math.random() 会得到一个0-1之间的随机浮点数 } } // 打印这个数组的元素值 for (int[] twoEach : a) { for (int oneEach : twoEach) { System.out.println(oneEach); } System.out.println("--------------------------------------------"); } int max = -1; //假定,初始的需要寻找的最大值为-1 (给这个不可能出现的值,方便后面寻找变换) // 最大值的坐标 int target_i = -1; int target_j = -1; for (int i = 0; i < a.length; i++) { for (int j = 0; j < a.length; j++) { if (a[i][j] > max) { max = a[i][j]; target_i = i; target_j = j; } } } System.out.println("找出来的二维数组最大值是:" + max); System.out.println("该最大值的坐标是:[" + target_i + "," + target_j +"]"); } } |

Java知识系统回顾整理01基础06数组06二维数组的更多相关文章
- Java知识系统回顾整理01基础04操作符06三元运算符
一.三元运算符 表达式?值1:值2 如果表达式为真 返回值1 如果表达式为假 返回值2 if语句学习链接:if语句 public class HelloWorld { public static vo ...
- Java知识系统回顾整理01基础03变量06变量的作用域
一.变量根据所处的位置对应不同的名称 变量处于不同的位置,有不同的名称 名称分别是 字段,属性 参数 局部变量 不同名称的变量,其作用域是不一样的 二.字段,属性,Field 当一个变量被声明在类下 ...
- Java知识系统回顾整理01基础06数组07数组工具类Arrays
一.Arrays简介 Arrays是针对数组的工具类,可以进行 排序,查找,复制填充等功能. 大大提高了开发人员的工作效率. 二.Arrays提供的数组复制方法 与使用System.arraycopy ...
- Java知识系统回顾整理01基础06数组01创建数组
一.数组定义 定义:数组是一个固定长度的,包含了相同类型数据的 容器 二.声明数组 int[] a; 声明了一个数组变量. []表示该变量是一个数组 int 表示数组里的每一个元素都是一个整数 a 是 ...
- Java知识系统回顾整理01基础01第一个程序02命令行格式编译和执行Java程序
一.先看运行效果 在控制台下运行第一个Java程序,可以看到输出了字符串 hello world 二.准备项目目录 通常都会在e: 创建一个project目录 在这个例子里,我们用的是e:/proje ...
- Java知识系统回顾整理01基础06数组03排序
一.选择法排序 选择法排序的思路: 把第一位和其他所有的进行比较,只要比第一位小的,就换到第一个位置来 比较完后,第一位就是最小的 然后再从第二位和剩余的其他所有进行比较,只要比第二位小,就换到第二个 ...
- Java知识系统回顾整理01基础06数组02初始化数组
一.分配空间与赋值分步进行 分配空间与赋值分步进行 public class HelloWorld { public static void main(String[] args) { int[] a ...
- Java知识系统回顾整理01基础06数组05复制数组
数组的长度是不可变的,一旦分配好空间,是多长,就多长,不能增加也不能减少 一.复制数组 把一个数组的值,复制到另一个数组中 System.arraycopy(src, srcPos, dest, de ...
- Java知识系统回顾整理01基础06数组04增强型for循环
增强型for循环在遍历一个数组的时候会更加快捷 一.增强型for循环 注:增强型for循环只能用来取值,却不能用来修改数组里的值 public class HelloWorld { public st ...
随机推荐
- VUE响应式原理-如何追踪变化
Vue 最独特的特性之一,是其非侵入性的响应式系统.数据模型仅仅是普通的 JavaScript 对象.而当你修改它们时,视图会进行更新.这使得状态管理非常简单直接 如何追踪变化 当你把一个普通的 Ja ...
- Python开发的入门教程(八)-迭代
介绍 本文主要介绍Python中迭代的基本知识和使用 什么是迭代 在Python中,如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Ite ...
- Typescript | Vue3源码系列
TypeScript 是开源的,TypeScript 是 JavaScript 的类型的超集,它可以编译成纯 JavaScript.编译出来的 JavaScript 可以运行在任何浏览器上.TypeS ...
- Android开发,java开发程序员常见基础面试题,更换两个变量的值,java逻辑代码
public class abswitch{ public static void main (String args []){ //author:qq986945193 int a=1; int b ...
- 分享一个后端专用login模板
给大家啊分享一个后端专用login模板 Java工程师再也不用这样啦---> html源码 <html lang="en"> <head> <m ...
- 跟着兄弟连系统学习Linux-【day05】
day05-20200602 p19.其他文件搜索命令 (百度搜索everything,安装,可以实现Windows秒级搜索文件)Linux中同样可以实现此功能. [locate 文件名]locate ...
- 对韩峰著《SQL优化最佳实践》P7 案例的质疑
事先申明下,我的DB环境是Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production,如果与作者环境不同而 ...
- logback1.11的一个bug:有线程持续不断写入log文件,log文件就不会按设定以日期切换。
此Bug的解决方案请见:https://www.cnblogs.com/xiandedanteng/p/12205422.html logback是log4j的后继者,作者也是同一人,但其中的bug不 ...
- nginx 配置下载text等文件
当前的浏览器能够识别文件格式,如果浏览器本身能够解析就会默认打开,如果不能解析就会下载该文件.比如txt文件就直接被解析,还有其他文件也是一样. 在nginx.conf配置文件中添加 add_head ...
- MyBatis源码骨架分析
源码包分析 MyBatis 源码下载地址:https://github.com/MyBatis/MyBatis-3 MyBatis源码导入过程: 下载MyBatis的源码 检查maven的版本,必须是 ...