Java 方法
方法的定义
方法是语句的集合,它们在一起执行一个功能,一个方法只完成一个功能(原子性)
方法命名规则:首字母小写(驼峰命名规则)
方法的重载
重载就是在一个类中,有相同的函数名称,但形参不同的函数
方法重载的规则
方法名称必须相同
参数列表必须不同(个数不同、类型不同、参数排列顺序不同)
方法的返回类型可以相同也可以不相同
仅返回类型不同不足以成为方法的重载
命令行传参
可变参数
在方法声明中在指定参数类型后加一个省略号(...)
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数,任何普通的参数必须在它之前声明
递归
递归结构包括两个部分:
递归头:什么时候不调用自身方法。如果没有头,将陷入死循环
递归体:什么时候需要调用自身方法
public class Demo01 {
public static void main(String[] args) {
System.out.println(f(5));
}
/*阶乘
1!=1
2!=2*1
3!=3*2*1
*/
public static int f(int n){
if(n==1){
return 1;
}else{
return n*f(n-1);
}
}
}
递归比较适用于基数小的操作
简易的计算器程序
import java.sql.SQLOutput;
import java.util.Scanner;
public class calculator {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
while(true){
System.out.println("请输入第一个数:");
double num1 = scanner.nextDouble();
System.out.println("请输入运算符(+,-,*,/)");
char operator = scanner.next().charAt(0);
System.out.println("请输入第二个数");
double num2 = scanner.nextDouble();
double result;
//根据用户输入的运算符来判断用哪个运算方法
switch(operator){
case '+':
result=add(num1,num2);
break;
case '-':
result=minus(num1,num2);
break;
case '*':
result=ride(num1,num2);
break;
case '/':
result=divide(num1,num2);
break;
default:
System.out.println("无效的运算符!");
continue;
}
System.out.println("结果:" + num1 + " " + operator + " " + num2 + " " + "=" + result);
System.out.println("是否继续(y/n)");
char choice = scanner.next().charAt(0);
//如果输入的结果不等于y或者Y则退出循环
if(choice != 'y' && choice != 'Y'){
break;
}
}
scanner.close();
}
//加法
public static double add(double num1 ,double num2){
return num1+num2;
}
//减法
public static double minus(double num1 ,double num2){
return num1-num2;
}
//乘法
public static double ride(double num1 ,double num2){
return num1*num2;
}
//除法
public static double divide(double num1 ,double num2){
if(num2==0){
System.out.println("除数不能为0");
return 0;
}
return num1/num2;
}
}

浙公网安备 33010602011771号