方法的定义使用,方法重载及方法的递归调用
【摘要】
方法
1.方法的定义与使用2.方法的重载3.方法的递归调用3.1栈溢出
1.方法的定义与使用
定义一个没有参数值,没有返回值的方法定义一个有参数无返回值的方法定义 有返回值,有参...
1.方法的定义与使用
- 定义一个没有参数值,没有返回值的方法
- 定义一个有参数无返回值的方法
- 定义 有返回值,有参数的方法
package Method;
public class TestDemo {
public static void main(String[] args) {
prinfinfo();
Love(13.14);
Love(99.99);
double result=Seeyou(520 , 0.1314);
System.out.println("今天过来看你"+result);
System.out.println("明天来看你"+Seeyou(13, 0.14));
}
// 定义一个没有参数值,没有返回值的方法
public static void prinfinfo() {
System.out.println("你好");
}
//定义一个有参数无返回值的方法
private static void Love(double love) {
if (love == 13.14) {
System.out.println("永恒的爱");
} else {
System.out.println("童话里的故事都是骗人的");
}
}
//定义 有返回值,有参数的方法
protected static double Seeyou( double x,double y) {
return x+y;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
2.方法的重载
方法的重载 是指方法名名称相同,参数的类型与个数不同,调用的时候,返回的结果也就不同
package Method;
public class TestDemo02 {
public static void main(String[] args) {
System.out.println("两个整数型"+add(10,20));
System.out.println("两个浮点型"+add(10.0,20.0));
System.out.println("一个整数型,一个浮点型"+add(10.0,20));
System.out.println("三个浮点型"+add(10.0,20.0,30.0));
}
public static int add(int a,int b) {
return a+b;
}
public static double add(double a,int b) {
return a+b;
}
public static double add(double a,double b) {
return a+b;
}
public static double add(double a,double b,double c) {
return a+b+c;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
3.方法的递归调用
方法的递归调用在数据结构开发中经常用到,但是实际开发中会很少应用,毕竟,不合理的应用会导致内存的溢出。
package Method;
public class TestDemo03 {
public static void main(String[] args) {
System.out.println(sum(100));
}
public static int sum(int num) {
return num+sum(num-1);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
3.1栈溢出
但是这样会出现栈溢出的错误
Exception in thread “main” java.lang.StackOverflowError
最后解决办法就是加了一个条件判断
package Method;
public class TestDemo03 {
public static void main(String[] args) {
System.out.println(sum(100));
}
public static int sum(int num) {
if (num == 1) {
return 1;
}
return num + sum(num - 1);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
文章来源: jianguo.blog.csdn.net,作者:坚果前端の博客,版权归原作者所有,如需转载,请联系作者。
原文链接:jianguo.blog.csdn.net/article/details/106507082
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)