方法
定义
System.out.print();
System是一个类,out是一个对象,print是一个方法
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或对象中
- 方法在程序中被创建,在其他地方被引用
方法包含一个方法头一个方法体。
-
修饰符:定义该方法的访问类型 ,public,private,protected,static(类变量,类方法,可以被全局调用)
-
返回值类型
-
方法名
-
参数类型
- 形式参数
- 实际参数
-
方法体
方法调用
调用方法:对象名.方法名(实参列表)
两种调用方式
当方法返回一个值的时候
int larger = max(10,40);
当方法返回值是void,方法调用就是一条语句
System.out.print("Hello,World!!")
方法重载
重载就是在一个类中,有相同的函数名称,但形参不同的函数
方法的重载的规则:
- 方法名称必须相同
- 参数列表必须不同(个数不同,类型不同,参数排列顺序不同等)
- 方法的返回类型可以相同也可以不相同
- 仅仅返回类型不同不足以成为方法的重载
命令行传参
public class scanner {
public static void main(String[] args) {
for(int i=0;i<args.length;i++){
System.out.print("args["+i+"]"+args[i]);
}
}
}
可变参数
public class scanner {
public static void main(String[] args) {
MaxNum( 76.0,24.4,23.5,45.1);
MaxNum(new double[]{77,9,10,2});
}
public static void MaxNum(double... numbers){
if(numbers.length==0){
System.out.println("No Numbers!!!");
}else{
double result = 0;
for(int i=0;i<numbers.length;i++){
if(numbers[i]>result){
result = numbers[i];
}
}
System.out.println("最大值:"+result);
}
}
}
//可变参数
public static void MaxNum(double... numbers)
//参数列表中double后面跟着的...表示输入的numbers个数未知
MaxNum(...numbers: 76.0,24.4,23.5,45.1); //与参数列表类似,以此来传参
MaxNum(new double[]{77,9,10,2}); //numbers本质是数组,所以可以通过数组来传参
递归
-
递归头:退出条件
-
递归体:执行语句
运行递归占用的内存较大,不建议使用
public class scanner {
public static void main(String[] args) {
System.out.println(f(5));
}
public static int f(int temp){
if(temp==1){
return 1;
}else{
return temp*f(temp-1);
}
}
}