文章
时间轴
标签
音乐室
友人帐
一刻时光
清单
留言板
相册
算法海洋
关于
Slcpの童话镇 🏰
写文章
Java基础知识及细节之二维数组
原创
Java
数组
后端
发布日期:
2019年07月10日
文章字数:
5.1k
阅读次数:
872
阅读时长:
0小时0分0秒
## Debug模式 ### 什么是Debug模式 是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。 ### Debug介绍与操作流程 - `如何加断点` - 选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可 - `如何运行加了断点的程序` - 在代码区域右键Debug执行 - `看哪里` - 看Debugger窗口 - 看Console窗口 - `点哪里` - 点Step Into (F7)这个箭头,也可以直接按F7 - `如何删除断点` - 选择要删除的断点,单击鼠标左键即可 - `如果是多个断点,可以每一个再点击一次。也可以一次性全部删除` 如果数据来源于键盘录入,一定要记住输入数据,不然就不能继续往下查看了。 ## 二维数组 ### 二维数组概述 **概述 :** `二维数组也是一种容器,不同于一维数组,该容器存储的都是一维数组容器` ### 二维数组动态初始化 > 动态初始化格式: > > 数据类型[][] 变量名 = new 数据类型[m][n]; > m表示这个二维数组,可以存放多少个一维数组 > n表示每一个一维数组,可以存放多少个元素 ```java /** * @Author: ✎﹏ Sunflower丶 */ public class Demo1 { /* 动态初始化格式: 数据类型[][] 变量名 = new 数据类型[m][n]; m表示这个二维数组,可以存放多少个一维数组 n表示每一个一维数组,可以存放多少个元素 */ public static void main(String[] args) { // 数据类型[][] 变量名 = new 数据类型[m][n]; int[][] arr = new int[3][3]; /* [[I@10f87f48 @ : 分隔符 10f87f48 : 十六进制内存地址 I : 数组中存储的数据类型 [[ : 几个中括号就代表的是几维数组 */ System.out.println(arr); /* 二维数组存储一维数组的时候, 存储的是一维数组的内存地址 */ System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); System.out.println(arr[0][0]); System.out.println(arr[1][1]); System.out.println(arr[2][2]); // 向二维数组中存储元素 arr[0][0] = 11; arr[0][1] = 22; arr[0][2] = 33; arr[1][0] = 11; arr[1][1] = 22; arr[1][2] = 33; arr[2][0] = 11; arr[2][1] = 22; arr[2][2] = 33; // 从二维数组中取出元素并打印 System.out.println(arr[0][0]); System.out.println(arr[0][1]); System.out.println(arr[0][2]); System.out.println(arr[1][0]); System.out.println(arr[1][1]); System.out.println(arr[1][2]); System.out.println(arr[2][0]); System.out.println(arr[2][1]); System.out.println(arr[2][2]); } } ``` ### 二维数组访问元素的细节问题 > 问题 : 二维数组中存储的是一维数组, 那能不能存入 [提前创建好的一维数组] 呢 ? > > 答 : 可以的 **代码实现** ```java /** * @Author: ✎﹏ Sunflower丶 */ public class Demo2 { /* 问题: 二维数组中存储的是一维数组, 那能不能存入 [提前创建好的一维数组] 呢 ? 答 : 可以的 */ public static void main(String[] args) { int[] arr1 = {11,22,33}; int[] arr2 = {44,55,66}; int[] arr3 = {77,88,99,100}; int[][] arr = new int[3][3]; arr[2][3] = 100; arr[0] = arr1; arr[1] = arr2; arr[2] = arr3; System.out.println(arr[1][2]); System.out.println(arr[2][3]); } } ``` ### 二维数组静态初始化 **完整格式 :** > 数据类型[][] 变量名 = new 数据类型[][]{ {元素1, 元素2...} , {元素1, 元素2...} **简化格式 :** > 数据类型[][] 变量名 = { {元素1, 元素2...} , {元素1, 元素2...} ...}; **代码实现 : ** ```java /** * @Author: ✎﹏ Sunflower丶 */ public class Demo3 { /* 完整格式:数据类型[][] 变量名 = new 数据类型[][]{ {元素1, 元素2...} , {元素1, 元素2...} ...}; 简化格式: 数据类型[][] 变量名 = { {元素1, 元素2...} , {元素1, 元素2...} ...}; */ public static void main(String[] args) { int[] arr1 = {11,22,33}; int[] arr2 = {44,55,66}; int[][] arr = {{11,22,33}, {44,55,66}}; System.out.println(arr[0][2]); int[][] array = {arr1,arr2}; System.out.println(array[0][2]); } } ``` ### 二维数组遍历 **需求 :** 已知一个二维数组 arr = {{11, 22, 33}, {33, 44, 55}}; 遍历该数组,取出所有元素并打印 **步骤 :** 1. 遍历二维数组,取出里面每一个一维数组 2. 在遍历的过程中,对每一个一维数组继续完成遍历,获取内部存储的每一个元素 **代码实现 :** ```java /** * @Author: ✎﹏ Sunflower丶 */ public class Test1 { /* 需求: 已知一个二维数组 arr = {{11, 22, 33}, {33, 44, 55}}; 遍历该数组,取出所有元素并打印 步骤: 1. 遍历二维数组,取出里面每一个一维数组 2. 在遍历的过程中,对每一个一维数组继续完成遍历,获取内部存储的每一个元素 */ public static void main(String[] args) { int[][] arr = {{11, 22, 33}, {33, 44, 55}}; // 1. 遍历二维数组,取出里面每一个一维数组 for (int i = 0; i < arr.length; i++) { //System.out.println(arr[i]); // 2. 在遍历的过程中,对每一个一维数组继续完成遍历,获取内部存储的每一个元素 //int[] temp = arr[i]; for (int j = 0; j < arr[i].length; j++) { System.out.println(arr[i][j]); } } } } ``` ### 二维数组求和 **需求 :** 某公司季度和月份统计的数据如下:单位(万元) 第一季度:22,66,44 第二季度:77,33,88 第三季度:25,45,65 第四季度:11,66,99 **代码实现 :** ```java /** * @Author: ✎﹏ Sunflower丶 */ public class Demo05 { /* 二维数组求和,输出单季度和,和总季度和。 */ public static void main(String[] args) { //数组 int[][] arr ={{22, 66, 44}, {77, 33, 88}, {25, 45, 65}, {11, 66, 99}}; //记录每个季度的和 int sum1 = 0; //求和变量,准备记录最终求和结果 int sum2 = 0; //遍历二维数组 for (int i = 0; i < arr.length; i++) { sum1 = 0; //遍历二维数组中的一维数组 for (int j = 0; j < arr[i].length; j++) { sum1 += arr[i][j]; } //输出季度和 System.out.println(sum1); sum2 += sum1; } //输出总和 System.out.println(sum2); } } ```
您阅读这篇文章共耗时:
0小时16分34秒
文章链接:
https://www.slcp.top/article/read/20
版权声明:
本博客所有文章除特別声明外,均采用
CC BY 4.0
许可协议。转载请注明来源
Slcp
!
转载文章以及部分引用均为自己整理记录学习而用,若有侵权,请联系删除。
Java
数组
评论
Valine
Gitalk
目录
搜索
首页
前进
后退
刷新
申请友链
在线联系