java回憶錄 流程控制

2021-07-16 02:28:21 字數 3211 閱讀 1666

在乙個程式執行的過程中,各條語句的執行順序對程式的結果是有直接影響的。

也就是說程式的流程對執行結果有直接的影響。

所以,我們必須清楚每條語句的執行流程。

而且,很多時候我們要通過控制語句的執行順序來實現我們要完成的功能。

順序結構

程式中最簡單最基本的流程控制,沒有特定的語法結構,按照**的先後順序,依次執行,程式中大多數的**都是這樣執行的。

總的來說:寫在前面的先執行,寫在後面的後執行。、
選擇結構(分支結構)選擇結構有特定的語法規則,**要執行具體的邏輯運算進行判斷,邏輯運算的結果有兩個,所以產生選擇,按照不同的選擇執行不同的**。

if語句:if條件句有三種形式

1:if(表示式)

2:if(表示式) else

3:if(表示式) else if(表示式) else

注意:

關係表示式無論簡單還是複雜,結果必須是boolean型別

if語句控制的語句體如果是一條語句,大括號可以省略;如果是多條語句,就不能省略。建議永遠不要省略。

switch語句:

表示式的取值:byte,short,int,char,jdk5以後可以是列舉,jdk7以後可以是string

case後面跟的是要和表示式進行比較的值

語句體部分可以是一條或多條語句

break表示中斷,結束的意思,可以結束switch語句

default語句表示所有情況都不匹配的時候,就執行該處的內容,和if語句的else相似。

執行流程:

首先計算出表示式的值

其次,和case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程中,遇到break就會結束。

最後,如果所有的case都和表示式的值不匹配,就會執行default語句體部分,然後程式結束掉。

注意事項:

case後面只能是常量,不能是變數,而且,多個case後面的值不能出現相同的

default可以省略嗎?

可以省略。一般不建議。除非判斷的值是固定的。

break可以省略嗎?

可以省略,一般不建議。否則結果可能不是你想要的,會有貫穿現象

default的位置一定要在最後嗎?

可以出現在switch語句任意位置。

switch語句的結束條件

遇到break

執行到程式的末尾

if語句使用場景:

針對結果是boolean型別的判斷

針對乙個範圍的判斷

針對幾個常量值的判斷

switch語句使用場景:

針對幾個常量值的判斷
迴圈結構迴圈語句可以在滿足迴圈條件的情況下,反覆執行某一段**,這段被重複執行的**被稱為迴圈體語句,當反覆執行這個迴圈體時,需要在合適的時候把迴圈判斷條件修改為false,從而結束迴圈,否則迴圈將一直執行下去,形成死迴圈。

包括while迴圈語句,do…while迴圈語句和for迴圈

注意事項:

for迴圈語句和while迴圈語句可以等價轉換,但還是有些小區別的

控制條件語句所控制的那個變數,在for迴圈結束後,就不能再被訪問到了;

而while迴圈結束還可以繼續使用,如果你想繼續使用,就用while,否則推薦使用for。

原因是for迴圈結束,該變數就從記憶體中消失,能夠提高記憶體的使用效率。

do…while迴圈至少會執行一次迴圈體。

for迴圈和while迴圈只有在條件成立的時候才會去執行迴圈體

總結:寫程式優先考慮for迴圈,再考慮while迴圈,最後考慮do…while迴圈

接下來看看迴圈語句的中斷與跳**

break

continue

return

system.exit(0)

例子:

總結:break:(針對最近的迴圈結構)

(1).結束當前整個迴圈,執行當前迴圈下邊的語句。忽略迴圈體中任何其它語句和迴圈條件測試。 

(2).只能跳出一層迴圈,如果你的迴圈是巢狀迴圈,那麼你需要按照你巢狀的層次,逐步使用break來跳出。[逐層判斷,逐步跳出]

(3).break在迴圈體內,強行結束迴圈的執行,也就是結束整個迴圈過程,不在判斷執行迴圈的條件是否成立,直接轉向迴圈語句下面的語句。

(4).當break出現在迴圈體中的switch語句體內時,其作用只是跳出該switch語句體。

總的來說:就近原則,結束當前的整個迴圈。continue:(針對本次迴圈)

(1).終止本次迴圈的執行,即跳過當前這次迴圈中continue語句後尚未執行的語句,接著進行下一次迴圈條件的判斷。 

(2).結束當前迴圈,進行下一次的迴圈判斷。

(3).終止當前的迴圈過程,但他並不跳出迴圈,而是繼續往下判斷迴圈條件執行語句.他只能結束迴圈中的一次過程,但不能終止迴圈繼續進行。

return:(針對迴圈結構所在方法)

總的來說:退出迴圈所在方法。

system.exit(0):(針對整個應用程式)

總的來說:正常退出應用程式。

技工回憶錄

自己都不知道說自己什麼好了。發一下去年12月寫的東西,依然歷歷在目 這兩天心情非常低沉,對什麼都沒興趣,好像當年呀,熟悉的感覺,不一樣的環境。感覺自己不喜歡工作的環境,感覺現在上班時在勉強自己做事。對自己也非常不滿,從我的角度來看,我現在是一事無成。高中時常說不習慣老師和家長逼著學,所以在學校總是很...

創業回憶錄

1.背景 我們有人懂銷售,有人懂軟體,有人懂硬體,有人懂下位機 我們有行業經驗,都是骨幹,於是乎對於我們創業而言就缺資金了。由於是新興行業,很多企業都想介入,所以很快資金找到了,300萬,開始了我們的創業之旅,可惜不是風投,團隊只是占有很少一部分股份,投資方佔據了大頭,說上市前保證團隊股份不變,總公...

Swift回憶錄 屬性

儲存屬性 儲存在特定類或結構體例項裡的乙個常量或變數 延遲儲存屬性 當第一次被呼叫的時候才會計算其初始值的屬性。在屬性宣告前使用 lazy 來標示乙個延遲儲存屬性。例 class score class student延遲儲存屬性必須宣告為變數 var 因為屬性的初始值可能在例項構造完成之後才會得到...