8.6
继续上图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w74p0kES-1669530132696)(yjx04.assets/image-20221125220251608.png)]
8.7
对于求水仙花数
个人任务解题关键点在于:
-
x/100 首先将三位数除以100 ,得到的数字就是百位。
-
x%100/10 将三位数对100取余,得到一个两位数,再将这个两位数除以10, 得到的数字就是十位。
-
x%10 直接将三位数对 10 取余,得到的数字就是个位。
9. 关于方法
9.1 方法是对封装的一种体现
9.2 涉及到方法中的一些兼容类型:
-
参数 : 形 >= 参
-
返回值 : 接收方法返回值变量的类型 >= 方法返回值类型 >= return后面返回值的类型
9.3 关于可变参数
-
从Java5 开始,Java支持传递同类型的可变参数(又叫不定项参数)给一个方法。
-
在方法声明中,在指定参数类型后加一个省略号(…)
注意:
-
一个方法中只能指定一个可变参数。
-
可变参数必须是方法的最后一个参数。
-
任何普通的参数必须在可变参数之前声明。
参考代码:
public class Demo05 {
public static void main(String[] args) {
//调用可变参数的方法
printMax();
printMax(12, 13.6, 22.5, 18.7, 16.0);
printMax(new double[]{12, 13.6, 22.5, 18.7, 16.0});
}
public static void printMax(double...numbers){
if (numbers.length == 0){
System.out.println("没有传入数据!");
return;
}
double result = numbers[0];
//找出最大值
for (int i=1;i<numbers.length;i++){
if (numbers[i]>result){
result = numbers[i];
}
}
System.out.println("最大的数是"+result+"!");
}
}
9.4 方法递归
- 任何可用递归解决的问题也能使用循环解决,递归既花时间又耗内存,在要求高性能的情况下尽量避免使用递归
- 还需要考虑到的一个问题,是关于" 有返回值方法 "递归完毕后逐个弹栈的过程(每个方法都是按顺序执行完毕)
10.关于前期判断"相等"
- "=="是判断两个变量或实例是不是指向同一个内存空间
- "equals"是判断两个变量或实例所指向的内存空间的值是不是相同
11.“变量”
11.1、实例变量
-
也叫成员变量、全局变量。
-
定义在类中、方法外,有默认初始值。
-
通过对象的引用来访问实例变量。
-
随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。
11.2、类变量
- 也叫静态变量。
- 定义在类中、方法外,有关键字 static 修饰,有默认初始值。
- 可以通过对象调用,也可以通过类名调用。
- 生命周期与类共存亡。
- 对象的引用存放在方法区,如果用关键字 new 为引用类型的静态变量分配对象,该对象在堆中的地址也会存放在方法区。!但是对象本身仍在堆内存中
11.3、局部变量
- 定义在方法中,或者方法的形参,没有初始化值。
- 生命周期与方法共存亡。
- 存放在栈中。局部的对象的引用所指对象在堆中的地址在存储在了栈中。
12.关于ASCLL
12.1、表中常见的前127号进行总结
范围 | 对应字符 |
---|---|
第0~32号及第127号(共34个) | 控制字符或通讯专用字符 |
第48~57号(10个) | 阿拉伯数字0~9 |
第65~90号(26个) | 大写英文字母 |
第97~122号(26个) | 小写英文字母 |
第0~127号中未提及的 | 为一些标点符号、运算符号等 |
第33~126号(共94个)是字符
12.2 、关于奇偶校验
注意:在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。
13.关于类运行的说明
13.1
-
Java 类运行的过程大概分为:类的加载和类的执行。需要说明的一点的是:JVM 并不是在运行时就会把所有使用到的类都加载到内存中,JVM主要在程序第一次运行时主动使用类的时候,才会立即去加载。
-
先在类路径下找到编译好的 java 程序中得到 对应的字节码文件(类名.class)后,在命令行上敲 java 类名,系统就会启动一个 JVM 进程,JVM进程从classpath路径下找到一个名为类名.class的二进制文件,将 类名.class 文件中的类信息加载到运行时数据区的方法区中,这一过程叫做类的加载。(只有类信息在方法区中,才能创建对象,使用类中的成员变量)
-
编译后的字节码文件格式主要分为两部分:常量池和方法字节码。常量池记录的是代码出现过的(常量、类名、成员变量等)以及符号引用(类引用、
方法引用,成员变量引用等);方法字节码中放的是各个方法的字节码。