Java-流程控制语句If While For、递归算法

控制语句

  • 循环结构都由如下四个结构组成: 初始化、条件判断、循环体、迭代

  • break:跳出循环而执行循环后面的语句。在任何循环的主体部分,均可用break控制循环的流程。break用亍强行退出循环, 不执行循环中剩余的语句。(break语句还可用亍于多支语句switch中) 。

  • continue:用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

使用场合
– break可用于switch结构和循环结构中
– continue只能用于循环结构中
作用(循环结构中)
– break语句终止某个循环,程序跳转到循环块外的下一条语句
– continue跳出本次循环,进入下一次循环

  • return语句从当前方法退出,返回到调用该方法的语句处,并从该语句的下条语句处继续执行程序。
    返回语句的两种格式
    1、return expression
    返回一个值给调用该方法的语句。
    返回值的数据类型必须和方法声明中的返回值类型一致或是精度低于声明的数据类型。
    2、return
    当方法声明中用void声明返回类型为空时,应使用这种返回类型,它不返回任何值。
public class IfWhileFor {
    public static void main(String[] args) {
       //九九乘法表
        for(int i=1 ; i<10 ; i++){
            for(int j = 1 ; j<=i ; j++){
                System.out.print(j+"*"+i+"="+i*j+"\t");
            }
            System.out.println();
        }
        System.out.println();

        //斐波那契数列 1 1 2 3 5 8....
        int a = 1;
        int b = 1;
        int c = 0;
        System.out.print( a + " " + b + " ");
        for( int i = 3; i < 30 ;i++){
            c = a + b ;
            a = b ;
            b = c ;
            System.out.print( c + " " );
        }
        System.out.println();

        //百钱买百鸡 公鸡5文钱一只 母鸡3文钱一只 小鸡3只一文钱 用100文钱买一百只鸡
                for (int x = 1; x < 20; x++) {
                    for (int y = 1; y < 33; y++) {
                        int z=100-x-y;
                        if((z%3==0)&&(x*5+y*3+z/3==100))
                        {
                            System.out.println("公鸡的数量为"+x+"--母鸡的数量是"+y+"---小鸡的数量为--"+z);
                        }
                    }
                }
         }
}

递归算法

递归结构包括两个部分:
1.递归结束条件。
2.递归体。
递归示例
– 使用递归求n!
– 使用实现斐波那契数列

递归的优点:简单的程序。
递归的缺点 :递归调用会占用大量的系统堆栈,内存耗用多。 在递归调用层次多时速度要比循环慢的多。
递归的使用场合:任何可用递归解决的问题也能使用迭代解决。当递归方法可以更加自然地反映问题,并且易于理解和调试,并且不强调效率问题时,可以采用递归。在要求高性能的情况下尽量避免使用递归,递归既花时间又耗内存。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值