Java方法

这篇博客介绍了Java编程的基础概念,包括方法的定义与调用,方法的重载,命令行参数的使用,可变参数的概念以及递归的原理。示例中展示了如何实现一个简单的比大小方法、加法和乘法方法的重载,以及通过命令行参数接收输入。此外,还提供了一个简单的无限循环计算器的实现,能够进行加减乘除运算,并设有退出条件。博客深入浅出地讲解了Java编程的核心要素,是初学者入门的好资料。
摘要由CSDN通过智能技术生成

1简单方法

public class Demo01 {
    //主方法
    public static void main(String[] args) {
        hello();
    }
    //简单输出helloworld的方法
    public static void hello(){
        System.out.println("hello world");
    }
}

2方法的定义和调用

2.1方法的定义

请添加图片描述

2.2方法的调用

请添加图片描述

public class Demo02 {
    //比大小
    public static void main(String[] args) {
        int s = test(10,2222);
        System.out.println(s);

    }
    public static int test(int a,int b){
        if(a==b){
            return 0;
        }
        if(a>b){
            return a;
        }else{
            return b;
        }
    }
}

3方法的重载

请添加图片描述

  • 比大小方法重载
public class Demo03 {
    //方法的重载
    public static void main(String[] args) {
        double x = test(10.0,20.9);
        System.out.println(x);
    }

    //比大小 int类型
    public static int test(int a,int b){
        if(a==b){
            return 0;
        }
        if(a>b){
            return a;
        }else{
            return b;
        }
    }
    //比大小 double类型
    public static double test(double a,double b){
        if(a==b){
            return 0;
        }
        if(a>b){
            return a;
        }else{
            return b;
        }
    }

}
  • 加法方法重载
public class Demo04 {
    public static void main(String[] args) {
        int c = add(1,23,4);
        double x = add(2.4,123.2);
        System.out.println(c);
        System.out.println(x);
    }
    //add方法1
    public static int add(int a,int b){
        return a+b;
    }
    //add方法2
    public static int add(int a,int b,int c){
        return a+b+c;
    }
    //add方法3
    public static double add(double a,double b){
        return a+b;
    }
}

4命令行传参

当你希望运行一个程序时再传递给它消息,这时候靠传递命令行参数给main()方法去进行

public class Demo05 {
    public static void main(String[] args) {
        int i = 0;
        for(i=0;i< args.length;i++){
            System.out.println(args[i]);
        }
    }
}
  1. 先编译生成.class文件
    请添加图片描述
  2. 必要要退回src命令,java命令运行时加上包名
  • 若不退回
    请添加图片描述
  • 退回后
    请添加图片描述

5可变参数

请添加图片描述

  • 防止编写方法时,使用方法的重载太多次
  • 疑问 为什么numbers里面的length可以直接使用呢??
public class Demo06 {
    public static void main(String[] args) {
       test(1,2,34,5,5,3.3,4444,3);
       test(1,23,4,5,66666,3,3);
    }
    // 疑问 为什么numbers里面的length可以直接使用呢??
    public static void test(double...numbers){
        //实现一个求最大数
        //使用哨兵法
        double result = 0;
        for(int i =0 ; i < numbers.length ; i++ ){
            if (numbers[i] > result){
                result = numbers[i];
            }
        }
        System.out.println(result);
    }
}

6递归

  • 面试高频率考点
    请添加图片描述
  • 阶乘代码的具体实现
import java.util.Scanner;
public class Demo07 {
    public static void main(String[] args) {
        //递归的本质: 自己调用自己
        //阶乘的计算

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数字:");
        int k = scanner.nextInt();
        System.out.println(k+"的阶乘是:"+f(k));
        
    }
    public static int f(int i){
        if(i==1){
            return 1;
        }else{
            return i*f(i-1);
        }
    }
}

7作业:计算器的实现

  • 实现思路
  • 所实现的计算器要求一直在待运行状态,计算完成后还可以使用
    请添加图片描述
package com.kuang.method;

import java.util.Scanner;

public class Demo08 {

    //计算器
    public static void main(String[] args){


        while(true){
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入第一个数字: ");
            double a = scanner.nextDouble();
            //设置计算器的关机密码 9999
            if(a == 9999){
                System.out.println("关机成功");
                break;
            }

            System.out.println("请输入第二个数字: ");

            double b = scanner.nextDouble();


            System.out.println("请输入运算:+ - * /:");

            String op = scanner.next();
            switch (op){
                case "+":
                    System.out.println(add(a,b));
                    break;
                case "-":
                    System.out.println(jian(a,b));
                    break;
                case "*":
                    System.out.println(cheng(a,b));
                    break;
                case "/":
                    System.out.println(chu(a,b));
                    break;
            }
            System.out.println("------------");
        }

    }
    //加法
    public static double add(double a,double b){

        return a+b;
    }
    //减法
    public static double jian(double a,double b){

        return a-b;
    }
    //乘法
    public static double cheng(double a,double b){

        return a*b;
    }
    //除法
    public static double chu(double a,double b){

        return a/b;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值