程式控制流程面試題

蜡笔小新Belief發表於2024-08-28

一.while和do…while的區別?

  • 使用 while 迴圈,當你需要在條件滿足時執行迴圈,但不希望在條件一開始就不滿足的情況下執行任何程式碼。
  • 使用 do...while 迴圈,當你需要確保迴圈體至少執行一次,然後根據條件決定是否繼續執行。

二.迴圈中,break的作用是什麼?continue的作用是什麼?

  1. break:
    • break 語句用於立即終止包含它的最內層迴圈的執行,無論迴圈條件是否仍然為真。
    • 一旦執行到 break 語句,程式流程會跳出迴圈體,繼續執行迴圈之後的程式碼。
    • 這在需要基於某個特定條件提前退出迴圈時非常有用。
  2. continue:
    • continue 語句用於跳過當前迴圈的剩餘部分,並立即開始下一次迴圈迭代。
    • 這通常用於在滿足某個條件時忽略當前迭代,直接進入下一次迴圈的條件檢查和執行。
    • continue 只會跳過當前迭代,迴圈本身仍然會繼續執行,直到滿足退出條件。

三.jdk1.8中,swtich 支援哪些型別?jdk1.8之後版本對switch特性有哪些增強?

在 JDK 1.8 中,switch 語句支援的型別包括 byteshortintchar、列舉型別以及 String 型別

引入了新的功能,比如 case 可以連續拼寫,這在功能上等同於 if 判斷中的邏輯或 ||,以及 switch 表示式可以有返回值 。在 JDK 14 之前的版本,雖然不能直接連續書寫 case,但可以透過省略 break 來達到類似的效果 。

JDK 21 引入了模式匹配(Pattern Matching)到 switch 語句中,這使得 switch 表示式可以根據型別和模式進行匹配,提供了型別安全和更靈活的分支選擇機制

四.switch…case語句中,break的作用是什麼?

switch...case 語句中,break 的作用是終止當前 switch 塊的執行,並退出 switch 語句。具體來說:

  1. 終止執行: 當程式流程執行到某個 case 標籤,並執行完該 case 下的程式碼塊後,如果該 case 後面有 break 語句,程式將立即跳出整個 switch 語句,不再繼續執行後續的 case 程式碼塊。
  2. 避免執行後續 case: 沒有 break 語句的情況下,程式會繼續執行到下一個 case,即使該 case 的條件並不滿足,這種現象稱為 "fall-through"(貫穿)。break 可以防止這種情況發生。
  3. 控制流程: break 允許開發者精確控制 switch 語句的執行流程,確保一旦某個 case 匹配成功並執行完畢後,不會繼續執行其他不相關的 case

相關文章