方法Method

方法Method

Java中的方法

  • 类似于其他计算机语言的函数
  • 用于完成特定功能的代码盘点

syntax

[修饰符...] [返回值类型] [方法名] ([参数类型][参数名],...) {
    ...... //代码块
    return [返回值];
}

System.out.println();

Module java.base

Package java.lang

Class System

  • System
    • 是一个类
  • out
    • 是一个对象
    • static PrintStream
    • 一个静态的PrintStream的实际对象
    • The "standard" output stream
      • 标准输出流
  • println()
    • public static final PrintStream out
    • 是out对象下的一个方法

重载

方法名称相同时,编译器会根据调用的参数个数,参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,编译器报错

  • 有相同的函数名称
  • 形参不同
  • 参数列表必须不同
    • 个数不同
    • 类型不同
    • 参数排序不同
  • 返回类型的不同不能作为重载的依据

值传递

实参传递给形参的是值

对形参做的修改不会影响实参

引用传递

实参传递给形参的是地址

形参修改会影响实参

可变参数

  • 传递同类型的参数给一个方法
  • 指定参数类型后面加...
  • 一个方法只能指定一个可变参数
  • 可变参数必须是方法的最后一个参数,即任何普通参数必须在它之前声明
public class Demo04 {
    public static void main(String[] args) {
        print(1,2,3,4,5,6,9,8,7,9,8,7,6,5,4,3,2,1);
    }
    public static void print(double ... numbers) {
        for ( double x : numbers) {
            System.out.println(x);
        }
    }
}

递归

自己调用自己,又可以跳出来的方法

调用自己成为递出,跳出来称为归

package Method;

import java.util.Scanner;

public class Demo05 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个整数:");
        if (scanner.hasNextInt()) {
            int decimal = scanner.nextInt();
            printBinary(decimal);
        }
    }
    //打印二进制
    public static void printBinary(int decimal) {
        if (decimal > 0) {
            printBinary(decimal/2);
            System.out.print(decimal%2);
        }
    }
}
posted @ 2021-01-01 21:54  BlockWolfs  阅读(78)  评论(0)    收藏  举报