第四章 控制执行流程

第四章 控制执行流程

标签(空格分隔): AgainThinkingInJava


挑出几个似乎已经忘记了的点


  • 自动生成恰当的数组range()
  • goto语句的标签
  • if语句与switch语句的执行顺序与选择问题
  • 课后题斐波那契和吸血鬼数的思考

自动生成恰当的数组range()


range()主要是配合Foreach语句。当然该方法主要是产生一个int数组
range(10)会产生一个大小为10的int数组

要使用这样一个方法就要引用作者的包

for (int i:range(10)){
            System.out.println(i);
        }

多个重载版本

range(5,10)  5.。。9
range(5,20,3)  5....19 step 3

range()一般会降低效率,于是作者提到在性能调优的时候使用仿真器来综合评价。


goto语句的标签


我总觉得这样多重的标签嵌套会使得代码非常不易阅读,因此不打算在代码中使用这种标签,事实上我还没有在其他代码中见过人家怎么使用的。因此只要知道使用

使用标签的唯一理由就是因为有循环嵌套存在,而且想从多层的嵌套中break和continue.


if语句与switch语句的执行顺序与选择问题


switch语句是从头到尾的所有case都要判断一句,同样,if语句也是从开始位置执行,从头到尾的判断条件。
至于有一种让判断他们的效率问题的说法,我觉得从某种角度来说没有什么可比性。switch与多个if else 语句的执行情况是差不多的。
不同的地方在于,switch语句的使用范围相对来说比较狭窄,主要使用在选择因子是int或者char类型的整数值的时候。但是if else语句使用就比较灵活的,场合多多的。


课后题斐波那契和吸血鬼数的思考


  • 斐波那契的实现是递归,但是这种方式是效率最低的。我找了一下有很多基本的实现方式
    斐波那契序列的七种实现

  • 吸血鬼数,。,。没错,人家使用了一个叫什么什么理论的东西

if x*y is a vampire number then x*y=x+y(mod 9 )


国际惯例:总结


好像没有什么能总结的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值