一、方法的定义与调用
- 方法是语句的集合,包含在类或对象中;
- 方法包含--修饰符、返回值、方法名、参数类型、方法体;
- 方法调用:对象名.方法名;
二、方法的重载
- 重载:就是一个在类中两个方法名字相同,但参数类型不同;
- 规则:参数类型不同、个数不同都行;返回类型可相同;
三、命令行传参
在cmd编译Java文件 javac 文件名->java 包.文件名(要在src目录下执行,回退上一级cd ../)->传参
四、可变参数
- jdk1.5开始,支持可变参数;
- 用法--在方法的指定类型后加上...,并且一个方法只能使用一个可变参数且必须是最后一个参数,其他普通参数必须写在可变参数前。
- 本质上其实是一个数组
五、递归
- 方法自己调用自己
- 适用:基数比较小,并且有边界条件时,容易导致电脑内存奔溃。
扩充--计算机
import java.util.Scanner;
public class Demo1 {
float z=0.0f;
float x;
float y;
public static void main(String[] args) {
Demo1 demo1 = new Demo1();
//demo1.add(10,20);
while(true){
System.out.println("请输入两个数:");
Scanner scanner = new Scanner(System.in);
float x = scanner.nextFloat();
float y = scanner.nextFloat();
System.out.println("请选择你要做的运算:1、+;2、-;3、*;4、/");
Scanner scanner1 = new Scanner(System.in);
int c = scanner1.nextInt();
//demo1.add(10,20);
switch (c) {
case 1:
demo1.add(x, y);break;//-----可以写成x+y,在输出x+y,不必调用方法。
case '2'://注意switch用法,这里传入的是整数,所以不应该加'',程序不会报错,但是会导致case中的类型无法匹配,结束switch判断。
demo1.jian(x, y);break;
case '3':
demo1.cheng(x, y);break;
case '4':
demo1.chu(x, y);break;
}
System.out.println("是否退出计算机:1、是 2、否");
if (scanner1.nextInt()==1){
scanner.close();
scanner1.close();
break;
}
}
}
public float add(float x,float y){
System.out.println(x+y);
return x+y;
}
public float jian(float x,float y) {
System.out.println(x-y);
return x-y;
}
public float cheng(float x,float y) {
System.out.println(x*y);
return x*y;
}
public float chu(float x,float y) {
System.out.println(x/y);
return x/y;
}
}