01方法
能够完成某一项功能的代码,类似于其它语言的函数,只不过面向对象,洗心革面,换了个更好听的名字。
方法的具体格式如下:
修饰符 返回值类型 方法名称(参数类型 参数名称,....) {
执行语句;
return 返回值;
}
public class Demo {
//一个打印矩形的方法
public static void printRectangle(int height, int width){
for(int i=0; i<height; i++){
for(int j=0; j<width; j++){
System.out.print("* ");
}
System.out.print("\n");
}
}
public static void main(String[] args){
printRectangle(3, 3);
System.out.print("---------------分割线---------------\n");
printRectangle(5, 5);
}
}
结果
* * *
* * *
* * *
---------------分割线---------------
* * * * *
* * * * *
* * * * *
* * * * *
* * * *
02方法重载
所谓的方法重载指的是Java允许同名的方法存在,但是要求参数的类型或者个数必须不同。
public class Demo {
/*以下方法名称都相同*/
public static int add(int a, int b){
return a+b;
}
/*方法重载:数据类型不同*/
public static double add(double a, double b){
return a+b;
}
/*方法重载:传入参数个数不同*/
public static int add(int a, int b, int c){
return a+b+c;
}
public static void main(String[] args){
int x = add(1,2);
double y = add(1.0, 2.0);
int z = add(1, 2, 3);
System.out.println("x:"+x);
System.out.println("y:"+y);
System.out.println("x"+z);
}
}
结果
x:3
y:3.0
x6
03方法递归
方法的递归指的是一个方法的内部自身调用自己的过程,需要指出的是方法递归必须要有结束条件,否则会陷入永远递归,无限调用,根本就停不下来的节奏。
public class Demo {
/*计算1到n的自然数之和*/
public static int sumGet(int n){
if(n == 1){
return 1;
}
int sum = sumGet(n - 1);
return sum + n;
}
public static void main(String[] args){
int x = sumGet(100);
System.out.println("x:"+x);
}
}
结果
x:5050