重学Java 17.面向对象.5.方法参数和快速生成debug

不走心的努力,都是在敷衍自己

                               ——24.2.19

一、方法参数

1.基本数据类型(四类八种)

整型                byte short int long

浮点型             float double

字符型             char

布尔型             boolean

2.基本数据类型做方法参数传递

基本类型做方法参数(实参)传递,传递的是,不是变量本身

方法运行:压栈

方法运行完毕:弹栈 -> 释放栈内存

方法里的参数main函数中的参数即使同名但是不同,方法里的参数只在方法内奏效

传递参数传递的是参数代表的值,而不是参数变量本身

基本数据类型当作实参传递,传递的是值,不是变量本身

    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        method(a,b);
        System.out.println(a);//10
        System.out.println(b);//20
    }

    public static void method(int a,int b){
        a+=10;
        b+=20;
        System.out.println(a);//20
        System.out.println(b);//40
    }

3.引用数据类型

除了四类八种基本数据类型外

其他都属于引用数据类型

4.引用数据类型做方法参数传递

引用数据类型做方法参数传递时,传递的地址值,不是变量的值

    public static void main(String[] args) {
        int[] arr = {10,20};
        method(arr);
        System.out.println(arr[0]);//20
        System.out.println(arr[1]);//40
    }

    public static void method(int[] arr){
        arr[0]+=10;
        arr[1]+=20;
        System.out.println(arr[0]);//20
        System.out.println(arr[1]);//40
    }

5.命令行参数(dos窗口和idea中的使用)

dos命令行窗口可以直接给方法进行传参

idea中给main方法传参

二、其他操作

1.快速生成方法

① 先调用,在定义方法,快捷键:alt+回车

② 快速将一段代码抽取到一个方法中:选中要抽取的方法,按crtl+alt+m

2.debug调试

① 概述:调试代码的一种手段

② 作用:能清楚的看到每个变量在代码执行过程中的变化,找错

③ 使用:在想要开始debug的那一行左边点击一下,出现红色小圆点(断点)右键,点击debug

不可以同时点击多个断点

三、面向对象 总结

static关键字:

①概述 —— 静态关键字

②使用 —— 修饰成员变量 修饰方法

③调用 —— 类名调用 

④特点:  a、static修饰的成员为静态成员,静态成员属于类成员,不属于对象成员

                b、static修饰的成员会随着类的加载而加载,优先于对象存在

                c、只是根据static所在的类创建出来的对象,都可以共享这个静态成员

⑤成员访问特点 —— a、静态方法中不能直接访问非静态成员 需要new对象访问

                                  b、非静态方法中在同类中能直接访问静态成员,也可以类名调用,不在同类中只能类名调用

                                  c、静态方法中在同类中能直接访问静态成员,也可以类名调用,不在同类中只能类名调用

                                  d、非静态方法中在同类中能直接访问非静态成员,也可以new对象调用,不在同类中只能new对象调用

⑥总结 —— 不管在不在同一个类中,只要是访问静态的,都可以类名调用、

                    不管在不在同一个类中,只要是访问非静态的,都可以new对象调用

⑦使用场景 —— 抽取工具类使用:a、构造私有——不能new对象,相当于强制使用类名调用

                                                        b、成员都为static的——方便调用

可变参数:

① 概述 —— 可变的参数

② 作用 —— 可以接收0个或者多个参数

③ 格式 —— 数据类型…变量名

④ 本质 —— 数组

⑤ 注意 —— 参数位置只能有一个可变参数,而且要放到最后

递归:

①概述 —— 自己方法内部调用自己

②分类 —— a、直接递归 b、间接递归

③注意 —— a、要有出口 b、递归次数不要过多

数组常见算法:

① 冒泡排序:相邻两个元素之间比较,互相换位置,大的往后走,小的往前走

② 折半查找/二分查找:a、前提:数组元素有序   b、思想:每次都从中间索引开始找,找不到下一次干掉一半数据

对象数组:

存储的对象,取出来的也是对象

方法参数:

① 基本类型做方法参数传递 —— 传递的是值,不是变量本身

② 引用类型做方法参数传递 —— 传递的是地址值

方法快速生成和debug:

需要自己操作,熟能生巧

① 先调用,在定义方法,快捷键:alt+回车

② 快速将一段代码抽取到一个方法中:选中要抽取的方法,按crtl+alt+m

③ debug的使用:在想要开始debug的那一行左边点击一下,出现红色小圆点(断点)右键,点击debug

  • 20
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值