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();
}

浙公网安备 33010602011771号