好程式設計師大資料教程分享大資料之流程控制
好程式設計師大資料教程分享大資料之流程控制,程式在執行的時候, 對程式碼執行的先後順序, 稱作程式的執行結構. 在Java中, 程式的執行結構分為三種:
- 順序結構: 程式碼從上往下逐行執行, 是程式執行的基本結構
- 分支結構: 程式碼執行到某一個節點遇到多個分支, 選擇其中的一個分支執行, 其他的分支都不執行
- 迴圈結構: 某一個程式碼段需要重複的執行
程式預設採用的是順序結構, 我們也可以透過一些語句來修改程式的執行結構, 這樣的語句叫做流程控制語句, 按照修改的執行結構不同, 可以分為 分支流程控制 和 迴圈流程控制
1.3.1 分支流程控制--if
基礎語法
if (condition) { // 程式碼段1 } else { // 程式碼段2 }
邏輯: condition是一個boolean型別的變數, 或者一個boolean結果的表示式. 如果condition的值為true, 則程式碼段1執行, 否則, 程式碼段2執行
進階
if (condition1) { // 程式碼段1 } else if (condition2) { // 程式碼段2 } else { // 程式碼段3 }
邏輯: 先判斷condition1, 如果condition1成立, 執行程式碼段1; 如果condition1不成立, 再判斷condition2, 如果condition2成立, 執行程式碼段2, 否則執行程式碼段3
特殊說明
在if-else語句中, 如果某一個程式碼段中只有一句語句, 則大括號可以省略; 但是從語法的規範來說, 一般情況下, 我們是不省略的
1.3.2 分支流程控制--switch
基礎語法
switch (variable) { case value1: case value2: ... default: }
邏輯: variable是一個變數, switch語句捕獲這個變數的值; 如果變數的值和某一個case後面的值相同了, 就會執行這個case後面的語句; 如果變數的值沒有和任意的一個value相同, 則執行default後面的值
注意事項
在switch-case語句中有穿透性, 即: 如果variable的值和某一個value匹配了, 會執行從這個case開始, 一直到switch語句結束, 後面所有的程式碼, 且跳過後面的case匹配; 為了避免穿透, 可以使用關鍵字break來跳出switch語句
1.3.3 迴圈流程控制--while
基礎語法
while (condition) { // 迴圈體 }
邏輯: 每次迴圈線判斷condition, 如果為true, 迴圈體執行, 然後再判斷condition; 直到condition為false, 迴圈結束
do-while
do { // 迴圈體 } while (condition);
邏輯: 先執行一次迴圈體, 然後再判斷迴圈條件是否成立
關鍵字 break, continue 與 迴圈標籤
break
用在迴圈中, 表示跳出迴圈; 如果用在多層迴圈中, 只會跳出當前的一層迴圈
continue
用在迴圈中, 表示繼續迴圈, 從continue開始, 後面所有的程式碼不執行, 直接進入下次迴圈
迴圈標籤
一般用在多層迴圈中, 可以給每一個迴圈都新增一個標籤; 可以配合break語句, 直接結束指定的迴圈. 或者配合continue語句, 直接終止指定迴圈的執行, 立即進入下次迴圈
1.3.4 迴圈流程控制--for
基礎語法
for (迴圈起點; 迴圈條件; 迴圈步長) { 迴圈體 }
邏輯:
先執行迴圈起點, 一般用與定義一個控制迴圈的變數, 或者給這個變數一個初始值
再判斷迴圈條件是否成立, 如果迴圈條件成立, 執行迴圈體, 再執行迴圈步長, 然後重新判斷迴圈條件
如果迴圈條件不成立, 迴圈結束
特殊說明
-
關於語法省略
- for迴圈的小括號中由三部分組成, 這三個部分都可以省略:
- 迴圈起點: 變數的定義可以放在迴圈外
- 迴圈條件: 如果省略, 預設是true, 可以在迴圈體中控制跳出迴圈
- 迴圈步長: 可以在迴圈體中控制步長
-
關於大括號
- 如果迴圈體中只有一句語句, 迴圈體大括號可以省略; 但是出於規範, 一般我們也不省略
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2664826/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師大資料教程分享實用的大資料之陣列程式設計師大資料陣列
- 好程式設計師大資料教程分享:HDFS基本概念程式設計師大資料
- 好程式設計師大資料培訓分享大資料還學嗎?程式設計師大資料
- 好程式設計師大資料培訓分享大資料的應用程式設計師大資料
- 好程式設計師大資料培訓分享大資料兩大核心技術程式設計師大資料
- 好程式設計師大資料教程分享Scala系列之閉包程式設計師大資料
- 好程式設計師分享大資料三大必備技能程式設計師大資料
- 好程式設計師大資料培訓分享大資料面試寶典一程式設計師大資料面試
- 好程式設計師大資料培訓分享大資料面試寶典二程式設計師大資料面試
- 好程式設計師大資料培訓分享大資料面試寶典三程式設計師大資料面試
- 好程式設計師大資料培訓分享大資料面試寶典四程式設計師大資料面試
- 好程式設計師大資料培訓分享大資料面試寶典六程式設計師大資料面試
- 好程式設計師大資料培訓分享大資料的影響一程式設計師大資料
- 好程式設計師大資料學習路線分享大資料之字串程式設計師大資料字串
- 好程式設計師大資料教程分享HadoopHDFS操作命令總結程式設計師大資料Hadoop
- 好程式設計師大資料教程分享之Hadoop優缺點程式設計師大資料Hadoop
- 好程式設計師大資料培訓分享mysql資料型別程式設計師大資料MySql資料型別
- 好程式設計師大資料培訓分享大資料就業方向有哪些?程式設計師大資料就業
- 好程式設計師大資料培訓分享MapReduce理解程式設計師大資料
- 好程式設計師大資料培訓分享之hive儲存過程程式設計師大資料Hive儲存過程
- 好程式設計師大資料培訓分享Hadoop的shuffle過程程式設計師大資料Hadoop
- 好程式設計師大資料教程Scala系列之類程式設計師大資料
- 好程式設計師分享大資料教程之執行緒高階部分程式設計師大資料執行緒
- 好程式設計師大資料基礎教程分享TextFile分割槽問題程式設計師大資料
- 好程式設計師大資料學習路線分享大資料之執行緒程式設計師大資料執行緒
- 好程式設計師大資料培訓分享HDFS讀流程程式設計師大資料
- 好程式設計師大資料培訓分享spark之Scala程式設計師大資料Spark
- 好程式設計師分享自學大資料入門乾貨程式設計師大資料
- 好程式設計師大資料學習路線分享MAPREDUCE程式設計師大資料
- 好程式設計師大資料學習路線分享SparkSQl程式設計師大資料SparkSQL
- 好程式設計師大資料學習路線分享MapReduce全過程解析程式設計師大資料
- 好程式設計師大資料學習路線分享大資料之基礎語法程式設計師大資料
- 好程式設計師大資料高階班分享10個大資料專業術語程式設計師大資料
- 好程式設計師大資料教程分享HDFS常用shell和web介面介紹程式設計師大資料Web
- 好程式設計師大資料教程Scala系列之繼承程式設計師大資料繼承
- 好程式設計師大資料培訓分享怎樣進行大資料入門學習程式設計師大資料
- 好程式設計師大資料分享Scala系列之柯里化程式設計師大資料
- 好程式設計師大資料分享Shell中陣列講解程式設計師大資料陣列