JAVA流程控制

目录

复合语句

条件语句

循环语句

循环控制


 

复合语句

Java的复合语句是一组语句,用大括号“{}”括起来,通常用于控制结构中,如if语句、for循环、while循环等。复合语句中可以包含多个语句,这些语句按照顺序逐一执行。例如:

if (score >= 60) {
    System.out.println("及格了!");
    System.out.println("恭喜你!");
} else {
    System.out.println("不及格!");
}

上述代码中,if语句的条件为score是否大于等于60,如果满足条件,则执行两条语句,即输出"及格了!"和"恭喜你!";否则执行else语句,输出"不及格!"。这些语句都被包含在大括号中,构成了一个复合语句。

条件语句

1.if条件语句

1.1简单的if条件语句

简单的if条件语句是Java中最基本的条件语句,它包含一个if关键字、一个条件表达式和一条执行语句。它的基本语法如下:

if (条件表达式) {
    // 执行语句
}

条件表达式的值必须是布尔类型(即true或false),如果条件表达式的值为true,那么将会执行if语句块中的代码;如果条件表达式的值为false,那么if语句块中的代码将不会被执行。

例如,下面的代码演示了一个简单的if条件语句,检查变量x的值是否大于10:

int x = 15;
if (x > 10) {
    System.out.println("x大于10");
}

上面的代码中,x的值为15,条件表达式x > 10的值为true,因此if语句块中的代码将会执行,输出“x大于10”。

1.2if...else语句

   

if-else语句是Java中常用的条件语句,它允许我们在条件表达式得到false时执行一个不同的语句块。它的语法如下:

if (条件表达式) {
    // 条件表达式为true时执行的语句块
} else {
    // 条件表达式为false时执行的语句块
}

当条件表达式的值为true时,将执行if语句块中的代码;当条件表达式的值为false时,将执行else语句块中的代码。

例如,下面的代码演示了一个if-else语句,如果变量x的值大于10,则输出"大于10";否则输出"小于等于10"。

int x = 5;
if (x > 10) {
    System.out.println("大于10");
} else {
    System.out.println("小于等于10");
}

上面的代码中,由于x的值为5,因此条件表达式x > 10的值为false,将执行else语句块中的代码,输出"小于等于10"。

1.3if...else  if多分支语句

if...else if语句也是Java中的条件语句,它允许我们判断多个条件,根据不同的条件执行不同的语句块。其语法如下:

if (条件表达式1) {
    // 条件表达式1为true时执行的语句块
} else if (条件表达式2) {
    // 条件表达式1为false,条件表达式2为true时执行的语句块
} else if (条件表达式3) {
    // 条件表达式1、2都为false,条件表达式3为true时执行的语句块
} else {
    // 条件表达式1、2、3都为false时执行的语句块
}

当条件表达式1的值为true时,将执行if语句块中的代码;当条件表达式1的值为false时,将判断条件表达式2,如果条件表达式2的值为true,则执行第二个else if语句块中的代码,以此类推;当所有的条件表达式都为false时,将执行else语句块中的代码。

例如,下面的代码演示了一个if...else if语句,如果变量x的值大于10,则输出"大于10";如果x的值大于5,则输出"大于5,小于等于10";否则输出"小于等于5"。

int x = 7;
if (x > 10) {
    System.out.println("大于10");
} else if (x > 5) {
    System.out.println("大于5,小于等于10");
} else {
    System.out.println("小于等于5");
}

上面的代码中,由于x的值为7,因此条件表达式x > 10的值为false,条件表达式x > 5的值为true,将执行第二个else if语句块中的代码,输出"大于5,小于等于10"。

2.switch多分支语句

switch语句是Java中的多分支语句,它可以根据某个表达式的值跳转到相应的分支进行处理。switch语句的语法如下:

switch (表达式) {
    case 常量1:
        // 如果表达式的值等于常量1,则执行这里的代码
        break;
    case 常量2:
        // 如果表达式的值等于常量2,则执行这里的代码
        break;
    ...
    default:
        // 如果表达式的值与所有常量都不匹配,则执行这里的代码
        break;
}

switch语句首先计算表达式的值,并根据该值选择对应的分支进行处理。如果表达式的值等于常量1,则执行第一个case语句块中的代码,依次类推;如果表达式的值与所有常量都不匹配,则执行default语句块中的代码。每个语句块都以break语句结束,表示跳出switch语句。

需要注意的是,表达式只能是byte、short、char、int四种整型类型或它们的包装类型Byte、Short、Character、Integer、枚举类型和String类型。而且case后面跟的是常量表达式,例如字面量、final变量或枚举常量。

例如,下面的代码演示了一个switch语句,根据变量x的值输出对应的数字名称:

