java方法
什么是方法,现实生活中,我们把解决问题的方法称之为解决问题的方法。在java中也有方法,同样,它也是我们用来实现某种功能所设计的“方法”。
(一)方法的声明
我们想要使用方法,首先就要声明方法。在一前的学习中,实际上我们经常见到方法。虽然之前没有介绍,但是我们已经在使用了。比如System.out.println()语句中,println()就是一个方法。还有我们一直在写的main()方法。
通过方法我们把复杂的问题,分解成多个问题,逐个解决,形成独立的单元。也可以使程序更加简洁,易于维护。方法也体现了开发中封装的思想。封装我们后面会讲到。
1.1基本语法
[修饰符] 返回值类型 方法名([形式参数列表]){
程序代码;
[return 返回值;]
}
【修饰符】是可选的,用来定义访问类型,如我们见到的public(是指公开的,后面还会讲到其余的访问权限),也可以定义是否为静态:static。
返回值类型:方法执行结束后用来返回给调用者的数据。
如果方法中没有返回值,返回类型为void,此方法体现在方法体中没有【return】
若返回值类型为其他类型,则方法中必须有返回对应类型值的return语句
return有终止方法的作用。
形式参数:方法声明时规定的参数类型,个数,顺序。形参是可选的,方法可以不包含任何参数方法的参数范围涵盖整个方法,参数实际上是也属于局部变量。
命名原则:小驼峰原则。
设计方法时,注意形参列表和返回值
public void Eat(){
System.out.println("爱吃臭豆腐");
System.out.println("爱吃螺狮粉");
System.out.println("爱吃榴莲");
}
这就是一个无参无返回值的公共非静态类。
public static void dedngYao(int h){
for (int i = 0; i < h; i++) {
for (int a=h;a>i;a--)
{
System.out.print(" ");
}
for(int j=0;j<=i;j++){
System.out.print("*");
}
for (int b =1;b<=i;b++)
{
System.out.print("*");
}
System.out.println();
}
这是一个有参无返回值的方法,结合前面的循环可以试着分析一下这个代码。调用一下看看分析是否正确。
public static double zhouChang(double i){
double pi =3.14;
double l;
l=2*i*pi;
return l;
}
这是一个有参有返回值的方法,求的是圆的周长
public static String friedRiceWithEgg(){
return "空盘子";
}
这是一个无参有返回值的方法。
如果某些数据的变化会引起计算结果的改变,可以考虑将这些数据定义为方法的参数
如果开始不知道参数有哪些,那就先不定义,先完成方法,然后再找出参数
如果不能确定方法的返回值,那也先不定义,先完成方法,如果其他地方需要用到之前某些方法的返回数据,那就再去设置返回值
(二)方法的调用
2.1基本语法
1)如果方法的返回值是void
方法名(实参列表)
friedRiceWithEgg()
2)如果方法的返回值为其他类型。
数据类型 变量名 = 方法名(实参列表)
double v = zhouChang(3);
按上面的方法这是一个半径为三的圆的周长。
实际参数(实参):调用方法时实际传递给方法的数据
注意:我们现在写的方法,暂时都放在main()方法中调用
递归方法
递归的基本思想是方法自身调用自身
首先找到第n项,与第n-1项的规律,以此类推,将范围逐步缩小
当范围缩小到足够简单时,就可直接获得答案,而不必再调用自身,即递归调用的退出条件,否则将导致无限递归。
如非必要不建议使用递归方法。
public static int fun(int n) {
if (n==1){
return 1;
}
return n*fun(n-1);
}
这个方法求的是n的阶乘。递归方法就是在方法里调用自身。
递归一定要有结束条件,否则导致无限递归