Java基礎語法(4)-流程式控制制

来源:https://www.cnblogs.com/bencoper/archive/2020/03/30/12600850.html
-Advertisement-
Play Games

title: Java基礎語法(4) 流程式控制制 blog: "CSDN" data: "Java學習路線及視頻" 1.程式流程式控制制 流程式控制制語句是用來控製程序中各語句執行順序的語句,可以把語句組合成能完成一定功能的小邏輯模塊。 三種基本流程結構 順序結構 程式從上到下逐行地執行,中間沒有任何判斷和跳 ...


title: Java基礎語法(4)-流程式控制制

blog: CSDN

data: Java學習路線及視頻

1.程式流程式控制制

  • 流程式控制制語句是用來控製程序中各語句執行順序的語句,可以把語句組合成能完成一定功能的小邏輯模塊。
  • 三種基本流程結構
    • 順序結構---程式從上到下逐行地執行,中間沒有任何判斷和跳轉
    • 分支結構---根據條件,選擇性地執行某段代碼。有if…else和switch-case兩種分支語句
    • 迴圈結構---根據迴圈條件,重覆性的執行某段代碼。有while、do…while、for、foreach三種迴圈語句。
Gnfkhd.png

2.順序結構

GnfB4J.png
  • Java中定義成員變數時採用合法的前向引用
//正確形式
public class Test{
	int num1 = 12;
	int num2 = num1 + 2;
}
//錯誤形式
public class Test{
	int num2 = num1 + 2;
        int num1 = 12;
}

3.分支語句1: if-else

if(條件表達式){
  	執行代碼塊;
}
GnhirV.png
if(條件表達式){
	執行代碼塊1;
}
else{
	執行代碼塊2;
}

Gnh0qf.png
if(條件表達式1){
	執行代碼塊1;
}
else if (條件表達式2){
	執行代碼塊2;
}
……
else{
	執行代碼塊n;
}

GnhqzR.png
  • 分支結構:if-else使用說明

    • 條件表達式必須是布爾表達式(關係表達式或邏輯表達式)、布爾變數
    • 語句塊只有一條執行語句時,一對{}可以省略,但建議保留
    • if-else語句結構,根據需要可以嵌套使用
    • 當if-else結構是“多選一”時,最後的else是可選的,根據需要可以省略
    • 當多個條件是“互斥”關係時,條件判斷語句及執行語句間順序無所謂
    • 當多個條件是“包含”關係時,“小上大下 / 子上父下”
  • if-else語句應用舉例

public class AgeTest{
	public static void main(String args[]){
		int age = 15; 
		if (age< 0) {
			System.out.println("不可能!");
} else if (age>250) {
			System.out.println("是個妖怪!");
} else {
			System.out.println(“人家芳齡 " + age +" ,馬馬乎乎啦!");
			}
		}
}

4.分支語句2: switch-case

switch(表達式){
case 常量1:
語句1;
	// break;
case 常量2:
	語句2;
	// break;
… …
case 常量N:
	語句N;
	// break;
default:
	語句;
	// break;
}

Gn5s3j.png
  • switch-case語句應用舉例
public class SwitchTest {
	public static void main(String args[]) {
		int i = 1; 
		switch (i) 
		{ case 0:
			System.out.println("zero");
			break; 
		case 1:
			System.out.println("one"); 
			break;
		default:
			System.out.println("default");
             break;
			}
		}
}

  • switch-case語句有關規則
    • switch(表達式)中表達式的值必須是下述幾種類型之一:byte,short,char,int,枚舉 (jdk 5.0),String (jdk 7.0);
    • case子句中的值必須是常量,不能是變數名或不確定的表達式值;
    • 同一個switch語句,所有case子句中的常量值互不相同;
    • break語句用來在執行完一個case分支後使程式跳出switch語句塊;如果沒有break,程式會順序執行到switch結尾
    • default子句是可任選的。同時,位置也是靈活的。當沒有匹配的case時,執行default

5.switch和if語句的對比

  • 如果判斷的具體數值不多,而且符合byte、short 、char、int、String、枚舉等幾種類型。雖然兩個語句都可以使用,建議使用swtich語句。因為效率稍高。

  • 其他情況:對區間判斷,對結果為boolean類型判斷,使用if,if的使用範圍更廣。也就是說,使用switch-case的,都可以改寫為if-else。反之不成立。

6.迴圈結構

  • 在某些條件滿足的情況下,反覆執行特定代碼的功能

    • for 迴圈
    • while 迴圈
    • do-while 迴圈
  • 迴圈語句的四個組成部分

  • 初始化部分(init_statement)

    • 迴圈條件部分(test_exp)
  • 迴圈體部分(body_statement)

    • 迭代部分(alter_statement)

7.迴圈結構1:for迴圈

