昨日内容回顾
方法
概述
方法就是具有独立功能的一堆代码;
通用格式
public static 返回值类型 方法名(形参){
方法体;
return 数据值;
}
调用格式
有3种格式
直接调用 方法名(实参);
赋值调用 数据类型 变量名 = 方法名(实参);
输出调用 System.out.println(方法名(实参));
形参实参
要定义数据类型的变量,形参是用于接收调用者传递过来的数据的;
实参就是调用方法的时候,提前准备好的数据;
参数传递的结论
基本数据类型参数传递,传递的是数据值,在自定义的方法中,对变量修改,原方法中的变量不受影响;
引用数据类型参数传递,传递的是地址值,在自定义的方法中,根据地址值找到数据后修改,原方法中的数据受影响;
今日内容
debug(动手演示)
概述
debug是idea的一种代码运行模式,通过这种模式,可以让代码逐行执行,便于我们观察代码的执行顺序和程序中变量的变化情况,以达到调试程序的目的;
操作步骤
-
给代码加上断点
在正常执行的代码行号上单击左键即可加上断点,再次单击会取消断点;
-
以debug模式运行代码
右键选择debug模式运行代码
-
观察代码执行顺序和变量变化
手动控制代码执行,观察执行顺序是否正确及变量变化
界面详解
练习题
数组反转(重点)
二维数组(了解)
概述
保存着其他数组的数组就是一个二维数组;
动态初始化格式
数据类型[][] 二维数组名 = new 数据类型[二维数组长度][一维数组长度];
存值
直接保存数据值:
二维数组名[二维数组索引][一维数组索引] = 数据值;
也可以把一个提前准备好的一维数组保存到二维数组中:
二维数组名[二维数组索引] = 一维数组名;
取值
直接取出数据值:
二维数组名[二维数组索引][一维数组索引];
也可以从二维数组中获取一个一维数组:
二维数组名[二维数组索引];
二维数组每个索引位置上到底存的是什么
答: 存的是一维数组的地址值;
代码对比
int[][] arr = new int[3][3];//一行代码,java在内存中,会开辟4个空间,一个二维数组加3个一维数组;
int[][] arr = new int[3][];//仅仅创建一个长度为3的二维数组,会使用
3个null放在二维数组的每个索引位置占位;
二维数组的静态初始化
简化: 数据类型[][] 数组名 = {{元素,元素...},{},...};
二维数组遍历
二维数组求每个季度的平均值
循环嵌套的代码执行顺序(重点)
进制(了解)
概述
常见进制的书写格式
其他进制往十进制进行转换
十进制转其他进制
快速转换法(8421码)
8421码码表
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nu9kDg94-1634471661889)(assets/1626338881521.png)]
二进制转十进制
将二进制的数据与8421的码表对应起来,1对应的数据取出来相加即可;
二进制转8进制
将3个二进制位看成一组,分别相加,然后将每组得到的结果直接拼接;
二进制转16进制
将4个二进制位看成一组,分别相加,然后将每组得到的结果直接拼接;
十进制转二进制
使用十进制的数字不断的减去码表中的数字,参与减的位置都是1,不参与减的都是0,最后拼接1和0即可;
八进制转二进制
将8进制中的每个数字都拆分成3个二进制位,然后拼接即可;
十六进制转二进制
将16进制中的每个数字都拆分成4个二进制位,然后拼接即可;
二进制的三种状态码
转换过程举例:
能操作二进制数据的运算符
关于^运算符操作二进制数据的特点:
一个数字被另一个数字异或两次,那么这个数字不变;