詳解Java中的三種流程控制語句
順序語句
順序顧名思義就是程序自上而下執(zhí)行
public class User {
public static void main(String[] args) {
String name = "hacker";
int age = 18;
String happy = "學(xué)習(xí)Java";
System.out.println("姓名:"+name);
System.out.println("年齡:"+age);
System.out.println("愛好:"+happy);
}
}
運(yùn)行結(jié)果如下:

選擇語句
if else
if (表達(dá)式){
語句塊1
}
else{
語句塊2
}
先判斷表達(dá)式,當(dāng)表達(dá)式的值為true時,執(zhí)行語句塊1,否則,執(zhí)行語句塊2
舉個栗子
從控制臺輸入成績,如果成績大于或等于60,輸出成績及格,否則輸出成績不及格
import java.util.Scanner;
public class User {
public static void main(String[] args) {
var sc = new Scanner(System.in);
System.out.print("請輸入成績:");
float score = sc.nextFloat();
if(score>=60){//如果成績>=60,成績及格
System.out.printf("成績及格:%3.1f", score);
}
else {//否則成績不及格
System.out.printf("成績不及格:%3.1f", score);
}
}
}
運(yùn)行結(jié)果如下:


if else的嵌套
需要對多個條件進(jìn)行判斷就需要用到if else的嵌套
基本格式如下:
if (表達(dá)式1){
語句塊1
}else if(表達(dá)式2){
語句塊2
}
else{
語句塊3
}
先判斷表達(dá)式1,當(dāng)表達(dá)式1成立執(zhí)行語句塊1,不成立判斷表達(dá)式2,若表達(dá)式2成立執(zhí)行語句塊2,不成立執(zhí)行語句塊3
舉個栗子
從控制臺輸入成績,成績小于60時成績不及格,當(dāng)成績在60~90之間時成績及格,當(dāng)成績大于90時成績優(yōu)秀
import java.util.Scanner;
public class User {
public static void main(String[] args) {
var sc = new Scanner(System.in);//
System.out.print("請輸入成績:");
float score = sc.nextFloat();
if(score<60){//如果成績<60,成績不及格
System.out.printf("成績不及格:%3.1f", score);
}else if(score>=60&&score<90){//如果60<=score<90,成績及格
System.out.printf("成績及格:%3.1f", score);
}
else {//否則成績優(yōu)秀
System.out.printf("成績優(yōu)秀:%3.1f", score);
}
}
}
運(yùn)行結(jié)果如下:



switch case default
先判斷switch后面括號里表達(dá)式的值,然后拿著值去匹配case語句,若匹配到了執(zhí)行case語句對應(yīng)的語句塊。執(zhí)行后若遇到break則退出switch語句,如果沒有break則繼續(xù)執(zhí)行下面的case語句塊,直到遇到break退出switch語句
switch(表達(dá)式)
{
case 值1:語句塊1:break;
case 值2:語句塊2:break;
case 值3:語句塊3:break;
default:語句塊4
import java.util.Scanner;
public class User {
public static void main(String[] args) {
var sc = new Scanner(System.in);
System.out.print("輸入1,2,3中其一數(shù)字:");
int number = sc.nextInt();
switch(number) {
case 1:
System.out.print("hello");
break;
case 2:
System.out.print("Java");
break;
case 3:
System.out.print("world");
default:
System.out.print("輸入有誤,請重新輸入");
}
}
}
運(yùn)行結(jié)果如下:


循環(huán)語句
for
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
{循環(huán)體}
表達(dá)式1的值給循環(huán)變量賦初始值;表達(dá)式2是判斷條件,表達(dá)式3是改變循環(huán)變量的值
執(zhí)行過程如下:
先計算表達(dá)式1的值,再計算表達(dá)式2的值。若為真執(zhí)行循環(huán)體,若為假,直接跳出循環(huán),然后計算表達(dá)式3的值;再次計算表達(dá)式2的值,若為真,再執(zhí)行循環(huán)體,再計算表達(dá)式3的值,直到表達(dá)式2的值為假,循環(huán)結(jié)束,執(zhí)行循環(huán)下面的語句
舉個栗子
循環(huán)打印出1到10
public class User {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
}
}
運(yùn)行結(jié)果如下:

