第四章 控制執行流程
第四章 控制執行流程
標籤(空格分隔): 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 )
國際慣例:總結
好像沒有什麼能總結的
相關文章
- 【java學習】控制執行流程Java
- Mysql 執行流程MySql
- HA執行流程
- MapReduce執行流程
- php執行流程PHP
- MyBatis執行流程MyBatis
- 「MySQL」 MySQL執行流程MySql
- SpringMVC執行流程SpringMVC
- MapReduce程式執行流程
- javaWeb的執行流程JavaWeb
- Struts框架執行流程框架
- PostgreSQL SQL執行流程SQL
- 執行緒控制之休眠執行緒執行緒
- 多執行緒-執行緒控制之休眠執行緒執行緒
- 多執行緒-執行緒控制之加入執行緒執行緒
- 多執行緒-執行緒控制之禮讓執行緒執行緒
- 多執行緒-執行緒控制之中斷執行緒執行緒
- PHP執行流程回顧PHP
- MapReduce的執行流程概述
- thinkphp3.2 執行流程PHP
- 框架執行流程總結框架
- SQL 解析與執行流程SQL
- Ansible playbook 執行流程
- angularjs基本執行流程AngularJS
- java的執行流程(轉)Java
- Dapr Outbox 執行流程
- 執行流程原始碼分析原始碼
- Spark學習(一)——執行模式與執行流程Spark模式
- 深入理解執行緒池的執行流程執行緒
- Unity控制把執行Unity
- GCD執行緒控制GC執行緒
- sentinel流量控制和熔斷降級執行流程之原始碼分析原始碼
- 多執行緒-執行緒控制之守護執行緒執行緒
- 深入Mybatis原始碼——執行流程MyBatis原始碼
- WEB程式執行的基本流程Web
- Mybatis執行流程原始碼分析MyBatis原始碼
- VUE 執行流程 個人筆記Vue筆記
- 關於java的執行流程Java