Math类:max() 方法 Math.max(10,Math.max(15,20)); 方法嵌套
举例
方法递归:
public void show(int n){
if(n<0){
System.exit(0) ;//jvm退出了
}
System.out.println(n) ;
show(n--) ;
}
方法递归的三个必要条件:
1)方法递归必须有出条件
2)必须满足一些规律
3)一定要写方法
注意:构造方法不存在方法递归的
举例
从前有座山,山里有个庙,庙里有个老和尚和小和尚,老和尚给小和尚讲了一个故事是:
从前有座山,山里有个庙,庙里有个老和尚和小和尚,老和尚给小和尚讲了一个故事是:
从前有座山,山里有个庙,庙里有个老和尚和小和尚,老和尚给小和尚讲了一个故事是:
从前有座山,山里有个庙,庙里有个老和尚和小和尚,老和尚给小和尚讲了一个故事是:
条件结束:山塌了,或者和尚挂了
例子程序:
package org.westos.e;
/**
*需求:求5的阶乘
* 5! = 5 * 4 * 3 * 2 *1
* 5! = 5 * 4!
*
* 方式:
* 1)普通for循环
* 2)用递归的方式去写
* 1)方法递归必须有出条件
* 2)必须满足一些规律
* 3)一定要写方法
*
*/
public class DiGuiDemo2 {
public static void main(String[] args) {
//求5的阶乘
//定义结果变量
int jc = 1 ;
for(int x =2 ;x <=5 ; x ++) {
jc*=x ;
}
System.out.println("5的阶乘是:"+jc);
System.out.println("-------------------------");
System.out.println("5的阶乘是:"+jieCheng(5));
}
/**
* 1)先出口,在找规律
* 出口条件是什么
* if(n==1){
* return 1 ;
* }else{
* return n*jicheng(n-1) ;
* }
*/
private static int jieCheng(int n) {
if(n==1) {
return 1 ;
}else {
return n*jieCheng(n-1) ;
}
}
}
*需求:求5的阶乘
* 5! = 5 * 4 * 3 * 2 *1
* 5! = 5 * 4!
*
* 方式:
* 1)普通for循环
* 2)用递归的方式去写
* 1)方法递归必须有出条件
* 2)必须满足一些规律
* 3)一定要写方法
*
*/
public class DiGuiDemo2 {
public static void main(String[] args) {
//求5的阶乘
//定义结果变量
int jc = 1 ;
for(int x =2 ;x <=5 ; x ++) {
jc*=x ;
}
System.out.println("5的阶乘是:"+jc);
System.out.println("-------------------------");
System.out.println("5的阶乘是:"+jieCheng(5));
}
/**
* 1)先出口,在找规律
* 出口条件是什么
* if(n==1){
* return 1 ;
* }else{
* return n*jicheng(n-1) ;
* }
*/
private static int jieCheng(int n) {
if(n==1) {
return 1 ;
}else {
return n*jieCheng(n-1) ;
}
}
}