JavaSE(六) ——方法,方法重载

一. 方法

在这里插入图片描述

1.1 方法的声明格式

语法:
访问权限修饰符  其他修饰符  返回值类型  方法名称(参数列表) {
		//方法体【函数体】
		return 返回值;//如果返回值类型void ,可以不用写return
}

1.2 方法的分类

根据方法有没有参数,可分为:
1.无参方法
2.有参方法
根据有没有返回值,可分为:
1.无返回值方法
2.有返回值方法

1.3 方法的调用

1.3.1 无参数无返回值方法调用

在这里插入图片描述

1.3.2 无参数有返回值方法调用

调用方法,在方法前面定义变量,接收方法返回值
在这里插入图片描述

1.3.3 有参数无返回值方法调用

在这里插入图片描述

1.3.4 有参数有返回值方法调用

在这里插入图片描述

1.3.5 有参数有返回值方法调用

在输出语句中调用方法, System.out.println( 方法名()) 。

public static void main(String[] args) {
   System.out.println(getSum(5,6));  
}
public static int getSum(int a,int b) {
   return a + b; 

不能用输出语句调用 void 类型的方法。因为方法执行后没有结果,也就打印不出任何内容。

 public static void main(String[] args) {
   System.out.println(printHello());// 错误,不能输出语句调用void类型方法  
}
public static void printHello() {
   System.out.println("Hello");  
}

1.3.6 static修饰和没有static修饰

没有static修饰
在一个类中直接调用方法名
不在一个类中用 类名.方法名调用

在这里插入图片描述
有static修饰
在一个类中如果在static修饰的方法中调用要先实例化对象,然后 对象.方法 调用,如果没有static修饰,直接调用
如果不在一个类中,要先实例化对象,然后 对象.方法 调用

在这里插入图片描述

二. 方法重载

2.1 方法重载的概念

同一个类中,方法名字相同,参数列表不同,则是方法重载。

参数列表的不同包括,参数个数不同,参数数据类型不同,参数顺序不同

自我总结:只要在满足方法名字相同,参数列表不同的情况下,修饰符和返回值可以随意修改

/演示方法的重载
//测试类
class TextDemo04{
public static void main(String[] args) {
		show("10");
		show("10",10);
	}
public static void show() {
		System.out.println("无参无返回值的show");
	}
public static void show(int a) {
		System.out.println("int的show");
	}
public static void show(String a) {
    	System.out.println("String的show");
	}
public static void show(String a,int b) {
    	System.out.println("String int的show");
	}
}

三. 递归算法

既然说了方法的调用,就不得不提递归

3.1 递归算法的概念

在一个方法的方法体内调用该方法本身,称为方法的递归。简单理解自己调用自己。
方法递归包含了一种隐式的循环,会重复执行某段代码,但是这种重复不需要使用循环语句来进行控制

出现问题: StackOverFlowError 栈空间溢出异常,所以递归不能一直运行,一定要有结束条件。

3.2 递归算法的案例

递归算法的求10的阶乘应该是经典的题了,只要会了它,你就已经掌握了 递归算法的精髓(这句话我觉得我好像在哪写过。。。)

public class Demo4{
public static void main(String[] args){
		int result=jiecheng(10);
		System.out.println(result);
	}
public static int jiecheng(int num){
		if(num==1){
				return 1;
		}else{
		return jiecheng(num-1)*num;
		}
	}
}

在这里插入图片描述
说白了就是反复低调用自己,最后在遇到终止条件时,由内而外返回出值,最后得到最终的值
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值