- 流程控制語(yǔ)句:
選擇:if...else,switch...case
循環(huán):while,do...while,for
轉(zhuǎn)向控制:break,continue
選擇語(yǔ)句
1. if語(yǔ)句
例: OddDecider.java
import java.util.Scanner;
public class OddDecider {
public static void main(String args[]) {
Scanner sca=new Scanner(System.in);
System.out.println("請(qǐng)輸入數(shù)字:");
int input=sca.nextInt();
int remain=input%2;
if(remain==1)
System.out.println(input+"為奇數(shù)");
else
System.out.println(input+"是偶數(shù)");
}
}
運(yùn)行結(jié)果:
請(qǐng)輸入數(shù)字:
99
99為奇數(shù)
2. 嵌套if語(yǔ)句
嵌套if語(yǔ)句是指該if語(yǔ)句為另一個(gè)if或者else語(yǔ)句的對(duì)象岳掐。一個(gè)else語(yǔ)句總是對(duì)應(yīng)著和它在同一個(gè)塊中的最近的if語(yǔ)句,而且該if語(yǔ)句沒(méi)有與其他else語(yǔ)句相關(guān)聯(lián)。
if(i=10){
if(j<20)
a=b;
if(k>100)
c=d;
}
else
a=d;
3.if-else-if 階梯
基于嵌套if語(yǔ)句的通用編程結(jié)構(gòu)被稱(chēng)為if-else-if階梯嫌术。
例:ifelsedemo.java
public class ifelsedemo {
public static void main(String args[]) {
int month=4;
String season;
if(month==12||month==1||month==2)
season="winter";
if(month==3||month==4||month==5)
season="spring";
if(month==6||month==7||month==8)
season="summer";
if(month==9||month==10||month==11)
season="autumn";
else
season="bogus month";
System.out.println("april is in the"+season+".");
}
}
運(yùn)行結(jié)果:
april is in thebogus month.
4. swith語(yǔ)句
switch語(yǔ)句的執(zhí)行過(guò)程:表達(dá)式的值與每個(gè)case語(yǔ)句中的常量作比較秸苗,如果發(fā)現(xiàn)了一個(gè)與之匹配的,則執(zhí)行case語(yǔ)句后的代碼指孤。如果沒(méi)有一個(gè)case常量與表達(dá)式的值相匹配列牺,則執(zhí)行default語(yǔ)句。default語(yǔ)句可選划纽。
例:sampleswitch.java
public class sampleswitch {
public static void main(String args[]) {
for(int i=0;i<6;i++)
switch(i) {
case 0:
System.out.println("i=0");
break;
case 1:
System.out.println("i=1");
break;
case 2:
System.out.println("i=2");
break;
case 3:
System.out.println("i=3");
break;
default:
System.out.println("i大于3");
}
}
}
運(yùn)行結(jié)果:
i=0
i=1
i=2
i=3
i大于3
i大于3
break語(yǔ)句是可選的脆侮,如省略了break語(yǔ)句,程序?qū)?zhí)行下一個(gè)case語(yǔ)句勇劣,有時(shí)多個(gè)case語(yǔ)句之間沒(méi)有break語(yǔ)句靖避。
循環(huán)語(yǔ)句
1. while語(yǔ)句
例:whiledemo.java
public class whiledemo {
public static void main(String args[]) {
int n=10;
while(n>0) {
System.out.println("tick "+n);
n--;
}
}
}
運(yùn)行結(jié)果:
tick 10
tick 9
tick 8
tick 7
tick 6
tick 5
tick 4
tick 3
tick 2
tick 1
2. do-while循環(huán)語(yǔ)句
先執(zhí)行循環(huán)體,再計(jì)算表達(dá)式
3. for 循環(huán)
for(初始語(yǔ)句比默;邏輯表達(dá)式幻捏;迭代語(yǔ)句){
語(yǔ)句塊;
}
4. 嵌套循環(huán)
例:nested.java
public class nested {
public static void main(String args[]) {
int i,j;
for(i=0;i<10;i++) {
for(j=i;j<10;j++)
System.out.print("*");
System.out.println();
}
}
}
運(yùn)行結(jié)果:
**********
*********
********
*******
******
*****
****
***
**
*
跳轉(zhuǎn)語(yǔ)句
- Java支持三種跳轉(zhuǎn)語(yǔ)句:break命咐、continue篡九、return。
1.break語(yǔ)句
break語(yǔ)句一般在switch語(yǔ)句中醋奠,用來(lái)終止一個(gè)語(yǔ)句序列或用在循環(huán)結(jié)構(gòu)中榛臼,用來(lái)退出一個(gè)循環(huán)。
1)使用break退出循環(huán)
可以使用break語(yǔ)句直接強(qiáng)行退出循環(huán)窜司。
例:breakdemo.java
public class breakdemo {
public static void main(String args[]) {
for(int i=0;i<100;i++) {
if(i==10)break;
System.out.println("i="+i);
}
}
}
運(yùn)行結(jié)果:
i=0
i=1
i=2
i=3
i=4
i=5
i=6
i=7
i=8
i=9
2) 帶標(biāo)簽的break
通過(guò)使用帶標(biāo)簽的break沛善,可以終止一個(gè)或者幾個(gè)代碼塊。
例:break2.java
public class break2 {
public static void main(String args[]) {
boolean t=true;
first:{
second:{
third:{
System.out.println("before the break");
if(t) break second; //終止第二個(gè)語(yǔ)句體
System.out.println("this won't execute");
}
System.out.println("this won't execute");
}
}
System.out.println("this is after second block");
}
}
運(yùn)行結(jié)果:
before the break
this is after second block
2. continue語(yǔ)句
1)不帶標(biāo)號(hào)的continue語(yǔ)句
continue語(yǔ)句使控制直接轉(zhuǎn)移給控制循環(huán)的額條件表達(dá)式塞祈,然后繼續(xù)循環(huán)過(guò)程金刁。
例:continuedemo.java
public class cuntinuedemo {
public static void main(String args[]) {
for(int i=0;i<10;i++) {
System.out.print(i+"");
if(i%2==0)
continue;
System.out.println("");
}
}
}
運(yùn)行結(jié)果:
01
23
45
67
89
2)帶標(biāo)號(hào)的continue語(yǔ)句
帶標(biāo)號(hào)的continue語(yǔ)句多用在多層循環(huán)結(jié)構(gòu)中,而標(biāo)號(hào)名應(yīng)該在程序外側(cè)給循環(huán)語(yǔ)句的前面织咧,用來(lái)標(biāo)志這個(gè)循環(huán)結(jié)構(gòu)胀葱。
例:continueexample.java
public class continueexample {
public static void main(String args[]) {
loop:for(int i=1;i<20;i++) {
for(int j=2;j<i;j++) {
if((i%j)==0)
continue loop;
}
System.out.println("i="+i);
}
}
}
運(yùn)行結(jié)果:
i=1
i=2
i=3
i=5
i=7
i=11
i=13
i=17
i=19
3. return語(yǔ)句
return語(yǔ)句用來(lái)明確從一個(gè)方法返回,使程序控制返回到調(diào)用它的方法處笙蒙。
例:returndemo.java
public class returndemo {
public static void main(String args[]) {
boolean t=true;
System.out.println("before the return");
if(t)
return;
System.out.println("this won't execute");
}
}
運(yùn)行結(jié)果:
before the return