嵌套循环写九九乘法表:java
package com.learn; /** * @ author:森林之下 * @ Date: Created in 16:51 2018/11/20 * @ Description:九九乘法表 */ public class Number { public static void main(String[] args) { for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print(i+"*"+j+"="+i*j+"\t"); } System.out.println(); } } }
递归:本身调用本身 spa
必须定义递归头(何时不调用本身)和递归体(何时须要调用本身)code
优势是简单 缺点是会占用大量系统资源递归
先后置递归取决于递归开始的时机(是先递归?仍是先执行?先递归是后置递归,先执行是前置递归)ip
前置递归写九九乘法表:资源
package com.learn; /** * @ author:森林之下 * @ Date: Created in 16:51 2018/11/20 * @ Description:九九乘法表 */ public class Number { public static void main(String[] args) { values(1,9); } static void values(int s,int r){ if(s <= r){//递归体 for (int i = 1; i <= s; i++) { System.out.print(i+"*"+s+"="+i*s+"\t"); } System.out.println(); values(s+1,r);//开始递归 }else{ return;//递归头 } } }
后置递归写九九乘法表: io
package com.learn; /** * @ author:森林之下 * @ Date: Created in 16:51 2018/11/20 * @ Description:九九乘法表 */ public class Number { public static void main(String[] args) { values(9); } static void values(int s){ if(s < 1){ return;//递归头 }else{//递归体 values(s-1);//开始递归 for (int i = 1; i <= s; i++) { System.out.printf(i+"*"+s+"="+i*s+"\t"); } System.out.println(); } } }