條件語句
條件語句是JAVA中控制程序流程最基本的形式,包括if-else、if-else-if兩個語句。
if-else
if-else用中文就是如果-否則,即如果滿足指定條件將執行一個流程,否則將執行另外一個流程。else語句是可選的,即只使用if語句也是可以的。
if-else-if
if-else語句與if的連續使用,即是如果怎樣-否則怎樣-如果又則有-否則又怎樣-如果…
條件表達式
所有的條件語句都是由條件表達式的值(結果)來確定,其結果要麼爲ture要麼爲false,即boolean類型的值。
條件語句的基本結構如下
//if
if([條件表達式]){
[語句塊]
}
當語句塊中只有一條執行語句時可以省略大括號(不推薦這麼做),即:
if([條件表達式])
[執行語句]
//if-else
if([條件表達式]){
[語句塊]
}else{
[語句塊]
}
//同樣,只有一條執行語句時可以省略大括號
if([條件表達式])
[執行語句]
else
[執行語句]
//if-else-if
if([條件表達式]){
[語句塊]
}else{
[語句塊]
}if([條件表達式]){
[語句塊]
}
具體代碼實現:
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random random = new Random();
int a = random.nextInt(4);
int b = random.nextInt(4);
int c = random.nextInt(4);
System.out.println("a:" + a);
System.out.println("b:" + b);
System.out.println("c:" + c);
if(a == b){
System.out.println("a等於b");
}else if(a == c){
System.out.println("a等於c");
}else{
System.out.println("a與誰都不相等");
}
if(a > c){
System.out.println("a大於c");
}else if(a > b){
System.out.println("a大於b");
}else{
System.out.println("a可能是0或1");
}
}
}
Random類是JAVA中專門用來生成隨機數的類,nextInt用來生成指定範圍的int型整數,上面例子中參數4代表隨機生成0~3的整數。即a,b,c三個局部變量的值在0到3之間。
一次的運行結果:
a:1
b:0
c:0
a與誰都不相等
a大於c
另外一次的運行結果:
a:1
b:3
c:1
a等於c
a可能是0或1
邏輯操作符在條件表達式中的使用
改寫以上例子:
....
if(a != b && a != c){
System.out.println("a與誰都不相等");
}else if(a == b){
System.out.println("a等於b");
}else{
System.out.println("a等於c");
}
if(a == 0 || a == 1){
System.out.println("a可能是0或1");
}else if(a > c){
System.out.println("a大於c");
}else if(a != c){
System.out.println("a是2、c是3");
}else{
System.out.println("a等於c");
}
....
一次的運行結果
a:2
b:3
c:3
a與誰都不相等
a是2、c是3
迭代語句
迭代語句即滿足指定條件的情況下,重複迭代的執行同樣的語句塊。
while
語句格式:
while(條件表達式){
[語句塊]
}
while(條件表達式)
[執行語句]
while語句會在執行前,檢查條件表達試的值是否爲true,如果爲true就會執行語句塊的語句,執行完成後又會重新檢查檢查條件表達試的值是否爲true,循環以往,直到條件表達試的值爲false則循環結束。
public class Main {
public static void main(String[] args) {
int a = 0;
System.out.println("循環開始");
while(a < 10){
System.out.println("a = " + a);
a++;
}
System.out.println("循環結束");
}
}
輸出結果:
循環開始
a = 0
a = 1
a = 2
a = 3
a = 4
a = 5
a = 6
a = 7
a = 8
a = 9
循環結束
do-while
語句格式:
do{
[語句塊]
}while(條件表達式);
do-while和while唯一的區別就是先執行語句塊再檢查條件表達試的值是否爲true,也就是說,do-while無論條件表達式是否爲true,總會執行一次。注意while語句後面要加上分號。
public class Main {
public static void main(String[] args) {
int a = 2;
System.out.println("循環開始");
do{
System.out.println("a = " + a);
a++;
}while(a < 2);
System.out.println("循環結束");
}
}
輸出結果如下:
循環開始
a = 2
循環結束
for
for循環應該是JAVA中最常用的循環語句,它實際上是對while循環的一種優化,我們上面在用代碼演示while循環的例子時,對一個是從0加到10爲止,向這樣類似的循環使用情況出現的比較多,基本步驟一般都是,先給一個變量初始化值,然後給定循環條件,這個值要在一定範圍之內,每次循環完成後將該值加1,即指定循環N次。因此,用for循環可以這麼寫:
public class Main {
public static void main(String[] args) {
int n = 10;
System.out.println("循環開始");
for(int i = 1; i <= n; ++i){
System.out.println("這是第" + i + "次循環");
}
System.out.println("循環結束");
}
}
執行結果:
循環開始
這是第1次循環
這是第2次循環
這是第3次循環
這是第4次循環
這是第5次循環
這是第6次循環
這是第7次循環
這是第8次循環
這是第9次循環
這是第10次循環
循環結束
其中n指定循環的次數,我們可以看到for語句括號裏面的分爲三個部分,對變量的定義、循環執行條件表達式、循環執行完成後的操作部分,各部分由分號隔開。
逗號操作符
for循環的變量定義部分和每次循環後的操作部分,可以一次初始化多個變量,以及多個操作,其之間用逗號隔開。
public class Main {
public static void main(String[] args) {
System.out.println("循環開始");
for(int i = 1, j = i * 2; i <= 5; ++i, j = i * 2){
System.out.println("i = " + i + " j = " + j);
}
System.out.println("循環結束");
}
}
輸出結果
循環開始
i = 1 j = 2
i = 2 j = 4
i = 3 j = 6
i = 4 j = 8
i = 5 j = 10
循環結束