什么是方法

方法

方法定义、调用

Java方法是语句的集合,它们在一起执行一个功能

原子性:一个方法只完成一个功能。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dEJ2z92j-1627356762407)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210727095402446.png)]

修饰符:定义方法的访问类型。

返回值类型: 方法可能会返回值。没有返回值时,返回值类型是关键字void。

return:也可以用来终止方法。

方法名:方法的名称。

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

方法体:代码语句,定义该方法的功能。

形参和实参

  • 形式参数:在方法被调用时用于接收外界输入的数据。
  • 实参:调用方法时实际传给方法的数据。
public class Demo01 {
	public static void main(String[] args) {
		// 10和33 是实际的参数,实际调用给a b
		int sum = add(10,33,10,10);
		
		System.out.println(sum);
			
	}
	//a和b 形式参数,用来定义
	public static int add(int a,int b) {
		return a*b;
	}
	
	public static int add(int a,int b,int c) {
		return a*b*c;
	}
	
	public static int add(int a,int b,int c,int d) {
		return a*b*c-d;
	}
}

值传递和引用传递

java是值传递

方法重载:

在一个类中,有相同的函数名称,但形参不同的函数。

package method;
//  方法重载
public class Demo02 {
public static void main(String[] args) {
	int max = max(20.1,10.99);
	
	System.out.println(max)	;
}

	public static int max(int num1,int num2) {
		int result =0;
		
		if(num1==num2) {
			System.out.println("num1==num2");
			return 0;   //return 终止程序
		}
		
		if(num1>num2) {
			 result = num1;
		}else {
			result = num2;
		}
		
		return result;  // 返回值
	}
	public static int max(double num1,double num2) {
		int result =0;
		
		if(num1==num2) {
			System.out.println("num1==num2");
			return 0;   //return 终止程序
		}
		
		if(num1>num2) {
			 result =(int) num1;
		}else {
			result =(int) num2;
		}
		return result;  // 返回值
	}
}

方法重载规则

  1. 方法名称必须相同

  2. 参数列表(类型不同或参数数量不同或参数排列顺序不同)必须不同

可变参数

也叫 不定项参数。

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

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

//可变参数
public class Demo04 {
	public static void main(String[] args) {
		
		Demo04 demo04 = new Demo04();
		demo04.test(1,2,3,43,5,6);
	}
	
	public void test(int... i) {
		System.out.println(i[0]);
		System.out.println(i[1]);
		System.out.println(i[2]);
		System.out.println(i[3]);
		System.out.println(i[4]);
		System.out.println(i[5]);
	}
}

递归

就是A方法调用A方法,自己调用自己。

调用自身的时候可以用.

结构包括两个部分

  • 递归头:什么时候不调用自身方法,如果没有,将陷入死循环。
  • 递归体:什么时候调用自身方法。
public class Demo05 {
public static void main(String[] args) {
	System.out.println(f(5));
	
}
    //阶乘方法 f
// 递归 思想
	public static int f(int i) {
		if(i==1) {                 //边界条件  i==1
			return 1;
		}else {                    //前阶段
			return i*f(i-1);       //返回阶段 调用自身 
		}
	}
}

练习

计算器

public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in );
		System.out.println("请输入第一个参与运算的数字:");
		double num1 = 0;
		double num2 = 0;
		double d = 0;
		num1 = scanner.nextInt();
		System.out.println("请输入运算符:");
		
		String c = scanner.next();
		System.out.println("请输入第二个参与运算的数字:");
		num2 = scanner.nextInt();
		
		switch(c) {
		case"+":d = add(num1,num2);
		break;
		case"-":d = subtraction(num1,num2);
		break;
		case"*":d = multiplication(num1,num2);
		break;
		case"/":d = division(num1,num2);
		break;
		}
		System.out.println("运算结果为:"+ d);
		scanner.close();
	}
	//加法
	public static double add(double a, double b){
	    return a+b;
	}
	//减法
	public static double subtraction(double a,double b){
	    return a-b;
	}
	//乘法
	public static double multiplication(double a,double b){
	    return a*b;
	}
	//除法
	public static double division(double a,double b){
	    return a/b;
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值