Java 方法

方法的定义与调用

  • 定义:Java 的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法的语法为:

    修饰符 返回值类型 方法名(参数类型 参数名){
    	...
    	方法体
    	...
    	return 返回值;
    }
    
    • 修饰符:可选,告诉编译器如何调用该方法,定义了该方法的访问类型。

    • 返回值类型:方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但是没有返回值,这种情况下,returnValueType 是关键字 void。

    • 方法名:数方法的实际名称。方法名和参数表共同构成方法签名。

    • 参数类型:参数想一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或者变量。参数列表是指方法的参数类型、顺序和参数个数。参数是可选的,方法可以不包含任何参数。

      • 形式参数:在方法被调用时用于接收外界输入的数据。
      • 实参:调用方法时实际传递给方法的数据。
    • 方法体:方法体包含具体的语句,定义该方法的功能。

    • 举例:

      public class Demo{
      	public static void main(String[] args){
      		int sum = add(1, 2);//实际参数:实际调用传递给方法的参数
      		
      		System.out.println(sum);
      	}
      	//定义方法 add
      	public static int add(int a,int b){
      		return a+b;
      	}
      }
      
  • 调用:

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

      • 当方法返回一个值时,方法调用通常被当作一个值。例如:

        int larger = max(30, 40);
        
      • 当方法返回值是 void,方法调用一定是一条语句

        System.out.println("Hello world!");
        

方法的重载

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

方法的传参

  • 如果希望运行一个程序时再给它传递消息,那么需要依靠传递命令行参数给 main()函数实现,如

    public class CommandLine{
    	public static void main(String args[]){
    		for(int i =0; i<args.length; i++){
    			System.out.println("agrs["+ i +"]"+args[i]);
    		}
    	}
    }
    

可变参数

  • JDK 1.5 开始,Java 支持传递同类型的可变参数给一个方法

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

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

    public static void main(String[] args){
    	printMax(34,3,3,2,56.5);
    	printMax(new double[]{1,2,3});
    }
      public static void printMax( double ... numbers){
        if (numbers.length == 0){
          System.out.println("No argument passed");
          return;
        }
    
        double result = numbers[0];
    
        for (int i =1;i<numbers.length;i++){
          if (numbers[i]>result) {
            result = numbers[i];
          }
        }
        System.out.println("The max value is"+ result);
      }
    

递归

  • 定义:递归是指方法自己调用自己

  • 结构:

    • 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
    • 递归体:什么时候需要调用自身方法。
    public class Test{
    	public static void main(String[] args){
    		System.out.println(f(4));//调用方法 f 来计算 4 的阶乘
    	}
    	//计算阶乘
    	public static int f(int n){
    		if (n==1){
    			return 1;
    		}else{
    			return n*f(n-1);
    		}
    	}
    }
    
posted @   初夏如霞  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
点击右上角即可分享
微信分享提示