流程控制(一)

流程控制(一)

流程控制对于任何一门编程语言来说都是至关重要的,它提供了控制程序步骤的手段。如果没有流程控制语句,整个程序将按照线性的顺序来执行,不能根据用户的需求来决定执行的序列。

复合语句

Java语言的复合语句是以整个块区为单位的语句,所以又称为块语句或代码块。复合语句由开括号“{”开始,闭括号“}”结束。
复合语句中的每个语句都是从上到下被执行。复合语句以整个块为单位,能够在任何一个单独语句可以用到的地方,并且在复合语句中还可以嵌套复合语句。
在使用复合语句的时候,要注意复合语句中的局部变量的作用域只局限于代码块内。

{
int num =0;
System.out.println(num);
}

条件语句

条件语句可以根据不同的条件执行不同的语句。条件语句包括if条件语句和switch多分枝语句。
if条件语句:
if条件语句是一个很重要的编程语句,用于告诉程序在某个条件成立的情况下执行某段语句,而另外一种情况下执行另外的语句。语法如下:
第一种 简单if语句:

if(布尔表达式) {
    //布尔表达式为true则执行
    若干语句
}

第二种 if…else语句:

If(布尔表达式) {
    //布尔表达式为true则执行
    若干语句
}else {
    //布尔表达式为false则执行
    若干语句
}

第三种 if…else if语句:

If(布尔表达式1) {
    //布尔表达式1true则执行
    若干语句
}else if(布尔表达式2){
    //布尔表达式2true则执行
    若干语句
}

switch分支语句:
语法:

switch(表达式){
case 常量值1:
    语句块1
    [break;] 
...
case 常量值n:
    语句块n
    [break;]
default:
    语句块n+1
    [break;] 
}

switch语句中表达式的值必须是整型字符型字符串类型,常量值1~n也必须是整型、字符型或字符串类型。
注意:在JDK1.6及以前的版本中,switch语句中表达式的值必须是整型、字符型,但是在JDK1.7中加入了字符串类型。
switch语句首先计算表达式的值,然后会逐个找常量值与表达式的值相同的case语句,如果有则执行该case语句中的语句,直到遇到break语句;如果没有相匹配的case语句则执行default语句。default语句可选,如果它不存在,且switch语句中表达式的值不与任何case常量相同,switch则不做任何处理。
注意:如果case语句中没有break语句,执行完匹配的case语句后,将会继续执行后面的case语句,直到遇到break语句,或者到switch语句结束处为止。
例如:

public class Test {

    public static void main(String[] args) {
        System.out.println("请输入1~5的整数:");
        Scanner s = new Scanner(System.in);
        int num = s.nextInt();

        switch(num) {
        case 1:
            System.out.println("我是第一条case语句");
            break;
        case 2:
            System.out.println("我是第二条case语句");
            break;
        case 3:
            System.out.println("我是第三条case语句");

        case 4:
            System.out.println("我是第四条case语句");

        case 5:
            System.out.println("我是第五条case语句");
        default:
            System.out.println("没有匹配的case语句");
            break;
        }
    }
}

上面的程序如果输入2,则匹配到第二条case语句,打印结果如下:
这里写图片描述

如果输入3,匹配到第三条case语句,由于第三条case语句没有break语句,执行完第三条case语句后会继续执行,直到遇到break语句或者switch语句结束处。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/is_Javaer/article/details/82556181