方法

方法

方法是语句的集合((功能块));

  • 方法是解决一类问题的步骤的有序组合

  • 方法包含于类或对象中

  • 方法在程序中被创建,在其他地方被引用

设计方法的原则:保持方法原子性(一个方法只实现1个功能,有利于后期的拓展)

一、方法的定义&调用

1、方法定义

修饰符 返回值类型 方法名(参数类型 参数名) {

​ …

​ 方法体

​ …

​ return 返回值

}

2、方法调用

类名.方法名

对象名.方法名

方法命名:遵守小驼峰规范

ps: 下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。一个典型的模式是:test_,例如testPop_emptyStack

实参&行参:

值传递&引用传递:JAVA只有值传递,但是有两类参数传递:

​ 基本类型,运行程序后实参不变,将实参拷贝传递到方法(形参)。

​ 引用类型,运行后实参改变——实际是将引用的值(实参)拷贝到方法内(形参),但引用指向的都是同一个堆内存,所以进行的修改操作同样有效。

二、方法重载

方法名字相同,参数列表不同(参数个数或类型不同)

方法重写:重写继承自父类的方法(在面向对象的继承中会学到)

三、命令行传参(拓展)

给main方法传递参数

public class Demo03 {
    public static void main(String[] args) {
        //args.length 数组长度
        for (int i = 0; i < args.length; i++) {//命令行传参
            System.out.println("args["+i+"]:"+args[i]);
            
        }
    }
}

在IDEA中直接编译会直接显示 进程已结束,退出代码0

所以我们打开文件根目录 E:\Code\JavaSE\src\com\kang\method ,在文件根目录输入cmd,进入cmd进行编译。

image-20210119201008729

在命令行窗口,输入javac -encoding utf-8 Demo03.java,编译后,在Demo03.java文件根目录下可以看见多出了一个Demo03.class文件,可以知道已经成功编译完成。

image-20210119201510913

此时我们在,命令行窗口(E:\Code\JavaSE\src\com\kang\method),若运行Demo03,则会报错:找不到或无法加载主类 Demo03。

image-20210119201702287

这是因为Demo03在 src\com\kang\method 目录下,因此我们要回退到 src\ ,此时再输入 java com.kang.method.Demo03,并在之后加入要传递的参数,点击【Enter】

image-20210119202432383

四、可变参数

可变参数(不定项参数):JDK1.5开始,java支持同类型的可变参数给一个方法;在指定参数类型后加一个省略号(…);必须放在最后一个参数,且一个方法中只支持一个可变参数。

… 必须放在最后一个参数(不定项参数)

例子:

public class Demo04 {
    public static void main(String[] args) {
        Demo04 demo04 = new Demo04();
        demo04.text(1,2,3,4,5,6,45,66);

    }
    public void  text(int x,int... i){//可变参数
        System.out.println(Arrays.toString(i));
    }
}

五、递归

之后再学习数据结构中再回顾整理

自己调用自己,将复杂问题简化为规模较小的问题来求解

递归头

递归体

递归代码量少,时间复杂度高,所以使用的时候,要考虑效率问题

面试常问、笔试

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值