  • 語法格式
for (1.初始化部分;2.迴圈條件部分;3.迭代部分){
		4.迴圈體部分;
}
  • 執行過程
  • ①-②-③-④-②-③-④-②-③-④-.....-②
  • 說明
    • ②迴圈條件部分為boolean類型表達式,當值為false時,退出迴圈
    • ①初始化部分可以聲明多個變數,但必須是同一個類型,用逗號分隔
    • ④可以有多個變數更新,用逗號分隔
  • 演示
GnTnun.png
  • 應用舉例
public class ForLoop {
	public static void main(String args[]) 
		{ 
			int result = 0;
			for (int i = 1; i <= 100; i++) {
				result += i;
		}
			System.out.println("result=" + result);
	}
}

8.迴圈結構1:while迴圈

  • 語法格式
①初始化部分
while(②迴圈條件部分){
	③迴圈體部分;
	④迭代部分;
}
  • 執行過程

①-②-③-④-②-③-④-②-③-④-...-②

  • 說明
    • 註意不要忘記聲明④迭代部分。否則,迴圈將不能結束,變成死迴圈
    • for迴圈和while迴圈可以相互轉換
  • 應用舉例
public class WhileLoop {
	public static void main(String args[]) {
		int result = 0;
		int i = 1;
		while (i <= 100) 
			{ result += i; 
			i++;
		}
		System.out.println("result=" + result);
	}
}

9.迴圈結構1:do-while迴圈

  • 語法格式
①初始化部分
do{
	③迴圈體部分;
	④迭代部分;
}while(②迴圈條件部分);
  • 執行過程

①-③-④-②-③-④-②-③-④-...-②

  • 說明
    • do-while迴圈至少執行一次迴圈體
  • 應用舉例
public class DoWhileLoop {
	public static void main(String args[]) 
    { 
        int result = 0, i = 1;
	do {
		result += i;
		i++;
	} while (i <= 100);
		System.out.println("result=" + result);
	}
}

10.結語

8qXr3n.png

2020-3-27: Java基礎語法(2)-變數

2020-3-27: Java基礎語法(3)-運算符


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 不足之處,還請海涵,請指出不足。本人發佈過的文章,會不斷更改,力求減少錯誤信息。 Python安裝請借鑒網址https://www.runoob.com/python/python-install.html 安裝註意:(雖然上方鏈接已給出正規(個人認為)安裝過程,但仍有不詳細處。由於本人安裝過一定數 ...
  • 題目:圓圈中最後剩下的數字 0,1,,n-1這n個數字排成一個圓圈,從數字0開始,每次從這個圓圈裡刪除第m個數字。求出這個圓圈裡剩下的最後一個數字。 例如,0、1、2、3、4這5個數字組成一個圓圈,從數字0開始每次刪除第3個數字,則刪除的前4個數字依次是2、0、4、1,因此最後剩下的數字是3。 示例 ...
  • 我的LeetCode:https://leetcode cn.com/u/ituring/ 我的LeetCode刷題源碼[GitHub]:https://github.com/izhoujie/Algorithmcii LeetCode 面試題62. 圓圈中最後剩下的數字 題目 0,1,,n 1這n ...
  • 一核心概念 控制反轉:將bean的生成交給容器,程式可以從容器中獲取指定的bean。 個人理解:此優勢也是spring能夠流行併成為java主流框架的主要原因,java是幫助java程式員以對象的方式管理 記憶體,而spring則是一個管理對象的框架。如果使用spring,在開發中基本上不需要考慮記憶體 ...
  • 聲明 本文轉自https://developer.51cto.com/art/201906/597963.htm 什麼是RPC RPC(Remote Procedure Call):遠程過程調用,它是一種通過網路從遠程電腦程式上請求服務,而不需要瞭解底層網路技術的思想。 RPC 是一種技術思想而非 ...
  • 引言 Apache Shiro是一個強大而靈活的開源安全框架,它乾凈利落地處理身份認證,授權,企業會話管理和加密。Apache Shiro的首要目標是易於使用和理解。安全有時候是很複雜的,甚至是痛苦的,但它沒有必要這樣。框架應該儘可能掩蓋複雜的地方,露出一個乾凈而直觀的API,來簡化開發人員在使他們 ...
  • 靜態資源路徑 靜態資源支持放在以下路徑中,訪問優先順序從上到下: 其中 classpath 為 目錄。 請求地址為:http://localhost:8080/xx.js 首頁 文件位置: 導入 thymeleaf 模板引擎依賴: 定義請求控制器: 加入模板內容顯示首頁: ...
  • title: Java基礎語法(5) 特殊流程式控制制語句 blog: "CSDN" data: "Java學習路線及視頻" 1.嵌套迴圈結構 將一個迴圈放在另一個迴圈體內,就形成了嵌套迴圈。其中,for ,while ,do…while均可以作為外層迴圈或內層迴圈。 實質上,嵌套迴圈就是把內層迴圈當成 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...