Java方法相关(重载,可变参数,递归,命令行传参,Scanner类)

System.out.println();

system=>一个类,out=>对象,println=>方法名

重载

  • 在一个类中,相同的函数名称,但形参不同
  • 重载的规则
    • 方法名必须相同
    • 参数的列表必须不同(个数不同,类型不同,参数排列顺序不同等)
    • 方法的返回类型随意,但不同不足以成为重载
  • 方法名称相同时,java编译器会根据参数个数,类型去逐个匹配,失败会报错.

可变参数

  • java1.5后支持传递同类型的可变参数给一个方法
  • 在方法声明中,在指定参数类型后面加一个省略号(...)
  • 一个方法中只能定一个可变参数,它必须是方法的最后一个.
public static void main(String[] args) {
    test(1.1, 1, 2, 3, 4, 5, 4, 6, 4);
}

public static void test(double d, int... i) {
    System.out.println(d);
    for(int x:i){
        System.out.println(x);
    }
}

递归

  • 递归头:什么时候不调用自身方法,没有头,会陷入死循环
  • 递归体:什么时候需要调用自身方法
  • 主要思想的学习,能不用就不用,容易栈溢出

命令行传参

先生成.class文件,再运行时直接后接参数,如

java com.weiyang.method.Demo1 hello world

如果乱码,后接参数 : -unicode utf-8

Scanner输入类

naxt(),nextLint(),两种接受输入的方法

naxtInt(),nextFloat(),两种指定类型的输入

等。。。

public static void main(String[] args) {
    //创建一个扫描器对象,用于接收键盘数据
    Scanner scanner = new Scanner(System.in);
    System.out.println("用next方法接收:");

    //会卡在scanner类第一个调用的方法处等待输入
    //next读到有效字符才会结束输入,之前的空白都会删除,之后的空白作为分隔符或结束符
    String str1 = scanner.next();
    System.out.println("输出的内容为"+str1);

    //nextLine以换行符为结束符,可以得到有效字符前的空白
    String str2 = scanner.nextLine();
    System.out.println("输出的内容为"+str2);

    //凡是属于IO流的类如果不关会一直占用资源
    scanner.close();
}
posted @ 2021-07-21 20:43  未央-泉  阅读(77)  评论(0)    收藏  举报