JAVA基础总结(6)—— 控制执行流程1

条件语句

条件语句是JAVA中控制程序流程最基本的形式,包括if-elseif-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可能是01

逻辑操作符在条件表达式中的使用

改写以上例子:

					....
					
		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
循环结束
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章