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
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...
  • 目錄前言PostgreSql安裝測試額外Nuget安裝Person.cs模擬運行Navicate連postgresql解決方案Garnet為什麼要選擇Garnet而不是RedisRedis不再開源Windows版的Redis是由微軟維護的Windows Redis版本老舊,後續可能不再更新Garne ...
  • C#TMS系統代碼-聯表報表學習 領導被裁了之後很快就有人上任了,幾乎是無縫銜接,很難讓我不想到這早就決定好了。我的職責沒有任何變化。感受下來這個系統封裝程度很高,我只要會調用方法就行。這個系統交付之後不會有太多問題,更多應該是做小需求,有大的開發任務應該也是第二期的事,嗯?怎麼感覺我變成運維了?而 ...
  • 我在隨筆《EAV模型(實體-屬性-值)的設計和低代碼的處理方案(1)》中介紹了一些基本的EAV模型設計知識和基於Winform場景下低代碼(或者說無代碼)的一些實現思路,在本篇隨筆中,我們來分析一下這種針對通用業務,且只需定義就能構建業務模塊存儲和界面的解決方案,其中的數據查詢處理的操作。 ...
  • 對某個遠程伺服器啟用和設置NTP服務(Windows系統) 打開註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 將 Enabled 的值設置為 1,這將啟用NTP伺服器功 ...
  • title: Django信號與擴展:深入理解與實踐 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 後端開發 tags: Django 信號 松耦合 觀察者 擴展 安全 性能 第一部分:Django信號基礎 Djan ...
  • 使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-r ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...