Java方法介绍

本文详细介绍了Java中的方法定义、调用及参数传递。讲解了方法的格式、返回值类型、参数列表、方法体、return语句的使用,以及方法的调用方式,包括赋值调用和输出调用。此外,还探讨了方法的重载概念,展示了如何通过参数个数或类型实现方法重载。最后,讨论了方法参数的实质,强调了基本类型和引用类型参数的区别。通过实例代码加深理解,帮助读者掌握Java方法的运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述


其实就是是完成特定功能的代码块,也就是其他语言中的函数

格式


定义格式

修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,参数类型 参数名3…)
  {

​           方法体;

​            return 返回值;

        ​ }

代码演示

public class MethodDemo{
	public static void main(String[] args) {
		//如何调用方法
		//应该根据方法名来调用
		//sum();
		//调用方法名不仅要看方法名,还要看方法的参数(个数和类型)
		//sum(10,50);单独调用没有意义
		
		//因为该该方法返回了一个int类型的值,所以我们应该用一个int类型的变量接收
		//赋值调用
		int result = sum(10,50);//把10和50分别赋值给参数列表中的a,b
		System.out.println(result);
		
		//输出调用
		System.out.println(sum(10,50));
	}
	
	/*
	 * 求两个数据和的方法
	 */
	public static int sum(int a,int b) {
		int c =a+b;//求出c
		return c;//返回c给sum(10,50)
	}
}

格式解释

修饰符: 修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型

返回值类型: 用于限定返回值的数据类型

方法名: 方便我们调用的名字,没啥特别要求,尽量见名知意

参数类型: 用于接收调用方法时传入的数据的类型

参数名: 用于接收调用方法时传入的数据的变量

方法体: 完成功能的代码块,与普通的一样

return: 结束方法,把返回值带给调用者

图解

图解

定义方法注意事项


两个明确:

  • 返回值类型:也就是要求我们明确方法返回的结果的数据类型
  • 参数列表:也就是要求我们明确有几个参数,并且知道这些参数是什么类型的

注意:方法与方法是平级关系,不能嵌套定义

方法的调用


有明确返回值的方法调用

  • 单独调用 (没有意义)
  • 输出调用,有意义,但是此方式必须把结果给输出,直接输出没法对结果再处理
  • 赋值调用,此方法就可以对结果处理后再输出(建议使用)

没有明确返回值的方法调用(返回值类型为void)只能单独调用

public class MethodDemo {
	public static void main(String[] args) {
		//单独调用
		print();//注意哈
		
		//输出调用
		//System.out.println(print );有错误因为输出为void,无法输出
		
		//赋值调用
		//void v =ptint();也是不可以的

	}
	public static void print() {
		for(int i=1;i<=10;i++) {
			System.out.println("HelloWorld");
		}
		
	} 
}

注意:虽说其没有明确返回值,但是返回值类型你却不能不写,应写为void

方法的重载


概述

在同一个类中,允许存在一个以上的同名方法,只要其参数个数或者参数类型不同即可

特点

  • 与返回值类型无关,只看方法名和参数类型
  • 在调用时,虚拟机通过参数列表的不同来区分同名方法

参数列表不同:

  • 参数的个数不同
  • 参数对应的数据类型不同
  • 参数的位置也就是顺序不同

代码演示

public class MethodDemo {
	public static void main(String[] args) {
		//定义两个变量
		int a=10;
		int b=20;
		
		//求和
		int result = sum(a,b);
		System.out.println("result:"+result);
		
		//定义变量
		int c=30;
		int  result2 = sum(a,b,c);
		System.out.println("result2:"+result2);
	}
	//求两个数据的和
	public static int sum(int a,int b){
		/*int c = a+b;
		return c;*/
		return a+b;
	}
	
	public static float sum(float a,float b) {
		return a+b;
	}
	
	
	//求三个数据的和
	/*public static int sum2(int a,int b, int c) {
		return a+b+c;
	}*/
	public static int sum(int a,int b,int c) {
		return a+b+c;
	}
}

  • 输出结果
result:30
result2:60

方法的传参


形式参数:

用于接收实际参数的变量,方法参数列表中的变量(就是我们在定义方法时,小括号内的参数名)

实际参数:

实际参与运算的数据,传递的变量(调用方法时传入方法的数据)

注意:
      基本数据类型作为方法的参数,形式参数的改变不影响实际参数
      引用数据类型作为参数传递,形式参数的改变直接影响实际参数
      基本数据类型传递的是值,引用数据类型的是地址

补充

1.基本数据类型:
  ①整数类型:long、int、short、byte
  ②浮点类型:float、double
  ③字符类型:char
  ④布尔类型:boolean
2. 引用数据类型:

类、 接口类型、 数组类型、  注解类型、 字符串型等

代码演示

/*
 * 基本数据类型作为参数传递,形式参数的改变不影响实际参数
 * 引用数据类型的参数传递,形式参数的改变直接影响实际参数
 */
public class ArgsDemo02{
	public static void main(String[] args) {
		int[] arr = {1,2,3,4,5};
		for(int i=0;i<arr.length;i++) {
			//不换行输出,除了最后一个数外,每个数在输出时在其后加一个","
			if(i<arr.length-1) {
				System.out.print(arr[i]+",");
			}else {
			System.out.print(arr[i]);
			}
		}
		System.out.println();//换行
		change(arr);
		for(int i=0;i<arr.length;i++) {
			if(i<arr.length-1) {
				System.out.print(arr[i]+",");
			}else {
			System.out.print(arr[i]);
			}
			
		}
	}

	private static void change(int[] a) {
		for(int i=0;i<a.length;i++) {
			if(a[i]%2==0) {
				a[i]*=2;
			}
		}
	}
}

输出结果

1,2,3,4,5
1,4,3,8,5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值