java中的方法基础

本文详细介绍了Java中的方法,包括无参数返回值的方法、带参数的方法、带返回值的方法以及方法重载的概念。通过实例展示了如何定义和调用方法,强调了参数传递的区别,特别是基本数据类型和引用数据类型在方法中的行为。同时,解释了方法重载的条件,即同名方法间参数的不同。
摘要由CSDN通过智能技术生成

java中的方法

方法: 将具有独立功能的代码块组织为一个整体,使其成为独立的功能集

无参数返回值的方法

最基础的方法, 就是执行一段代码, 定义格式: public static void 方法名 () {}

public class MethodDemo01 {
	public static void main(String[] args) {
		// 调用方法
		fn();
	}
	// 定义一个方法, 作用是输出一个HelloWorld
	public static void fn () {
		System.out.println("HelloWorld");
	}
}

方法必须先创建才能使用, 方法创建后不会直接运行, 需要手动调用。

有参数的方法

带参数的方法,可以在定义方法时设定参数,调用时传入。 定义格式: public static void 方法名(参数1,参数2) {方法体}
参数:方法定义时设定的变量, 在调用时传入。格式: int a, 多个参数用,隔开

/*
	完成一个方法, 输出传入两个整数中最大的数。
*/

public class MethodDemo2 {
	public static void main(String[] args) {
		int num1 = 10;
		int num2 = 20;
		// 方法调用,传入参数
		outMax(num1, num2);	
	}
	// 定义方法和参数 多个参数用 , 隔开
	public static void outMax(int a, int b) {
		if (a > b) {
			System.out.println(a);
		} else {
			System.out.println(b);
		}
	}
}

形参: 方法定义时的参数, 相当于变量的定义;
实参:方法在调用时传入的传入, 相当于为变量赋值;

带返回值的方法

带返回值的方法, 方法执行后会返回数据, 可以用变量接收。定义格式:public static 返回类型 方法名(参数) {方法体}
返回值: 方法执行后返回的数据, 可以用变量接收。

/*
	完成一个方法,返回两个数之和
*/
public class MethodDemo03 {
	public static void main(String[] args) {
		int num1 = 10;
		int num2 = 15;
		// 调用方法, 使用变量接收返回值
		int num3 = sum(num1, num2);
	}
	// 定义一个 返回值 为int 类型的方法, 接收两个int 类型的数, 将两个数的和返回
	public static int sum(int a, int b) {
		return a + b;
		// return 是方法中用来返回数据的关键字
	}
}

带返回值的方法:定义时要明确返回的数据类型,且用return 返回数据。如果没有返回数据使用 void。
return 返回的数据, 类型必须与定义的类型一致。

方法概述

方法数据定义通用格式

public static 返回类型 方法名(参数) {
	...方法体
	//如果数据类型非void	
	//return 数据;
}

定义解析:

  • public class: 修饰符, 暂不讲解
  • 返回类型:方法执行后返回数据的类型
  • 方法名: 方法调用时的标识, 可以理解为变量名
  • 参数: 数据类型 变量名。多个参数用 , 隔开 作用是接收调用是传入的数据
  • 方法体: 方法的功能代码
  • return: 方法返回数据的关键字 返回的数据与定义的返回类型要一致

定义方法:
1.明确返回值: 主要是明确是否有返回值, 没有则用void, 有则要明确返回值的类型。
2.明确参数: 主要是明确参数的数量和类型

调用方法:
1.有无返回值: void类型的方法直接调用即可, 非void类型使用变量接收返回值。
2.传入参数的类型和个数和定义时要一致。

方法重载

方法重载的概念: 同一个类中定义的同名方法之间的关系。
重载的条件:

  • 在同一个类中定义
  • 方法名相同
  • 方法的参数不同, 参数类型或参数个数不同
public class Overloading {
	public static void mian(String[] args) {
	
	}
	// 正确的重载
	public static int fn(int a) {
		return a;
	}
	public static double fn(double a) {
		return a;
	} 
	// 错误的重载, 参数相同不是重载
	public static int err(int a) {
		return a;
	}
	public static double err (int a) {
		return a;
	} 
}

总结: 同一个类中, 名字相同的方法, 参数不同就是方法重载, 调用时根据参数进入不同的方法中。

方法中的参数传递

基本数据类型存储在栈内存中, 传递到方法中, 在方法中修改不会影响原数据。
引用数据内容传递的是指针,数据存储在堆内存中, 如果在方法中操作堆的数据, 原数据改变。

public class ArgsDemo {
	public static void main(String[] args) {
		// 基本数据类型
		int a = 100;
		System.out.println(a); // 100
		fn1(a);
		System.out.println(a); // 100;
		int[] arr = {100, 200, 300};
		System.out.println(arr[0]); // 100
		fn2(arr)
		System.out.println(arr[0]); // 200
	}
	public static void fn1(int a) {
		a = 200;
	}
	public static void fn2 (int[] arr) {
		arr[0] = 200;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值