for in
從數(shù)組中挨個取值
public class User {
public static void main(String[] args) {
int[] a = {1, 2, 3, 4, 5, 6};
for (int i : a) {
System.out.println(i);
}
}
}
運(yùn)行結(jié)果如下:

while
while(表達(dá)式){
循環(huán)體
}
public class User {
public static void main(String[] args) {
int i = 0;
while (i < 10) {
i++;
System.out.println(i);
}
}
}
運(yùn)行結(jié)果如下:

do while
do while和while的區(qū)別
do while會先執(zhí)行循環(huán)體再判斷條件,while先判斷條件再執(zhí)行循環(huán)體
do while最少執(zhí)行一次,while可以一次都不執(zhí)行
do{循環(huán)體} while(表達(dá)式)
public class User {
public static void main(String[] args) {
int i = 0;
do {//先執(zhí)行循環(huán)體,即使i++不滿足條件也會執(zhí)行
i++;
System.out.print(i);
} while (i < 0);
}
}
運(yùn)行結(jié)果如下:

break continue
break 終止循環(huán)
continue 跳出當(dāng)前循環(huán),進(jìn)入下一次循環(huán)
public class User {
public static void main(String[] args) {
for (int i = 0;i <= 10;i++){
if( i == 2){
break; //break當(dāng)i=2時直接終止循環(huán)
}
System.out.println(i);
}
}
}
當(dāng)循環(huán)到i=2時遇到break直接終止循環(huán),不繼續(xù)執(zhí)行
運(yùn)行結(jié)果如下:
0
1
public class User {
public static void main(String[] args) {
for (int i = 0;i <= 10;i++){
if( i == 2){
continue; //continue當(dāng)i=2時跳出本次循環(huán),進(jìn)入下一次循環(huán)(不打印2)
}
System.out.println(i);
}
}
}
當(dāng)循環(huán)到i=2時遇到continue跳過本次循環(huán)繼續(xù)下一輪循環(huán)(i=2不執(zhí)行)
繼續(xù)執(zhí)行下面的循環(huán)直到for語句條件不滿足終止循環(huán)
運(yùn)行結(jié)果如下:
0
1
3
4
5
6
7
8
9
10
到此這篇關(guān)于詳解Java中的三種流程控制語句的文章就介紹到這了,更多相關(guān)Java流程控制語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot2.0整合jackson配置日期格式化和反序列化的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot2.0整合jackson配置日期格式化和反序列化的實(shí)現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
Java對世界不同時區(qū)timezone之間時間轉(zhuǎn)換的處理方法
這篇文章主要介紹了Java對世界不同時區(qū)timezone之間時間轉(zhuǎn)換的處理方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
利用Jmeter發(fā)送Java請求的實(shí)戰(zhàn)記錄
JMeter是Apache組織的開放源代碼項目,它是功能和性能測試的工具,100%的用java實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于如何利用Jmeter發(fā)送Java請求的相關(guān)資料,需要的朋友可以參考下2021-09-09
Spring中的BeanFactory對象實(shí)例化工廠詳解
這篇文章主要介紹了Spring中的BeanFactory對象實(shí)例化工廠詳解,BeanFactory及其子類是Spring IOC容器中最重要的一個類,BeanFactory由類名可以看出其是一個Bean工廠類,其實(shí)它確實(shí)是一個Bean工廠類,完成Bean的初始化操作,需要的朋友可以參考下2023-12-12
在Spring Boot中淺嘗內(nèi)存泄漏的實(shí)戰(zhàn)記錄
本文給大家分享在Spring Boot中淺嘗內(nèi)存泄漏的實(shí)戰(zhàn)記錄,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-04-04
springboot yml中profiles的巧妙用法(小白必看多環(huán)境配置)
這篇文章主要介紹了springboot yml中profiles的巧妙用法,非常適合多環(huán)境配置場景,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04
java 使用DecimalFormat進(jìn)行數(shù)字的格式化實(shí)例詳解
這篇文章主要介紹了java 使用DecimalFormat進(jìn)行數(shù)字的格式化實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06

