Java中的邏輯控制語句詳解
順序結(jié)構(gòu)
我們之前寫的大多代碼都是順序結(jié)構(gòu)的,即按照代碼的順序一行一行的執(zhí)行
代碼1
System.out.println("you");
System.out.println("and");
System.out.println("me");
代碼2
System.out.println("and");
System.out.println("me");
System.out.println("you");
上述代碼 1 運行結(jié)果:
you
and
me
代碼 2 運行結(jié)果:
and
me
you
分支結(jié)構(gòu)
if 語句
基本語法格式:
if(布爾表達式) {
代碼1
// 條件滿足時 執(zhí)行
} else {
代碼2
// 條件不滿足時 執(zhí)行
}
條件語句只能是布爾表達式
布爾表達式的結(jié)果為 true,執(zhí)行代碼1,否則執(zhí)行代碼2
舉例:
如果 J 這次考到90分以上,獎勵一個大雞腿,否則獎勵一個大嘴巴子
int score = 95;
if(score >= 90) {
System.out.println("獎勵一個大雞腿!");
}else {
System.out.println("獎勵一個大嘴巴子!");
}
注意事項:
懸垂else:
int x = 10;
int y = 10;
if (x == 10)
if (y == 10)
System.out.println("aaa");
else
System.out.println("bbb");
運行結(jié)果:aaa
有多個 if 語句且沒有大括號時,else與最近的 if 匹配,故建議寫 if 語句時,加上大括號~
switch 語句
基本語法格式:
switch(表達式) {
case 常量值1:{
語句1;
break;
}
case 常量值2:{
語句2;
break;
}
...
default:{
內(nèi)容都不滿足時執(zhí)行語句;
break;
}
}
執(zhí)行流程:
- 先計算表達式的值
- 和 case 依次比較,一旦有響應(yīng)的匹配就執(zhí)行該項下的語句,直到遇到 break 時結(jié)束
- 當(dāng)表達式的值沒有與所列項匹配時,執(zhí)行 default 后的語句
注意事項:
- break 不能遺漏,否則會失去 “多分支選擇” 的效果
- case 的常量值不能重復(fù)
- 一般不推薦switch 嵌套使用
不能做switch參數(shù)的類型有哪些?
long,float,double,boolean
循環(huán)結(jié)構(gòu)
while 循環(huán)
基本語法格式:
while(循環(huán)條件) {
循環(huán)語句;
}
循環(huán)條件為 true, 則執(zhí)行循環(huán)語句, 否則結(jié)束循環(huán)
while 循環(huán)輸入
Scanner scan = new Scanner(System.in);
// Ctrl+C 直接中斷程序
// Ctrl+D 正常退出程序
while(scan.hasNext()){
int year = scan.nextInt();
if((year % 4==0 && year % 100!=0) || year % 400==0){
System.out.println("閏年!");
}else{
System.out.println("不是閏年!");
}
}
Ctrl+C 直接中斷程序
Ctrl+D 正常退出程序

注意事項:
- 一定記得步進,否則可能出現(xiàn)死循環(huán)
- while 循環(huán)條件只能是布爾表達式
break
- break 功能:讓循環(huán)提前結(jié)束
- break只能用于兩種情況,一個是switch,一個是循環(huán)
代碼示例:
求100-200中第一個既能被3整除也能被5整除的數(shù):
int num = 100;
while(num<=200){
if(num % 15==0){
System.out.println(num);
break; //此處用break,因為break在while循環(huán)里
}
num++;
}
執(zhí)行結(jié)果: 105
continue
continue 功能:跳過這次循環(huán),進入下次循環(huán)
若將上邊break 示例代碼 中的 break 換成 continue,則會循環(huán)打印 105
for 循環(huán)
基本語法格式:
for(表達式1; 布爾表達式2; 表達式3){
循環(huán)體;
}
執(zhí)行順序:
第一趟循環(huán):
- 首先,執(zhí)行表達式 1,且表達式 1 只執(zhí)行一次,即循環(huán)的初始化
- 判斷表達式 2 是否為真若為真,
- 則執(zhí)行循環(huán)體
- 執(zhí)行表達式3
第二趟循環(huán):
- 判斷表達式 2 是否為真若為真,
- 則執(zhí)行循環(huán)體
- 執(zhí)行表達式3
一直到表達式2為假,循環(huán)結(jié)束
代碼示例:
for(int i=1; i<=10;i++){
System.out.println(i);
}
do while 循環(huán)
先執(zhí)行循環(huán)語句,再判定循環(huán)條件,條件成立則繼續(xù)執(zhí)行,否則循環(huán)結(jié)束
基本語法格式:
do{
循環(huán)語句;
}while(循環(huán)體);
代碼示例:
打印數(shù)字 1 - 10
int num = 1;
do {
System.out.println(num);
num++;
}while( num<=10 );
注意事項: do while 循環(huán)最后的分號一定不要忘記一般不推薦使用do while語句
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
一文帶你了解Java創(chuàng)建型設(shè)計模式之原型模式
原型模式其實就是從一個對象在創(chuàng)建另外一個可定制的對象,不需要知道任何創(chuàng)建的細節(jié)。本文就來通過示例為大家詳細聊聊原型模式,需要的可以參考一下2022-09-09
Java實現(xiàn)調(diào)用第三方相關(guān)接口
最近在做一個項目,需要調(diào)用第三方接口,本文主要介紹了Java實現(xiàn)調(diào)用第三方相關(guān)接口,具有一定的參考價值,感興趣的可以了解一下2023-09-09
servlet之session簡介_動力節(jié)點Java學(xué)院整理
這篇文章主要介紹了servlet之session簡介,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
Java基礎(chǔ)類庫之StringBuffer類用法詳解
String類是在所有開發(fā)項目開發(fā)之中一定會使用的一個功能類。雖然String類很好用,但也有弊端——內(nèi)容不允許頻繁修改,所以為了解決問題,我們提供了StringBuffer類。本文就來講講StringBuffer類的用法2022-07-07
一文教你利用Stream?API批量Mock數(shù)據(jù)的方法
在日常開發(fā)的過程中我們經(jīng)常會遇到需要mock一些數(shù)據(jù)的場景,比如說?mock?一些接口的返回或者說?mock?一些測試消息用于隊列生產(chǎn)者發(fā)送消息。本文將教你如何通過?Stream?API?批量?Mock?數(shù)據(jù),需要的可以參考一下2022-09-09
Maven構(gòu)建SpringBoot集成MyBatis過程
文章介紹了如何使用Maven創(chuàng)建一個Spring Boot項目,并集成MyBatis,首先,配置Maven環(huán)境,然后在pom.xml中添加MyBatis依賴,配置數(shù)據(jù)庫連接信息,最后生成Mapper XML文件和DAO層代碼2024-11-11

