「Java」基礎10:什麼叫流程控制語句?

2020-12-12 劉小愛

什麼叫流程?

我們去找工作,簡歷被某家公司看到後。先是前臺打電話約見面時間,然後去公司,第一輪筆試,若是沒通過,直接回家;若是通過了,進入第二輪項目主管面試。若是沒通過,直接回家,若是通過了,要麼被錄取,要麼第二輪第三輪面試。

這一段描述下來,找工作面試的過程就是流程。公司對面試人員的安排就叫做流程的控制。

在程序中也是一樣的道理。

一、順序結構

打電話、筆試、一面、二面、錄取這就是順序結構。

在程序中,其執行的順序由代碼編寫的順序控制,從上到下執行。

這也是最簡單最基礎的一種結構。

二、選擇結構

還是以面試為例子,面試官會根據面試者的筆試成績選擇是否將他留下,這就涉及到選擇結構了。

在Java代碼中存在一種特殊的語句,叫做選擇語句,對一些條件做出判斷,從而選擇對應的代碼執行。這種由選擇語句組成的代碼結構就是選擇結構。

選擇語句有:if條件語句和switch條件語句。

1.if語句

if即如果的意思,如果筆試成績達到80分,就進入面試,要用代碼實現如下:

執行流程:

首先判斷布爾表達式看其結果是true還是false如果是true就執行語句體如果是false就不執行語句體

2.if…else語句

if ...else 語句是指如果滿足某種條件就進行某種處理,否則就進行另外一種處理。

執行流程

首先判斷布爾表達式看其結果是true還是false如果是true就執行語句體1如果是false就執行語句體2

3.與三元運算符的互換

if…else語句和昨天學習的三元運算符效果是一樣的

4.if…else if…else if…else語句

if…else if…else if…else可以對多個條件進行判斷,進行多種不同的處理。

執行流程

首先判斷布爾表達式1看其結果是true還是false如果是true就執行語句體1如果是false就繼續判斷布爾表達式2看其結果是true還是false如果是true就執行語句體2如果是false就繼續判斷布爾表達式…看其結果是true還是false如果沒有任何布爾表達式為true,就執行後面的與語句體。

5.switch語句

switch也是一種選擇語句,和if不同的是,switch只能判斷某個表達式的值,從決定執行那段代碼。

下面就用一個判斷星期幾的例子介紹下switch語句。

注意事項

表達式中的值要與case中的值數據類型一致。在switch中的表達式只能是byte、short、int、char、Enum(枚舉值)、String(字符串)。用其它的類型值編譯會報錯。break不能漏寫,否則會出現case的穿透,改變邏輯。執行流程

首先計算出表達式的值其次,和case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程中,遇到break就會結束。最後,如果所有的case都和表達式的值不匹配,就會執行default語句體部分,然後程序結束掉。

6.case的穿透性

在switch語句中,若是case後面沒有寫break,將會出現穿透現象,不在判斷下面的值,而是直接往下運行,直到遇到break為止,或者整體switch結束,這就是case的穿透性。

這不是bug,能夠用來解決某些需求。

例如,周一到周五是工作日,周六周日是雙休日。

三、循環結構

什麼叫循環結構呢?

最常見的例子就是鐘錶了,每天從0點到24點不停地循環。

在Java語言中,有一種特殊的語句叫做循環語句,可以實現代碼的重複執行,這種由循環語句形成的結構就是循環結構。

1.for循環

例子:循環列印10遍「HelloWorld」

執行流程

執行順序:①②③④>②③④>②③④…②不滿足為止。①為初始化語句(int i=0)②為判斷語句(i<10?),不滿足則跳出循環③為循環體,滿足判斷條件就執行④為控制條件語句,循環後變量會變化格式

格式是靈活變通的,三種格式都可以使用

2.while循環

和for循環是一樣的,只不過關鍵字不一樣

執行流程

執行順序:①②③④>②③④>②③④…②不滿足為止。①為初始化語句(int i=0)②為判斷語句,不滿足直接跳出循環③為循環體,滿足判斷條件就執行④為控制條件語句,循環後變量會變化3.do…while循環語句

do…while語句特點:

while後面有分號結束(切記)無論如何,循環體語句都會先執行一次,再去判斷條件滿不滿足

執行流程:

執行順序:①②③>④②③>④②③…④不滿足為止。①是初始化語句(int i=0)②是循環體語句(先執行一次,後面判斷條件滿足再執行)③是控制條件語句,循環後變量會變化④是判斷語句,不滿足條件循環就會跳出4.循環語句的區別

由上可以看出:

變量i在for循環外就不能訪問了(for循環的常規格式不能訪問,for循環的其他兩種格式也能訪問)變量i在while循環外也能被訪問由此可以引申一個概念:變量作用域

也就是說一個變量在某個範圍內才有效,超出這個範圍就不能訪問了,這個範圍就是該變量的作用域。

