Java(SE)基础六 方法
方法是就是解决事情的办法,具有封装的功能。方法是在类中方法外,方法不能嵌套,需要我们调用才可以执行。
方法的定义
1> 有返回值类型的方法
**修饰符 返回值类型 **方法名(参数列表){
方法体
return 返回值;
}
2>没有返回值类型的方法
修饰符 void 方法名(参数列表){
方法体
}
修饰符:访问权限修饰符,目前暂时先写为 public static。之后会学习更多的修饰符的。
返回值类型:就是数据类型,包括基本类型和引用类型。void是没有返回值。
有返回值类型的方法 必须配合return一起使用,把返回值返回给方法的调用出
方法名:遵循标识符的命名规范和规则
参数列表:可以根据实际需求定义参数,这里的参数是形参。
方法体:实现功能的具体代码。
return:带出返回值,提前结束方法
public static void main(String[] args) {
int area = getArea(5,7); //方法调用 赋值调用
System.out.println(area);
System.out.println(getArea(5,7));//输出调用
}
//求矩形的面积(有返回值得)
public static int getArea(int w,int h){
return w*h;
}
public static void main(String[] args) {
equile1(3,4);//普通调用
}
//无返回值得方法
public static void equile1(int a,int b){
if(a==b){
System.out.println("相等");
}else{
System.out.println("不相等");
}
}
参数
形式参数(形参):定义方法时()中的参数 : 局部变量的声明
实际参数(实参):调用方法时()中的数据 : 局部变量的赋值
形参和实参类型,个数,顺序必须一一对应
重载
同一个类中的多个方法,方法名相同,参数列表不同
一个类中方法的重载是多态的一种体现
一个类中的方法就是封装的一种体现
//长方形的面积
public static int areas(int a,int b ){
System.out.println("长方形的面积");
int s = a*b;
return s;
}
//正方形的面积
public static int areas(int a ){
System.out.println("正方形的面积");
int s = a*a;
return s;
}
//梯形的面积
public static double areas(int a,int b,int h){
System.out.println("梯形的面积");
double s = (a+b)*h/(double)2;
return s;
}
//圆形的面积
public static double areas (double r){
System.out.println("圆形的面积");
final double PI = 3.14;
double s = PI * r*r;
return s;
}
递归
递归就是自己调用自己。
递归前进段 : 从开始自己调用自己到临界条件,过程称为递归前进段
递归后退段 : 从临界条件开始返回到上一层,过程称为递归后退段
临界条件: 停止自己调用自己的条件
简单的程序是递归的优点之一。但是递归调用会占用大量的系统堆栈,内存耗用
多,在递归调用层次多时速度要比循环慢的多。所以在使用时要慎重。
public class Text001 {
public static void get(int i){
//打印n行的乘法表(用递归)
//增强程序健壮性
if(i>0){
if(i==1){
System.out.println("1*1=1");
return;
}
//前i-1行已经打印出来了
get(i-1);
//第i行
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println(); //换行
}else{
System.out.println("内存溢出!!!!!");
}
}
}
学习了方法,我们就可以更加方便的实现一些功能,我们也会在学习的路上前进一大步。