Java方法的详细介绍

1405-杜同学

发表文章数:11

热门标签

,
首页 » Java » 正文

概述


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

格式


定义格式

修饰符 返回值类型 方法名(参数类型 参数名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: 结束方法,把返回值带给调用者

图解

Java方法的详细介绍

定义方法注意事项


两个明确:

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

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

方法的调用


有明确返回值的方法调用

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

没有明确返回值的方法调用(返回值类型为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

未经允许不得转载:作者:1405-杜同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《Java方法的详细介绍》 发布于2020-11-15

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录