第三章 流程控制

1、三种流程控制结构

其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:顺序结构、分支结构和循环结构

2、if多分支语句和switch多分支语句的异同之处

相同之处:

        都是分支语句,多超过一种的情况进行判断处理。

不同之处:

  1. switch更适合用于多分支情况,就是有很多种情况需要判断处理,判断条件类型单一,只有一个入口,在分支执行完后(如果没有break跳出),不加判断地执行下去;而if—elseif---else多分枝主要适用于分支较少的分支结构,判断类型不是单一,只要一个分支被执行后,后边的分支不再执行。
  2. switch为等值判断(不允许比如>= <=),而if为等值和区间都可以,if的使用范围大。

3、while和do-while循环的区别

         while先判断后执行,第一次判断为false,循环体一次都不执行

        do while先执行 后判断,最少执行1次。

        如果while循环第一次判断为true, 则两种循环没有区别。

4、break和continue的作用

        break结束当前循环并退出当前循环体。

        break还可以退出switch语句

        continue: 循环体中后续的语句不执行,但是循环没有结束,继续进行循环条件的判断(for循环还会i++)。continue只是结束本次循环。

5、递归的定义和优缺点

        递归算法是一种直接或者间接地调用自身算法的过程。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。

递归算法解决问题的特点:

        (1) 递归就是在过程或函数里调用自身。

        (2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。

        (3) 递归算法解题通常显得很简洁,但运行效率较低。所以一般不提倡用递归算法设计程序。

       (4) 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计程序。

 6、使用递归算法计算n!

public class Test {
	public int factorial(int n) {		
		if (n == 1 || n == 0){
			return n;
		}else{
			return n * factorial(n - 1);
		}			
	}
	public static void main(String[] args) {
		Test test = new Test();
		System.out.println(test.factorial(6));
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值