淺談選擇結(jié)構(gòu)if語句和switch語句的區(qū)別
1.選擇結(jié)構(gòu)if語句格式及其使用
A:if語句的格式:
if(比較表達(dá)式1) {
語句體1;
}else if(比較表達(dá)式2) {
語句體2;
}else if(比較表達(dá)式3) {
語句體3;
}
...
else {
語句體n+1;
}
B:執(zhí)行流程:
首先計(jì)算比較表達(dá)式1看其返回值是true還是false,
如果是true,就執(zhí)行語句體1,if語句結(jié)束。
如果是false,接著計(jì)算比較表達(dá)式2看其返回值是true還是false,
如果是true,就執(zhí)行語句體2,if語句結(jié)束。
如果是false,接著計(jì)算比較表達(dá)式3看其返回值是true還是false,
如果都是false,就執(zhí)行語句體n+1。
C:注意事項(xiàng):最后一個else可以省略,但是建議不要省略,可以對范圍外的錯誤值提示
eg:
import java.util.Scanner; class Demo_If { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //鍵盤輸入, while(true) { System.out.println("請您輸入成績"); //提示輸入 int a = sc.nextInt(); //鍵盤輸入用int類型接收 if (a>100|a<0) { //死循環(huán),方便測試 System.out.println("您輸入的成績有誤"); }else if (a>=90&a<=100) { System.out.println("A等"); }else if (a>=80&a<90) { System.out.println("B等"); }else if (a>=70&a<80) { System.out.println("C等"); }else if (a>=60&a<70) { System.out.println("D等"); }else if (a<60) { System.out.println("E等"); }else { System.out.println("您輸入的成績有誤"); } } } }
2.選擇結(jié)構(gòu)switch語句格式及其使用
A:switch格式:
switch(表達(dá)式) {
case 值1:
語句體1;
break;
case 值2:
語句體2;
break;
…
default:
語句體n+1;
break;
}
B:switch語句的格式解釋
(基本數(shù)據(jù)類型,只要能提升為int的都可以,引用數(shù)據(jù)類型中的枚舉(JDK1.5)和String(JDK1.7))
C:執(zhí)行流程
先計(jì)算表達(dá)式的值
然后和case后面的匹配,如果有就執(zhí)行對應(yīng)的語句,否則執(zhí)行default控制的語句
eg
import java.util.*; class Dome_If3{ public static void main(String[] args) { //System.out.println("Hello World!"); Scanner sc =new Scanner(System.in); //鍵盤錄入 while(true) { //死循環(huán)方便測試 System.out.println("請您 輸入要轉(zhuǎn)換的星期數(shù)"); //鍵盤錄入提示 in week = sc.nextInt(); switch(week) { case 1: System.out.println("星期1"); break; case 2: System.out.println("星期2"); break; case 3: System.out.println("星期3"); break; case 4: System.out.println("星期4"); break; case 5: System.out.println("星期5"); break; case 6: System.out.println("星期6"); break; case 7: System.out.println("星期天"); break; default: System.out.println("您輸入的數(shù)字有誤,請重新輸入"); } } } }
3:總結(jié)switch語句和if語句的各自使用場景
switch建議判斷固定值的時候用
if建議判斷區(qū)間或范圍的時候用
*用switch能做的,用if都能做,單反過來則不行
以上這篇淺談選擇結(jié)構(gòu)if語句和switch語句的區(qū)別就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于MyBatis的數(shù)據(jù)持久化框架的使用詳解
Mybatis是一個優(yōu)秀的開源、輕量級持久層框架,它對JDBC操作數(shù)據(jù)庫的過程進(jìn)行封裝。本文將為大家講解一下基于MyBatis的數(shù)據(jù)持久化框架的使用,感興趣的可以了解一下2022-08-08java面向國際化項(xiàng)目開發(fā)需遵循的命名規(guī)范
這篇文章主要為大家介紹了在參與開發(fā)國際化項(xiàng)目時需遵循的java命名規(guī)范,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03SpringBoot整合rockerMQ消息隊(duì)列詳解
今天和大家一起深入生產(chǎn)級別消息中間件 - RocketMQ 的內(nèi)核實(shí)現(xiàn),來看看真正落地能支撐萬億級消息容量、低延遲的消息隊(duì)列到底是如何設(shè)計(jì)的。我會先介紹整體的架構(gòu)設(shè)計(jì),然后再深入各核心模塊的詳細(xì)設(shè)計(jì)、核心流程的剖析2022-07-07智能 AI 代碼生成工具 Cursor 安裝和使用超詳細(xì)教程
Cursor.so 是一個集成了 GPT-4 的國內(nèi)直接可以訪問的,優(yōu)秀而強(qiáng)大的免費(fèi)代碼生成器,可以幫助你快速編寫、編輯和討論代碼,這篇文章主要介紹了智能 AI 代碼生成工具 Cursor 安裝和使用介紹,需要的朋友可以參考下2023-05-05SpringBoot編譯target目錄下沒有resource下的文件踩坑記錄
這篇文章主要介紹了SpringBoot編譯target目錄下沒有resource下的文件踩坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08Java操作另一個Java程序使其重啟的簡單實(shí)現(xiàn)
下面小編就為大家?guī)硪黄狫ava操作另一個Java程序使其重啟的簡單實(shí)現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03解決springboot?部署到?weblogic?中?jar?包沖突的問題
這篇文章主要介紹了springboot?部署到?weblogic?中?jar?包沖突,weblogic?也有是解決方案的,可以通過新增并配置?weblogic.xml?文件來定義哪些類需要優(yōu)先從項(xiàng)目工程包的?jar?包中加載,本文給大家分享解決方法,需要的朋友可以參考下2022-08-08