Java基础知识及细节之二维数组
2023-06-13 09:11:17 时间
Debug模式
什么是Debug模式
是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。
Debug介绍与操作流程
如何加断点
- 选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可
如何运行加了断点的程序
- 在代码区域右键Debug执行
看哪里
- 看Debugger窗口
- 看Console窗口
点哪里
- 点Step Into (F7)这个箭头,也可以直接按F7
如何删除断点
- 选择要删除的断点,单击鼠标左键即可
如果是多个断点,可以每一个再点击一次。也可以一次性全部删除
如果数据来源于键盘录入,一定要记住输入数据,不然就不能继续往下查看了。
二维数组
二维数组概述
概述 : 二维数组也是一种容器,不同于一维数组,该容器存储的都是一维数组容器
二维数组动态初始化
动态初始化格式: 数据类型[][] 变量名 = new 数据类型[m][n]; m表示这个二维数组,可以存放多少个一维数组 n表示每一个一维数组,可以存放多少个元素
/**
* @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]);
}
}
二维数组访问元素的细节问题
问题 : 二维数组中存储的是一维数组, 那能不能存入 [提前创建好的一维数组] 呢 ? 答 : 可以的
代码实现
/**
* @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...} ...};
**代码实现 : **
/**
* @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. 在遍历的过程中,对每一个一维数组继续完成遍历,获取内部存储的每一个元素
代码实现 :
/**
* @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
代码实现 :
/**
* @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);
}
}
相关文章
- java指定长度数组长度_Java声明数组时不能指定其长度[通俗易懂]
- java中打印数组的方法_Java数组方法–如何在Java中打印数组
- java反转数组_Java实现数组反转翻转的方法实例
- java观看视频次数_java数字转换视频播放次数等
- java 二维数组 arraycopy_Java对数组的复制[通俗易懂]
- java数组去重_JAVA数组去重常用方法
- java setproperty 未生效_Java System类setProperty()方法及示例[通俗易懂]
- 为了避免内存攻击,美国国家安全局提倡Rust、C#、Go、Java、Ruby 和 Swift,但将 C 和 C++ 置于一边
- Java数组循环_java遍历object数组
- Java字符串转集合_java集合转数组
- JAVA遍历数组的三种方法_java遍历object数组
- java输出一个数组的元素_Java输出数组元素「建议收藏」
- java webservice接口开发教程_JAVA入门教程
- 【错误记录】生成 Java 文档错误 ( Xxx.java:xx: 错误: 编码GBK的不可映射字符 )
- 从java到JavaScript(1),看Dart:对比Java/Go/Swift/Rust
- Java学习笔记之九java二维数组及其多维数组的内存应用拓展延伸详解编程语言
- 查看java性能Linux下JStat工具深度分析Java性能(linuxjstat)
- Java操作MySQL数据库快速入门(java访问mysql)
- java搭建Linux环境下的Java SDK(sdk-linux)
- Java线程池的分析和使用详解编程语言
- Linux上部署Java项目实践指南(linux部署java项目)
- Java 连接 Redis:实现数据快速传输(java连redis)
- 自动提交MySQL事务中的Java自动提交实践(mysql事务java)
- Linux 升级Java:新版本带来的变化(linux升级java)
- Java存入Oracle数据库实现快速高效的数据存储(java存入oracle)
- Java中一些基础概念的使用详解