Java学习Day10
方法
eg:System.out.println();
system代表类 out表示对象 printlin()是方法
设计方法原则:一个方法只能完成1个功能
方法命名规则:驼峰原则
方法的定义
结构:
修饰符 返回值类型 方法(参数类型 参数名){
…
方法体
return 返回值;
}
方法包含一个方法头和一个方法体:
- 修饰符:修饰符,这是可选的,告诉编译器如何调用方法,定义了该方法的访问类型
- 返回值类型:方法可能会返回值。returnValueType是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType是关键字void。
- 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
- 方法体:方法体包含具体的语句,定义该方法的功能。
- 参数类型:参数像一个占位符,是可选的,方法可以不包含任何参数。
1.形势参数:用来定义作用
2.实际参数:实际调用传递给系统的参数
public class JoJo {
public static void main(String[] args) {
int max = max(10, 20);//调用方法max
System.out.println(max);
//输出20
}
//比大小
public static int max(int num1,int num2){
//修饰符:public static 方法返回值类型:int 方法名:max
//num1、num2代表形势参数
int result = 0;
if(num1 == num2){
System.out.println("num1 = num2");
return 0;//终止方法
}
if(num1 > num2 ){
result = num1 ;
}
else{
result = num2 ;
}
return result ;//返回结果
}
}
方法的重载
重载:在一个类中,有相同的函数名称,但形式不同的函数
两个功能相同的方法,但是必须有一处地方不一样
命令行传递参数(扩)
可变参数
用法:在方法声明中,在指定参数类型后加一个省略号(…)
PS:一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通参数必须在它之前声明。
import java.util.Scanner;
public class JoJo {
public static void main(String[] args) {
//调用可变参数的方法
printMax(34,3,3,2,56.5);
printMax(new double[] {1,2,3});//数组
}
//打印最大值
public static void printMax(double ...numbers){
//不确定要传入多少值,故用可变参数表示
if(numbers.length == 0){
System.out.println("No argument passed");//没有参数传入
//判断传入的参数长度是否为0
return ;
}
double result = numbers[0];
//排序
for (int i = 1; i < numbers.length ; i++) {
if(numbers[i] > result ){
result = numbers[i];
}
}
System.out.println("The max value is:" + result);
}
}
递归
递归:A方法调用A方法
作用:用简单的程序解决复杂的问题,它通常是把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,大大减少程序的代码量
递归包含两部分:
- 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环
- 递归体:什么时候需要调用自身方法