java方法

  • 方法是语句的结合,他们在一起执行一个功能

  • 方法包含于类和对象中

  • 方法在程序中被创建,在其他地方被引用

  • 原则: 一个方法只完成一个功能

  • 类似于其它语言的函数,完成特定功能的代码

  • 方法所有部分: 修饰符 返回值类型 方法名(参数类型 参数名){

    方法体

    return 返回值;

    }

  • 方法调用

    调用方法:对象名.方法名(实参列表)

    调用方式:

  • 当方法返回一个值的时候,方法调用常被当做一个值。

    int larger =max(30,40);

  • 如果方法返回值是void,方法调用一定是一条语句

    System.out.println("hello,world");

  • 值传递(java)引用传递

    package method;
    
    public class Demo02 {
        public static void main(String[] args) {
            int sum = sum(0);
            System.out.println(sum);
        }
        public static int  sum ( int result) {
            for (int i = 0; i <= 100; i++) {
                result+=i;
            }
                return result;
            }
    }

方法重载

  • 定义: 一个类中,有相同的函数名称,但形参不同的函数

  • 规则:

    • 方法名称必须相同

    • 参数列表必须不同(个数不同,或类型、参数排列顺序不同)

    • 方法返回类型可以相同也可以不同

    • 如果只是返回类型不同不能叫做方法重载

package method;

public class Demo01 {
    public static void main(String[] args) {
        int sum = add(1, 2,3);
        System.out.println(sum);
    }
    public static int add(int a,int b){
        return a+b;
    }
    public static double add(double a,int b){
        return a+b;
    }
    public static int  add(int a,int b,int c) {
        return a + b+c;

    }

}

 

命令行传参

  • 在程序运行的时候给他传递消息,靠传递命令行参数给main()函数实现

可变传参

  • java支持传递给同类型的可变参数给一个方法

  • 在方法的声明中,在指定的参数类型后加一个省略号(...)

  • 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数;任何普通参数必须在它之前说明

package method;
public class Demo04 {
    public static void main(String[] args) {
        Demo04 demo04 = new Demo04();
        demo04.test(1,2,3);
    }
   public  void test(int x,int...i){
       System.out.println(i[0]);
       System.out.println(i[1]);
       System.out.println(x);
   }
}

 

 

递归

  • A方法调用A方法,自己调用自己

  • 递归在于用有限的语句来定义对象的无限集合

  • 递归结构:

    • 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环

    • 递归体:什么时候需要调用自身方法

package method;

public class Demo06 {
    //3! 3*2*1
    public static void main(String[] args) {
        System.out.println(f(5));

    }
    public static int f(int n){
        if (n==1){
            return 1;
        }else {
            return n*f(n-1);
        }
    }
}

 

 

练习:

  • 写一个计算器,要求实现加减乘除,并且能够循环接收新的数据,通过用户交互实现

  • 思路:

    • 写四个方法:加减乘除

    • 利用循环+switch进行用户交互

    • 传递需要的操作的两个数

    • 输出结果

package method;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        System.out.println("1.加法运算");
        System.out.println("2.减法运算");
        System.out.println("3.乘法运算");
        System.out.println("4.除法运算");
        System.out.println("请选择要进行的运算:");
        Scanner scanner = new Scanner(System.in);
        int x=scanner.nextInt();
        switch (x){
            case 1:
                add();
                break;
            case 2:
                minus();
                break;
            case 3:
                mcltiply();
                break;
            case 4:
                divide();
                break;
        }
    }

    public static void add() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数字:");
        double a = scanner.nextDouble();
        double b = scanner.nextDouble();
        System.out.println((a + b));
    }

    public static void  minus() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数字:");
        double a = scanner.nextDouble();
        double b = scanner.nextDouble();
        System.out.println((a-b));
    }

    public static void  mcltiply() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数字:");
        double a = scanner.nextDouble();
        double b = scanner.nextDouble();
        System.out.println((a*b));
    }

    public static void divide() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数字:");
        double a = scanner.nextDouble();
        double b = scanner.nextDouble();
        System.out.println((a/b));
    }
}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值