一般變量的作用域就是和它最近的一個大括號內。

也有特例就是上面說的for循環,只在循環內有效。

5.死循環

什麼叫死循環?

就是判斷語句永遠為true,死循環不會結束循環,會一直循環下去

DOS系統中,若是出現死循環,可以按Ctrl+C結束死循環。

6.嵌套循環

顧名思義,在一個循環語句裡面再定義一個循環語句,就是嵌套循環。

for,while,do…while都可以進行嵌套循環,它們之間也可以相互嵌套,最常見的就是在for循環中嵌套for循環。

比如說每天時間的變化就使用到了嵌套循環:

7.break

在switch語句中:

作用是終止某個case並跳出,沒有break,會出現case穿透。

在循環語句中:

作用是跳出循環語句,並繼續執行循環結構後面的代碼。

在嵌套循環中:

作用是只能跳出當前的循環語句,不能跳出外層循環語句。

如果想跳出外層循環,可以在外層循環的關鍵字前加上標記。

在鬧鐘定時,就可以使用到這個:

8.continue(繼續)

continue的作用是指:結束本次循環,繼續下一次循環。

比如:對[1,100]區間內的奇數求和,並列印出來

總結

關注並私信我,發送文字「學習」即可獲取精品學習資料

相關焦點

  • 10.Java基礎知識-If語句
    10.1 If語句的格式10.1.1 If語句格式1及執行流程if語句第一種格式:if(關係表達式) {語句體}執行流程:首先判斷關係表達式看其結果是true還是false如果是true就執行語句體如果是false就不執行語句體10.1.2 if語句格式1執行流程圖
  • java基礎案例之java語言流程控制if,if else, if elseif else
    java流程控制語句中判斷結構是由if引導的。其中包含了三種格式格式1:if(條件表達式){執行語句;};}else if(條件表達式){執行語句;}else{執行語句;9,10,11 秋季。點擊關注或收藏,與我們一起從基礎開始學習java每天更新一點新知識,新案例,每天吸收一點新能量。點擊評論區,對於細節的優化,留言,一起探討喲。明日更新程序流程控制之選擇結構語句案例
  • Java基礎03-流程控制
    默認情況下,if 語句控制著下方緊跟的一條語句的執行。不過,通過語句塊,if 語句可以控制多個語句。if 語句的最簡語法格式如下,表示「如果滿足某種條件,就進行某種處理」。if 條件語句的運行流程如圖 所示。
  • Java基礎學習:Java流程控制語句有多少種
    Java流程控制語句是編程的基礎知識,主要是為了更好的組織代碼的執行流程,主要分為順序結構(循環),分支結構(選擇)和跳轉語句。 順序結構的程序語句只能被執行一次。如果您想要同樣的操作執行多次,,就需要使用循環結構。
  • Java從零開始學 - 第73篇:流程控制語句(高手進階)
    這需要我們熟練掌握流程控制語句才可以,本文主要介紹mysql中流程控制語句的使用,上乾貨。本篇內容 if函數case語句if結構while循環repeat循環loop循環循環體控制語句準備數據 /*建庫javacode2018*/drop database if exists javacode2018;create database javacode2018
  • PHP丨PHP基礎知識之條件語IF判斷「理論篇」
    if語句是指程式語言(包括c語言、C#、VB、java、php、彙編語言等)中用來判定所給定的條件是否滿足,根據判定的結果(真或假)決定執行給出的兩種操作之一。if語句概述if語句是指程式語言(包括c語言、C++、C#、java、php、VB、彙編語言等)中用來判定所給定的條件是否滿足,根據判定的結果(真或假)決定執行給出的兩種操作之一。if的返回值為真或假,可以用bool型變量進行存儲,佔用一字節。
  • 「零基礎學JAVA」基礎篇 第二章 JAVA編程初體驗
    JAVA【零基礎學編程】系列今天給大家帶來基礎篇 第二章 JAVA編程初體驗本節的部分編碼操作需要先安裝JDK開發工具「零基礎學JAVA」工具篇 JDK的安裝教程(WINDOWS版)和環境變量的配置「零基礎學JAVA」工具篇
  • 跟我學java編程—Java跳轉語句—continue語句
    注意break語句和continue語句的差別。break語句導致循環終止,使程序控制流轉向這個循環語句之後;而continue引起的則是循環內部的一次控制轉移,使執行控制跳到循環體的最後,相當於跳過循環體裡這個語句後面的那些語句,繼續下一次循環,下圖說明了break語句和continue語句引起的控制轉移的情況。
  • java流程控制實例代碼演示for、while、break、return、switch等
    一、流程控制程序在運行過程中會遇到各種各樣的情況,例如在上一篇圖文中(Java數據轉換和越界實例展示-附帶整個Java知識圖譜-建議收藏)通過關係操作符和邏輯操作符得出的結果就差強人意,會走向不同的程序分支上去,如何實現分支的選擇就要看流程控制了
  • (基礎篇)PHP流程控制語句
    從執行方式上看,語句的控制結構分為以下三種:1、  順序結構:從第一條語句到最後一條語句完全順序執行;2、  選擇結構:根據用戶輸入或語句的中間結果去執行若干任務;3、  循環結構:根據某條條件重複地執行某項任務若干次,或直到達成目標即可。
  • 跟我學java編程—Java跳轉語句—break語句
    當break語句用於switch語句時,可使程序跳出switch語句而執行switch語句之後的語句;當break語句用於while、do-while、for循環語句時,可使程序終止循環而執行循環後面的語句。break語句實際上就是為了使人能方便地描述從循環執行中退出的動作。通常應把break語句放在條件語句控制之下,以便在某些條件成立時立即結束循環。
  • PHP丨PHP基礎知識之條件語SWITCH判斷「理論篇」
    在 switch 語句中條件只求值一次並用來和每個 case 語句比較。在 elseif 語句中條件會再次求值。如果條件比一個簡單的比較要複雜得多或者在一個很多次的循環中,那麼用 switch 語句可能會快一些。在一個 case 中的語句也可以為空,這樣只不過將控制轉移到了下一個 case 中的語句。一個 case 的特例是 default。
  • 這道考 switch 控制語句的阿里基礎面試題你能答對嗎?
    前段時間我發現書的最後還有兩道 Java 基礎的面試題。其中有一道,非常的基礎,可以說是入門級的題,但是都把我幹懵了。這篇文章就帶著大家一起看看這題,分析分析他背後的故事。那麼 switch 是怎麼控制流程的呢?
  • 老杜帶你學Java【第十課】
    (此處應該有掌聲👏👏👏)本專題為《零基礎學Java》專題,將帶你學習2020年全新Java零基礎教程,由杜老師親自錄製,採用JDK13版本,包含316集視頻,18篇課堂筆記。我們的推送內容將以「 學習視頻 + 對應筆記 」的形式為大家呈現,每周一更。共18課。
  • 「軟帝學院」:2020最新Java學習編程基礎知識總結
    本人學習java時,做的java基礎知識總結:寫代碼:1,明確需求。我要做什麼?2,分析思路。我要怎麼做?1,2,3。3,確定步驟。每一個思路部分用到哪些語句,方法,和對象。4,javac命令和java命令做什麼事情呢?要知道java是分兩部分的:一個是編譯,一個是運行。javac:負責的是編譯的部分,當執行javac時,會啟動java的編譯器程序。對指定擴展名的.java文件進行編譯。 生成了jvm可以識別的字節碼文件。
  • PHP丨PHP基礎知識之流程控制WHILE循環「理論篇」
    while語句的一般表達式為:while(表達式){循環體}。該程序會反覆運行,直到 i 大於 10 為止。i 的步進值為 1。php$num=1;$aaa="10以內的偶數為:";while($num<=10){if($num<=10){$aaa.=$sum.
  • Java基礎知識——第一天
    1、第一條語句,是定義程序中類MyJavaApp所在的包,用關鍵字package聲明定義,一定是放在程序語言的第一句。包相當於電腦中的磁碟,用於管理規範程序,讓程序不會雜亂無章,方便程序查找管理,特別是程序很大時,包名一定是小寫的,這是java語言的規範2、第二條語句public class MyJavaApp,這是創建類的語句,public是Java的關鍵字,是java中的其中一個訪問權限修飾符,用於修飾類/
  • [GO語言基礎] 六.循環控制語句、流程控制及編程練習(for、break、continue、goto)
    前文介紹了Golang的順序控制語句和條件控制語句。這篇文章將詳細講解循環控制語句和流程控制,包括for、break、continue、goto及相關編程練習。這系列文章入門部分將參考「尚矽谷」韓順平老師的視頻和書籍《GO高級編程》,詳見參考文獻,並結合作者多年的編程經驗進行學習和豐富,且看且珍惜吧!
  • 慢步學python,編程基礎知識,流程控制語句if
    面向過程編程,重要的是程序的流程,今天說說流程控制語句if。在我們高中數學中就有流程圖的學習,只是沒有真正應用起來而已,辦公軟體也有流程圖的插入。如圖,就是一個判斷流程,由判斷得到2種情況。if結構python中常見的流程結構很多,if結構,在很多程式語言內也很常見。這個例子,先是敲入一個字符串變量a,然後放入判斷結構if裡面。type()函數可以得到括號內目標的類型。
  • 第三篇:JavaScript語句流程控制
    在一個程序執行的過程中,語句的執行順序對程序的結果是有直接影響的。也就是說程序的流程對運行結果有直接的影響。語句流程控制是用來控制程序中各條語句的執行順序,它可以把語句組合成能完成一定功能的代碼段。流程控制方式主要有:順序結構、條件結構和循環結構。