百木园-与人分享,
就是让自己快乐。

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


来源:https://www.cnblogs.com/mrmary/p/16422641.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » ch05 Java方法

相关推荐

  • 暂无文章