天天看點

Java基礎篇(03):流程控制語句,和算法應用

本文源碼:GitHub·點這裡 || GitEE·點這裡

流程控制語句對任何一門程式設計語言都是非常重要的,Java中基于流程控制程式執行的不同步驟和代碼塊。

IF條件語句會根據不同的判斷條件執行不同的語句,if後括号内的條件是否成立關鍵步驟,IF條件的判斷結果必然要是true或false。IF...Else語句則是滿足IF條件,就執行相應代碼塊,否則就執行Elase代碼塊。

節點案例,測試結果描述:

Node01:如果if條件不成立,則執行else流程或者結束;

Node02:邏輯且判斷,任何條件不成立,則直接結束;

Node03:邏輯或判斷,任何條件成立,則直接進入分支;

Node04:IF的格式,可以去掉{},後續語句會作為分支;

Node05:IF語句面試題,不會輸出任何内容,第二個語句作為分支;

注意:在流程控制語句中必須使用大括号,即使隻有一行代碼,避免采用單行的編碼方式,這是基礎規範。在上面的測試節點4和5,代碼看着就感覺紮心。

Else...IF分支語句用于多種情況進行的判斷處理,直到分支判斷條件成功,執行分支子產品代碼,如果沒有else條件,可以所有分支都不滿足,直接結束。

注意:根據條件逐個判斷,直到找到第一個滿足的條件,不會再繼續往下面的判斷執行,分支語句執行完畢就會退出目前的else...if流程。超過3層的的邏輯判斷代碼可以使用衛語句、政策模式、狀态模式等來實作。

流程描述:switch語句先擷取表達式的值,判斷表達式的值與case語句後的常量值是否相同,比對成功則執行該case後的代碼塊,直到遇到break語句後終止,如果缺失break打斷,則繼續比對下一case常量,直到遇到break為止。如果條件全不比對,則執行default後面的語句。default語句可選,如果不存在default語句,同一個switch語句,case的常量值必須互不相同。

注意:從JDK1.7之後,switch支援對String字元串的比對。

循環語句就是在滿足特定條件的情況下,反複執行同個操作。循環語句包括:for循環、while循環、do···while循環。

Java開發中最有用的循環方式,也是諸多算法中的基礎控制語句,在常見的很多算法編碼實作中,都需要借助for循環方式。

Node01:for循環作為計算中的常用方式;

Node02:foreach周遊模式,簡化循環操作,也可以改寫為for語句;

Node03:循環for語句的基礎執行機制,兩道面試常見題;

注意:越是基礎的東西,學起來越難,for語句作為很多算法實作的基礎控制,了解起來相當的繞。

while循環語句首先判斷條件是否成立,成立才執行循環體;

do···while循環語句先執行一次循環體,然後判斷條件是否成立,是以do···while至少會執行一次;

注意:while循環在實際的開發中,因為極其容易導緻死循環,是以使用并不多。

Java中有三種流程中斷語句,關鍵字分别為break、continue、return語句。

Java中最常用的流程控制關鍵字,當執行return語句後,從該方法傳回,傳回到調用該方法的業務流程中。

return 常在位置

return語句隻在方法最後出現一次。

return語句僅在try和catch裡面都出現。

return語句僅在try和方法最後都出現。

return語句僅在catch和方法的最後都出現。

break中斷語句常用在for、while、do···while循環中,用于退出目前整個循環流程,非目前這一次循環。

Continue中斷語句常用在for、while、do···while循環中,用于退出目前這一次循環,進入下一次循環。

有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?

基于遞歸思想的各種計算方法實作。

Java基礎篇(03):流程控制語句,和算法應用

推薦閱讀:Java基礎系列

序号

文章标題

01

Java基礎:基本資料類型,核心點整理

02

Java基礎:特殊的String類,和相關擴充API

Java并發:線程的建立方式,狀态周期管理

Java并發:線程核心機制,基礎概念擴充

03

Java并發:多線程并發通路,同步控制

04

Java并發:線程間通信,等待/通知機制

05

Java并發:悲觀鎖和樂觀鎖機制

06

Java并發:Lock機制下API用法詳解