Debug
作用
排查错误
打断点
- 在可疑代码处打上断点
- 如过不知道哪里可疑,可以在main方法第一行打
预判和见证
- 每行代码执行前预判执行流程和执行结果
- 实际执行后观察实际情况和预判是否有出入
- 如果有出入基本是那行代码有问题,仔细检查
二维数组
概念
二维数组也是一种容器,不同于一维数组,该容器存储的都是一维数组
定义格式
前面的索引代表行 后面的索引代表列
行列才能确定二位素数当中具体元素的位置
格式:数据类型 [ ] [ ] 变量名;
范例:int [ ] [ ] arr;
public class TwoDimensionalDemo {
public static void main(String[] args) {
int[][] arr = new int[4][5];
arr[0][0] = 5;
System.out.println(arr[0][0]);
//外层控制行
for (int i = 0; i < arr.length; i++) {
//内层控制列
for (int i1 = 0; i1 < arr[i].length; i1++) {
arr[i][i1] = 18;
}
}
for (int i = 0; i < arr.length; i++) {
for (int i1 = 0; i1 < arr[i].length; i1++) {
System.out.print(arr[i][i1] + "\t");
}
System.out.println();
}
}
}
初始化
动态初始化
格式: 数据类型 [ ] [ ] 变量名 = new 数据类型[ m ] [ n ];
m表示这个二维数组,可以存放多少个一维数组
n表示每一个一维数组,可以存放多少个元素
范例:int [ ] [ ] arr = new int [ 2 ][ 3 ];
该数组可以存放2个一维数组,每个一维数组中可以存放3个int类型元素
静态初始化
格式:数据类型 [ ] [ ] 变量名 = new 数据类型[ ] [ ] { {元素1,元素2}, {元素1, 元素2} };
范例:int [ ] [ ] arr = new int [ ][ ] { {11,22} , {33,44} };
简化格式:数据类型 [ ] [ ] 变量名 = { {元素1,元素2}, {元素1, 元素2} };
范例:int [ ] [ ] arr = { {11,22} , {33,44} }
进制
概念
指进位制,是人们规定的一种进位方式,表示某一位置上的数,运算时是逢X进一位。
十进制是逢十进一,二进制就是逢二进一,八进制是逢八进一…
常见进制
十进制
运算规则:逢十进一,借一当十
二进制
二进制数据是用0和1两个数码来表示。例如:0101000
进位规则是“逢二进一”,借位规则是“借一当二”。
八进制和十六进制
采用0,1,2,3,4,5,6,7八个数字,逢八进1
用数字0到9和字母A到F(或a-f)表示,其中:A-F表示10-15,这些称作十六进制。
【0】【1】【2】【3】【4】【5】【6】【7】【8】【9】【a】【b】【c】【d】【e】【f】
作业
要求定义一个方法,该方法可以把int类型的一维数组进行反转(注意考虑需不需要返回值)
public static void main(String[] args) {
swapArray(new int[]{5, 4, 3, 2, 1});
}
/**
* 数组反转
*
* @param arr 数组
*/
public static void swapArray(int[] arr) {
int temp = arr[0];
for (int i = 0; i < arr.length / 2; i++) {
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp;
temp = arr[i + 1];
}
System.out.println(Arrays.toString(arr));
}
定义一个方法,该方法可以随机生成10个数字,随机范围为[1,15] 。(把生成的随机数放在数组中返回)
import java.util.Arrays;
import java.util.Random;
/**
* @author DS_xiao_jian
* @date 2023.04.05 下午 03:47:53
*/
public class Test {
public static void main(String[] args) {
System.out.println(Arrays.toString(randomNumberPadding()));
}
/**
* 随机生成10个数字,随机范围为[1,15]
* @return 数组
*/
public static int[] randomNumberPadding() {
Random random = new Random();
int[] arr = new int[10];
for (int i = 0; i < arr.length; i++) {
int num = random.nextInt(15) + 1;
arr[i]=num;
}
return arr;
}
}
定义一个方法,该方法可以判断一个数字在某个数组中是否存在。
public class Test2 {
public static void main(String[] args) {
int num = 10;
int[] arr = {9,5,6,1,8,10};
System.out.println(numberExistInArray(num,arr));
}
/**
* 判断一个数字在某个数组中是否存在
* @param num 数字
* @param arr 数组
* @return 布尔 是否存在
*/
public static boolean numberExistInArray(int num ,int[] arr){
for (int i = 0; i < arr.length; i++) {
if (num == arr[i]){
return true;
}
}
return false;
}
}