++个人的黑马程序员java笔记++
目录
[对于byte, short, int, long类型](#对于byte, short, int, long类型)
方法
-
方法(method)是程序中最小的执行单元
-
格式
- 方法定义:把一些代码打包在一起,该过程称为方法定义
- 方法调用:方法定义后并不是直接运行的的,需要手动调用才能执行,该过程称为方法调用
-
形参:形式参数,指方法定义中的参数
-
实参:实际参数,指方法调用中的参数
// 方法定义
public static 返回值类型 方法名(参数) {
方法体;
return 返回值;
}// 方法调用
方法名();
例:方法定义和调用
- 方法的返回值类型是 void,表示该方法没有返回值
- 可以省略 return 语句
- 如果要编写 return,后面不能跟具体的数据
方法的重载
- 在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能
- (简:同一个类中,方法名相同,参数不同的方法。与返回值无关)
- 每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系
*- (简:参数的个数不同、类型不同、顺序不同)
- Java 虚拟机会通过参数的不同来区分同名的方法
对于byte, short, int, long类型
java
public class Demo {
public static void main(String[] args) {
compare(10, 20); // 整数,使用int类型的方法
}
public static void compare(byte b1, byte b2) {
System.out.println(b1 == b2);
}
public static void compare(short s1, short s2) {
System.out.println(s1 == s2);
}
public static void compare(int i1, int i2) {
System.out.println(i1 == i2);
}
public static void compare(long L1, long L2) {
System.out.println(L1 == L2);
}
}
- 使用强制类型转换
java
compare((byte)10, (byte)20);
- 定义变量
java
byte b1 = 10;
byte b2 = 20;
compare(b1, b2);
例:定义方法用于数组的遍历
java
// 打印[11, 22, 33, 44, 55]
public class Demo {
public static void main(String[] args) {
int[] arr = {11, 22, 33, 44, 55};
printArr(arr);
}
public static void printArr(int[] arr) {
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) { // 当索引是最后一个时,不打印逗号
System.out.print(arr[i]);
} else {
System.out.print(arr[i] + ", ");
}
}
System.out.println("]");
}
}
方法的内存
- 进栈出栈:后进先出
基本数据类型
- 数据值是存储在自己的空间中
- 整数类型、浮点数类型、布尔类型、字符类型
- 特点:赋值给其他变量,也是赋的真实的值
引用数据类型
- 数据值是存储在其他空间中,自己空间中存储的是地址值
- 特点:赋值给其他变量,赋的是地址值
方法的值的传递的内存原理
- 堆内存的生命周期是可以覆盖多个线称的,而栈就只能在自己的括号内
- 基本数据类型
- 引用数据类型