在 Java 語言中的邏輯結(jié)構(gòu)主要分為了三種,分別是順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。本篇文章,我將為大家詳細地總結(jié)了 Java 三種邏輯結(jié)構(gòu)的內(nèi)容,希望能夠?qū)Υ蠹业膶W習有所幫助!
順序結(jié)構(gòu)
順序結(jié)構(gòu)顧名思義,就是按照代碼的順序依次往下執(zhí)行,這個不必多講
分支結(jié)構(gòu)
分支結(jié)構(gòu)又可以細分為兩個:
if…else…這兩個單詞相信都認識,翻譯成中文就是我們平時所說的如果…就…,那么在Java中該怎么用呢:
①:if else:
它的基本語法結(jié)構(gòu)如下:
if(判斷條件){
語句1;
}else{
語句2;
當判斷條件為真的時候,執(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后面的括號里面只能是布爾表達式,不能是數(shù)學表達式,比如說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;
當if的判斷條件為真的時候,執(zhí)行語句1,當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,相當于在if…else的基礎(chǔ)上把判斷條件劃分得更細,里面的else if可以加任意個,示有多少種情況而定。
switch():
它的基本語法如下:
in a = 5;
switch(a){
case 1:
語句;
break;
case 2:
語句;
break;
default: //當哪個條件都不滿足的時候
語句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”這個單詞在英語中譯為“當什么的時候”的意思,在Java中也可以這樣理解,它的基本結(jié)構(gòu)如下:
while(循環(huán)條件) {
循環(huán)語句;
}
當循環(huán)條件為真的時候,執(zhí)行循環(huán)語句,否則跳出循環(huán),注:循環(huán)條件只能是布爾表達式
示例:打印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++;//步進,指定循環(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(表達式1;表達式2;表達式3) {
循環(huán)體;
執(zhí)行順序:先執(zhí)行表達式1,且只執(zhí)行一次,也叫做循環(huán)的初始條件,然后判斷表達式是否為真,然后再循環(huán)體,第四步,執(zhí)行表達式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ū)別,建議大家多去找一些習題練一下,讓自己的大腦里有一個java項目的大概框架。
到此這篇關(guān)于 Java 中的三種邏輯結(jié)構(gòu)的文章就介紹到這了,想要了解更多相關(guān) Java 其他的內(nèi)容請搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,也希望大家以后多多支持!