Java的方法、基本和引用数据类型

++个人的黑马程序员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("]");
    }
}

方法的内存

  • 进栈出栈:后进先出

基本数据类型

  • 数据值是存储在自己的空间中
    • 整数类型、浮点数类型、布尔类型、字符类型
  • 特点:赋值给其他变量,也是赋的真实的值

引用数据类型

  • 数据值是存储在其他空间中,自己空间中存储的是地址值
  • 特点:赋值给其他变量,赋的是地址值

方法的值的传递的内存原理

  • 堆内存的生命周期是可以覆盖多个线称的,而栈就只能在自己的括号内

  • 基本数据类型

  • 引用数据类型
相关推荐
程序猿零零漆3 分钟前
Spring之旅 - 记录学习 Spring 框架的过程和经验(十)基于注解配置的AOP使用
java·学习·spring
ouliten7 分钟前
TensorRT笔记(6):INT8API的使用
笔记·cuda
努力的小郑10 分钟前
SQL 性能避坑:为什么阿里强制禁用 ORDER BY RAND()?
java·mysql·性能优化
悟能不能悟13 分钟前
前端调用a服务,a服务将请求用controller+openfeign调用b服务,接口参数中有header参数和body,a服务应该怎么设置,才简单
java·开发语言·前端
2501_9418859613 分钟前
从接口演化到系统自治的互联网工程语法重构与多语言实践思路拆解分享文
java·开发语言
2501_9418053118 分钟前
在阿姆斯特丹智能港口场景中构建集装箱实时调度与高并发物流数据分析平台的工程设计实践经验分享
java·大数据·算法
小许学java18 分钟前
网络原理-HTTP/HTTPS
java·网络·http·https
panamera1223 分钟前
C++ 中 static 关键字
java·开发语言·c++
涂山小楼23 分钟前
线程join()方法的深度理解
java·前端·算法
laplace012324 分钟前
Part2.大模型RAG进阶多格式文档解析
笔记·语言模型·langchain·rag