Java中的邏輯結(jié)構(gòu)詳解
Java中的邏輯結(jié)構(gòu)
邏輯結(jié)構(gòu) Java中的邏輯結(jié)構(gòu) 順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)
順序結(jié)構(gòu)
順序結(jié)構(gòu)顧名思義,就是按照代碼的順序依次往下執(zhí)行,這個(gè)不必多講
分支結(jié)構(gòu)
分支結(jié)構(gòu)又可以細(xì)分為兩個(gè):
if…else…這兩個(gè)單詞相信都認(rèn)識(shí),翻譯成中文就是我們平時(shí)所說(shuō)的如果…就…,那么在Java中該怎么用呢:
①:if else:
它的基本語(yǔ)法結(jié)構(gòu)如下:
if(判斷條件){
語(yǔ)句1;
}else{
語(yǔ)句2;
當(dāng)判斷條件為真的時(shí)候,執(zhí)行語(yǔ)句1,否則執(zhí)行語(yǔ)句2
示例:
import java.util.*; public class TestDemo13 { public static void main(String[]args) { Scanner scanner = new Scanner (System.in); int n = scanner.nextInt(); if (n>=5) { System.out.println("hello"); }else{ System.out.println("hehe"); } } }
這段代碼的意思就是我們輸入一個(gè)數(shù)字,如果這個(gè)數(shù)字大于等于5了,滿足了if條件,就執(zhí)行我們if里面的語(yǔ)句,如果不滿足,就執(zhí)行下面的語(yǔ)句。
注:if后面的括號(hào)里面只能是布爾表達(dá)式,不能是數(shù)學(xué)表達(dá)式,比如說(shuō)if(5<=a&&a<=20),不能寫(xiě)成if(5<=a<=20)。
還有一種情況:
import java.util.*; public class TestDemo13 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int j = scanner.nextInt(); if (n >= 5) { if (j >= 4) { System.out.println("hello"); } else { System.out.println("hehe"); } }
這里的else只能跟最近的那個(gè)if相匹配。
② if …else if … else… :
它的基本語(yǔ)法結(jié)構(gòu)如下:
if(判斷條件) {
語(yǔ)句1;
}else if(判斷條件) {
語(yǔ)句2;
}else{
語(yǔ)句2;
當(dāng)if的判斷條件為真的時(shí)候,執(zhí)行語(yǔ)句1,當(dāng)else if的判斷條件為真的時(shí)候,執(zhí)行語(yǔ)句2,否則執(zhí)行語(yǔ)句3
示例:
import java.util.*; public class TestDemo13 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); if (n == 5) { System.out.println("haha"); } else if (n > 5) { System.out.println("hehe"); } else { System.out.println("hello"); } } }
這段代碼的意思是如果n等于5了,就輸出哈哈,如果n大于5了,就輸出呵呵,如果n小于5了,就輸出hello,相當(dāng)于在if…else的基礎(chǔ)上把判斷條件劃分得更細(xì),里面的else if可以加任意個(gè),示有多少種情況而定。
switch():
它的基本語(yǔ)法如下:
in a = 5;
switch(a){
case 1:
語(yǔ)句;
break;
case 2:
語(yǔ)句;
break;
default: //當(dāng)哪個(gè)條件都不滿足的時(shí)候
語(yǔ)句3;
break;
示例:
import java.util.*; public class TestDemo13 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); switch (n) { case 1: System.out.println("hehe"); break; case 2: System.out.println("haha"); break; case 3: System.out.println("hello"); break; } } }
switch后面的括號(hào)就是判斷條件,下面的case如果滿足判斷條件,則執(zhí)行相應(yīng)的語(yǔ)句,不能做switch參數(shù)的類型有:long float double boolean。
注:一定要寫(xiě)break,如果不寫(xiě)的話case語(yǔ)句會(huì)依次往下執(zhí)行,從而失去了分支的效果。
循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)指在滿足循環(huán)條件的情況下,一直執(zhí)行,直到循環(huán)條件不滿足為止,循環(huán)條件大致可分為三種:
while循環(huán)
“while”這個(gè)單詞在英語(yǔ)中譯為“當(dāng)什么的時(shí)候”的意思,在Java中也可以這樣理解,它的基本結(jié)構(gòu)如下:
while(循環(huán)條件) {
循環(huán)語(yǔ)句;
}
當(dāng)循環(huán)條件為真的時(shí)候,執(zhí)行循環(huán)語(yǔ)句,否則跳出循環(huán),注:循環(huán)條件只能是布爾表達(dá)式
示例:打印1到5的數(shù)字
public class TestDemo14 { public static void main(String[] args) { int a = 1;//初始條件 while(a<=5) {//判斷循環(huán)條件 System.out.println(a); a++;//步進(jìn),指定循環(huán)的結(jié)束 } } }
while循環(huán)也可以嵌套使用
示例:計(jì)算1到5的階乘的和
public class TestDemo14 { public static void main(String[] args) { int sum = 0; int a = 1;//初始條件 while (a <= 5) {//判斷循環(huán)條件 int i = 1; int ret = 1; while (i <= a) { ret *= i; i++; } a++; sum += ret; } System.out.println(sum); } }
for循環(huán) 它的基本結(jié)構(gòu)如下:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3) {
循環(huán)體;
執(zhí)行順序:先執(zhí)行表達(dá)式1,且只執(zhí)行一次,也叫做循環(huán)的初始條件,然后判斷表達(dá)式是否為真,然后再循環(huán)體,第四步,執(zhí)行表達(dá)式3;一直循環(huán),直到為假
示例:打印1到10之間的數(shù)字
public class TestDemo14 { public static void main(String[] args) { int n = 1; for (; n <= 10; n++) { //i可以定義到外部,i++也可以放到下面 System.out.println(n); } } }
for循環(huán)也可以嵌套使用
示例:計(jì)算1——5的階乘的和
public class TestDemo14 { public static void main(String[] args) { int sum = 0; int n = 1; for (; n <= 5; n++) { int i = 1; int ret = 1; for (; i <= n; i++) { ret *= i; } sum += ret; } System.out.println(sum); } }
do while 它的基本結(jié)構(gòu)如下:
do {
循環(huán)語(yǔ)句:
}while(循環(huán)條件)//先執(zhí)行一次循環(huán)語(yǔ)句,再判定循環(huán)條件
示例:
public class TestDemo14 { public static void main(String[] args) { int sum = 0; do { System.out.println("haha"); } while (sum != 0); } }
以上就是Java中三個(gè)邏輯結(jié)構(gòu)的基本知識(shí),和c語(yǔ)言沒(méi)有多大的區(qū)別,建議大家多去找一些習(xí)題練一下,讓自己的大腦里有一個(gè)java項(xiàng)目的大概框架。
到此這篇關(guān)于Java中的邏輯結(jié)構(gòu)的文章就介紹到這了,更多相關(guān)Jav邏輯結(jié)構(gòu)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)項(xiàng)目之在線服裝銷售商城系統(tǒng)的實(shí)現(xiàn)流程
基礎(chǔ)掌握怎么樣,用實(shí)戰(zhàn)檢驗(yàn)就知道了,本篇文章手把手帶你用java+SpringBoot+Maven+Vue+mysql實(shí)現(xiàn)一個(gè)在線服裝銷售商城系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2022-01-01SpringBoot實(shí)現(xiàn)登錄攔截的示例代碼
如果我們不進(jìn)行登錄攔截的話,即使我們跳過(guò)登錄頁(yè)面直接去訪問(wèn)任意一個(gè)頁(yè)面也能訪問(wèn)成功,那么登錄功能就沒(méi)有意義,同時(shí)也會(huì)存在安全問(wèn)題,本文就來(lái)介紹一下SpringBoot登錄攔截,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09Kotlin與Java 泛型缺陷和應(yīng)用場(chǎng)景詳解
這篇文章主要為大家介紹了Kotlin與Java 泛型缺陷和應(yīng)用場(chǎng)景詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12springboot 多數(shù)據(jù)源的實(shí)現(xiàn)(最簡(jiǎn)單的整合方式)
這篇文章主要介紹了springboot 多數(shù)據(jù)源的實(shí)現(xiàn)(最簡(jiǎn)單的整合方式),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Spring Boot中優(yōu)雅的獲取yml文件工具類
今天小編就為大家分享一篇關(guān)于Spring Boot中優(yōu)雅的獲取yml文件工具類,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12SpringBoot項(xiàng)目Docker部署三種方式
本文主要介紹了SpringBoot項(xiàng)目Docker部署三種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08Java讀取properties文件內(nèi)容的幾種方式詳解
這篇文章主要介紹了Java讀取properties文件內(nèi)容的幾種方式詳解,讀取properties配置文件在實(shí)際的開(kāi)發(fā)中使用的很多,本文來(lái)介紹常用的幾種實(shí)現(xiàn)方式,需要的朋友可以參考下2023-11-11java objectUtils 使用可能會(huì)出現(xiàn)的問(wèn)題
這篇文章主要介紹了java objectUtils 使用可能會(huì)出現(xiàn)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02