Java中Switch用法代碼示例
一、java當中的switch與C#相比有以下區(qū)別
注:在java中switch后的表達式的類型只能為以下幾種:byte、short、char、int(在Java1.6中是這樣), 在java1.7后支持了對string的判斷
還有一點要注意的是:在java中如果switch的case語句中少寫了break;這個關鍵字,在編譯的時候并沒有報錯。但是在執(zhí)行的時候會一直執(zhí)行所有case條件下的語句并不是去判斷,所以會一直執(zhí)行直到遇到break關鍵字跳出或者一直執(zhí)行到defaut語句。
還有就是如果在switch表達的結(jié)果在case中沒話swithc就會從default執(zhí)行,這是與C#不同的地方。
對應演示代碼:
public class TestSwitch{
public static void main(String args[]){
char c = 'a'; //char類型字符
switch(c){
default:
System.out.println("打印默認值");
break;
case 'a':
System.out.println("a");
break;
case 'b':
System.out.println('b');
break;
case 'c':
System.out.println('c');
break;
case 'd':
System.out.println("d");
break;
}
}
}
下面再介紹一個例子
二.switch的用法和if的大體作用是一樣的
switch的用法和if的大體作用是一樣的,但是在細節(jié)方面不一樣,if語句主要用做范圍性的判斷選擇,而switch判斷的比較準確,類似于等值判斷。
用法:
switch(判斷條件){
case 與判斷條件進行比較:判斷成功執(zhí)行;break(break的作用是執(zhí)行完成后跳出);
……(可以寫很多比較的case)
case 與判斷條件進行比較:判斷成功執(zhí)行;break;
}
switch的案例:
package com.bjsxt.one;
import java.util.*;
/**
* 實現(xiàn)一個功能:根據(jù)學生錄入的分數(shù),判斷學生的級別
* >=90 A
* >=80 B
* >=70 C
* >=60 D
* <60 E
*/
public class Grade {
public static void main(String[] args){
//獲取學生的分數(shù)
Scanner sc=new Scanner(System.in);
System.out.println("請輸入學生的分數(shù)");
int score=sc.nextInt();
String grade="";
boolean flag=true;
switch(score/10){
case 10: grade="A";break;
case 9: grade="A";break;
case 8: grade="B";break;
case 7: grade="C";break;
case 6: grade="D";break;
case 5: grade="E";break;
case 4: grade="E";break;
case 3: grade="E";break;
case 2: grade="E";break;
case 1: grade="E";break;
default :flag=false;
}
if(flag){
System.out.println("該學生的等級是"+grade);
}else{
System.out.println("分數(shù)錄入錯誤");
}
}
}
運行結(jié)果:
請輸入學生的分數(shù) 50 該學生的等級是E 請輸入學生的分數(shù) 60 該學生的等級是D 請輸入學生的分數(shù) 70 該學生的等級是C 請輸入學生的分數(shù) 80 該學生的等級是B 請輸入學生的分數(shù) 90 該學生的等級是A 請輸入學生的分數(shù) 100 該學生的等級是A 請輸入學生的分數(shù) 1000 分數(shù)錄入錯誤
總結(jié)
以上就是本文關于Java中Switch用法代碼示例的全部內(nèi)容,希望對大家有所幫助。歡迎參閱:Java異常退出條件的判斷示例代碼、淺談java實現(xiàn)mongoDB的多條件查詢等,有什么問題可以隨時留言,歡迎大家交流討論。。。。
相關文章
使用SpringBoot Actuator監(jiān)控應用示例
Actuator是Spring Boot提供的對應用系統(tǒng)的自省和監(jiān)控的集成功能,可以對應用系統(tǒng)進行配置查看、相關功能統(tǒng)計等。這篇文章主要介紹了使用SpringBoot Actuator監(jiān)控應,有興趣的可以了解一下2018-05-05
ActiveMQ基于zookeeper的主從(levelDB Master/Slave)搭建
這篇文章主要介紹了ActiveMQ基于zookeeper的主從levelDB Master/Slave搭建,以及Spring-boot下的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
Java微服務Filter過濾器集成Sentinel實現(xiàn)網(wǎng)關限流過程詳解
這篇文章主要介紹了Java微服務Filter過濾器集成Sentinel實現(xiàn)網(wǎng)關限流過程,首先Sentinel規(guī)則的存儲默認是存儲在內(nèi)存的,應用重啟之后規(guī)則會丟失。因此我們通過配置中心Nacos保存規(guī)則,然后通過定時拉取Nacos數(shù)據(jù)來獲取規(guī)則配置,可以做到動態(tài)實時的刷新規(guī)則2023-02-02
@Autowired注解注入的xxxMapper報錯問題及解決
這篇文章主要介紹了@Autowired注解注入的xxxMapper報錯問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
spring boot org.junit.jupiter.api不存在的解決
這篇文章主要介紹了spring boot org.junit.jupiter.api不存在的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09

