ch05 Java方法

Java方法

何谓方法?

System.out.println();	//类.对象.方法
  • Java方法是语句的集合,它们在一起执行一个功能。
    • 方法是解决一类问题的步骤的有序组合
    • 方法包含于类或对象中
    • 方法在程序中被创建,在其他地方被引用
修饰符 返回类型值 方法名(参数类型 参数名){
	-----
	方法体
	-----
	
	return 返回值;
}

方法的重载

  • 重载就是在一个类中,有相同的函数名称,但形参不同的函数。
  • 方法的重载的规则:
    • 方法名称必须相同。
    • 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。
    • 方法的返回类型可以相同也可以不相同。
    • 仅仅返回类型不同不足以成为方法的重载。
public static double max(double num1, double num2){}
public static int max(int num1, int num2){}
public static int max(int num1, int num2, int num3){}

命令行传参

  • 有时候你希望运行一个程序时候再传递给它消息。这要靠传递命令行参数给maiO函数实现。
public class CommandLine{
    public static void main(String args[]){
        for(int i=0;i<args.length;i++){
            System.out.println("args["+i+"]"args[i]); 
        }
    }
}

image

可变参数(不定项参数)

  • 在方法声明中,在指定参数类型后加一个省略号(…)。
  • 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。

递归

  • 递归结构包括两个部分:
    • 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
    • 递归体:什么时候需要调用自身方法。

练习题—手写计算器

/*
    设计一个计算器
    - 写四个方法:加减乘除
    - 利用循环+switch进行用户交互
    - 传递需要操作的两个数
    - 输出结果
 */

import java.util.Scanner;

public class Calculator {
    public static void main(String[] args) {

        System.out.println("=============");
        System.out.println(" Java 计算器");
        System.out.println("=============");
        System.out.println("请输入四则运算式(例 1 + 2):");
        Scanner scanner = new Scanner(System.in);

        double num1;
        double num2;
        char operator;
        double result;

        while (scanner.hasNextDouble()){

            num1 = scanner.nextDouble();
            operator = scanner.next().charAt(0);
            num2 = scanner.nextDouble();

            switch (operator){
                case "+":
                    result = add(num1, num2);
                    System.out.println(""+num1+operator+num2+"="+result);
                    break;
                case "-":
                    result = sub(num1, num2);
                    System.out.println(""+num1+operator+num2+"="+result);
                    break;
                case "*":
                    result = multi(num1, num2);
                    System.out.println(""+num1+operator+num2+"="+result);
                    break;
                case "/":
                    result = div(num1, num2);
                    System.out.println(""+num1+operator+num2+"="+result);
                    break;
                default:
                    System.out.println("输入无效");
                    break;
            }
            System.out.println("输入算式继续运算,输入字符则程序结束!");
        }

    }


    public static double add(double num1, double num2){
        return num1+num2;
    }
    public static double sub(double num1, double num2){
        return num1-num2;
    }
    public static double multi(double num1, double num2){
        return num1*num2;
    }
    public static double div(double num1, double num2){
        return num1/num2;
    }
}

运行结果

image

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » ch05 Java方法