int x = 2;
switch (x) {
    case 1:
        System.out.println("一");
        break;
    case 2:
        System.out.println("二");
        break;
    case 3:
        System.out.println("三");
        break;
    default:
        System.out.println("其他");
        break;
}

由于变量x的值为2,因此将执行第二个case语句块中的代码,输出"二"。

循环语句

1.while循环语句

while语句是Java中最基本的循环语句,它的语法如下:

while (条件) {
    // 循环体
}

当条件为true时,重复执行循环体中的代码;当条件为false时,跳过循环体,继续执行下面的代码。需要注意的是,条件必须是一个布尔类型的表达式。在循环体中可以使用break语句跳出循环,或使用continue语句跳过本次循环。例如,下面的代码演示了一个while循环,输出从1到5的数字:

int i = 1;
while (i <= 5) {
    System.out.println(i);
    i++;
}

在这个例子中,首先给变量i赋值1,然后进入while循环,判断条件i <= 5是否满足。由于i的值小于等于5,因此会执行循环体中的代码,输出变量i的值,然后i的值加1。接着再次判断条件,如果条件仍满足,则继续执行循环体中的代码,直到i的值大于5为止。最终输出的结果为:

1
2
3
4
5

需要注意的是,如果条件一直为true,会导致无限循环,因此需要谨慎使用while循环并确保条件能够被停止。

2.do...while循环语句

do...while循环语句与while语句类似,区别在于条件判断的时机不同。在do...while循环中,先执行一次循环体中的代码,然后才进行条件判断,如果条件满足,则继续循环;如果条件不满足,则跳出循环。其语法如下:

do {
    // 循环体
} while (条件);

例如,下面的代码演示了一个do...while循环,输出从1到5的数字:

int i = 1;
do {
    System.out.println(i);
    i++;
} while (i <= 5);

在这个例子中,首先给变量i赋值1,进入do...while循环,执行循环体中的代码,输出变量i的值,然后i的值加1。接着判断条件i <= 5是否满足,由于i的值小于等于5,因此继续进入循环体中执行代码。重复以上过程,直到i的值大于5为止。最终输出的结果与while循环一样,都是从1到5的数字。

需要注意的是,和while循环一样,如果条件一直为true,会导致无限循环,因此需要谨慎使用do...while循环并确保条件能够被停止。

3.for循环语句

for循环语句是一种常用的循环语句,其语法如下:

for (初始化; 条件; 步进) {
    // 循环体
}

其中,初始化表示循环开始前的一些初始化操作,例如定义循环变量的初始值;条件表示循环执行的条件,只有条件满足时才会继续循环,否则跳出循环;步进表示每次循环后循环变量的变化规律。在每次循环中,先执行循环体中的代码,然后再进行步进操作和条件判断,如此循环直到条件不满足为止。

例如,下面的代码演示了一个for循环输出从1到10的数字:

for (int i = 1; i <= 10; i++) {
    System.out.println(i);
}

在这个例子中,首先定义了一个循环变量i,并给它赋值1,然后判断条件i <= 10是否满足,由于i的值小于等于10,因此进入循环体中输出变量i的值。接着执行步进操作i++,将i的值加1,再次判断条件,重复以上过程,直到i的值大于10为止。最终输出的结果为从1到10的数字。

需要注意的是,在循环体中可以使用break语句和continue语句来控制循环的流程。break语句可以跳出整个循环,而continue语句可以跳过当前循环,继续进行下一次循环。例如,下面的代码演示了一个for循环输出从1到10的数字,但只输出奇数:

for (int i = 1; i <= 10; i++) {
    if (i % 2 == 0) {  // 如果i是偶数,跳过本次循环
        continue;
    }
    System.out.println(i);
}

在这个例子中,在每次循环中判断循环变量i是否是偶数,如果是偶数则执行continue语句跳过本次循环,否则输出变量i的值。这样就可以在1到10的范围内输出所有奇数。

循环控制

1.break语句

break语句是一种控制语句,用于在switch语句或循环语句中,强制跳出当前语句块的执行。当break语句被执行时,程序将会自动跳转到紧接着该语句块之后的代码处执行,例如:

for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break;
    }
    cout << i << endl;
}

以上代码会输出0, 1, 2, 3, 4,然后在i等于5时执行break语句,跳出循环。如果没有break语句,循环将会一直执行直到i等于10。

2.continue语句

continue语句也是一种控制语句,用于在循环语句中,跳过当前迭代并进入下一次迭代。当continue语句被执行时,程序将会跳过当前循环体内continue语句之后的代码,直接进入下一次迭代。例如:

for (int i = 0; i < 10; i++) {
    if (i == 5) {
        continue;
    }
    cout << i << endl;
}

以上代码会输出0, 1, 2, 3, 4, 6, 7, 8, 9,当i等于5时执行continue语句,跳过当前迭代并进入下一次迭代。如果没有continue语句,循环将会一直执行直到i等于10。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值