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