第六章:方法
一.定义方法
1.定义方法语法:
修饰符 返回值类型 方法名(参数列表){
方法体;
}
2.注意
- 方法名和参数列表构成方法签名
- 定义是指定义的的条目是什么,而声明是指为声明的条目分配内存,用来存储数据
二.调用方法
1.注意
- 返回void的方法必须为单独的语句
- main方法和其他方法类似,不同之处在于有Java虚拟机直接调用
- main方法中的语句可以调用main所在类中的方法,也可以调用其他类中的方法
- 下面案例中虽然逻辑上是正确的,但是会编译错误
if(n>0) return 1;
else if(n==0) return 0;
else if(n<0) return -1;
//正确写法
if(n>0) return 1;
else if(n==0) return 0;
else return -1;
2.void方法
void方法不需要return语句,但是可以终止方法或返回方法的调用者
if(score<0||score>100)
System.out.println("分数必须在0-100之间");
return;
三.通过传值进行参数传递
1.实参的值传递给形参,无论形参如何变化,实参的值都不会变化
int x=3;
System.out.println(x);//3
add(x);//调用add方法
System.out.println(x);//3
}
public static int add(int a) {
return a+3;//返回a+3
}
2.注意
- 变量不能重复定义,在参数列表中有的参数不能再定义
四.重载方法
1.特点
具有相同的名字,不同的参数列表,根据方法签名选则执行哪个方法
2.注意
- 被重载的方法必须具有不同的参数列表
- 不能基于不同的修饰符和返回值来重载方法
- 三个参数的重载方法也可以调用两个参数的重载方法
public static double max(double a,double b,double c){
return max(max(a,b),c);
}
public static double max(double x,double y){
return x>y?x:y;
}
- 有时调用一个方法时,有两个或更多地匹配,会产生编译错误
max(3,2);
public static double max(int a,double b){
}
public static double max(double x,double y){
}
五.经典案例
1.提示用户输入一个整数,然后将数字倒置输出
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int x = in.nextInt();
int trans = transformation(x);
System.out.println(x + "->" + trans);
}
public static int transformation(int x) {
int result = 0;
while (x != 0) {
int y = x % 10;
x /= 10;
result = result * 10 + y;
}
return result;
}
六.总结
通过对本章的学习,我知道了如何定义一个方法,以及调用一个方法,通过传参进行参数传递,还懂得了重载和重载需要注意的地方。
加油!第七章待更……