java方法基础
Java方法
方法是语句的结合,它们在一起执行一个功能。
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或对象中
- 方法在程序中被创建,在其他地方被引用
设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。设计方法的时候,一个方法只完成1个功能,有利于后期扩展。(原子性)
命名规则:首字母小写,后面驼峰原则。
方法定义
包含方法头和方法体,定义:
修饰符 返回类型 方法名(参数类型 参数名){
//方法体
return 返回值;}
方法重载
- 方法名称必须相同
- 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)
- 方法的返回类型可以相同也可以不同
- 仅仅返回类型不同不足以成为方法的重载
可变参数
当我们需要传的参数数量变化时,需要重载方法,而如果参数数量很多,没有办法一个一个的重载,就需要使用可变参数,示例:
public class Demo1 {
public static void main(String[] args) {
Demo1 demo1 = new Demo1();
System.out.println(demo1.Max(1,2,3,4,5,2,99,7,8));
}
public static int Max(int... i) {
int max=0;
if(i.length==0){//检查传参数量
System.out.println("没有数字");
return 0;
}else {//遍历得最大值
for(int j=0;j<i.length;j++){
if(i[j]>max)max=i[j];
}
}
return max;
}
}
- 从JDK1.5开始,支持传递同类型的可变参数给一个方法。
- 方法声明中,在指定参数类型后加上一个省略号(...)。
- 一个方法中只能指定一个可变参数,它必须是芳芳的最后一个参数。任何普通参数必须在它之前声明。
递归
递归就是方法多次调用自己,重复一个与原问题相似的较小规模问题来求解原大型复杂的问题。通过多次重复计算大大减少了代码量。
递归结构包括两部分:
-
递归头:什么时候不调用自己方法。如果没有头,将陷入死循环。
-
递归体:什么时候需要调用自身方法。
示例:计算阶乘
public class Demo {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
int n=di(scanner.nextInt());
System.out.println(n);
scanner.close();
}
public static int di(int n){
if(n==1)return 1;//判断n是否为1;
else {
return n*di(n-1);//递归计算阶乘
}
}
}
浙公网安备 33010602011771号