Java方法的简单概括
Java方法
方法设计原则:一个方法实现一个功能,维持其原子性。
命名原则:首字母小写,驼峰原则。
- 形式参数:用以定义变量
- 实际参数:用以传递变量
- return:用以返回值,以及终止方法
方法的调用
-
对象名.方法名(参数列表)
public static void main(String[] args) { int sum = add(1,3); System.out.println(sum); } public static int add(int a,int b){ return a+b; } -
Java是值传递;那么引用传递?
- 方法返回值为空的时候,运行方法后值不变。
- 引用传递:当方法参数指向对象时,即使方法返回值为空,运行后值改变,因为其指向的是对象的属性。
方法的重载
-
方法名一致,参数类型必须不同(个数不同或类型不同或顺序不同)。
public static void main(String[] args) { double sum = add(1.0,3.0); System.out.println(sum); } public static int add(int a,int b){ return a+b; } //参数类型不同 public static double add(double a, double b){ return a+b; }
命令行传参
- 可在程序运行时传参
可变参数
-
在方法声明中,在指定参数后加省略号
-
一个方法只能指定一个可变参数,它必须是最后声明的
public static void main(String[] args) { max(1,4,6888,73,55,778); } public static void max(double...x){ if (x.length==0){ System.out.println("null"); return; }else { double result=0; for (int i = 0; i < x.length; i++) { if (x[i]>result){ result=x[i]; } } System.out.println(result);; } }
递归
-
A方法自己调用自己
-
递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
-
递归体:什么时候需要调用自身方法。
-
递归注意栈溢出,容易崩溃。
public static void main(String[] args) { int f = f(4); System.out.println(f); } public static int f(int n){ if (n==1){ return 1; }else { return n*f(n-1); } /* * f4 4*f3 * f3 4*3*f2 * f2 4*3*2*f1 * f1 4*3*2*1 * */ }
控制台计算器
public class Calculator {
public static void main(String[] args) {
doIt();
}
public static void doIt(){
Scanner scanner = new Scanner(System.in);
Calculator calculator = new Calculator();
System.out.println("请输入两个数:");
double a = scanner.nextDouble();
double b = scanner.nextDouble();
System.out.println("请输入计算方式:");
String str=scanner.next();
System.out.println("输入为"+a+str+b);
switch (str){
case "+":
System.out.println(calculator.add(a,b));
break;
case "-":
System.out.println(calculator.sub(a,b));
break;
case "*":
System.out.println(calculator.mul(a,b));
break;
case "/":
System.out.println(calculator.div(a,b));
break;
default:
System.out.println("输入不合法!");
}
doIt();
}
public double add(double a,double b){
return a+b;
}
public double sub(double a,double b){
return a-b;
}
public double mul(double a,double b){
return a*b;
}
public double div(double a,double b){
return a/b;
}

浙公网安备 33010602011771号