1、复合语句

复合语句由开括号“{”开始,闭括号“}”结束。
复合语句以整个块为单位,又称块语句。可以用在任何一个单独语句可以用到的地方,复合语句中还可以嵌套复合语句。
注意:在使用复合语句时要注意,复合语句为局部变量创建了一个作用域,该作用域为程序的一部分,在该作用域中某个变量被创建并能够被使用。如果在某个变量的作用域外使用该变量,则会发生错误。

2、条件语句

条件语句可以根据不同的条件执行不同的语句。条件语句包括if条件语句和switch多分支语句。

2.1、if语句
语法:

  • if(布尔表达式){
    语句序列
    }
  • if(布尔表达式){
    若干语句
    }
    else{
    若干语句
    }
  • if(条件表达式1){
    语句序列1
    }
    else if(条件表达式2){
    语句序列2
    }
    ···
    else if(条件表达式n){
    语句序列n
    }

注意:布尔表达式:必要参数,表示最后返回的结果必须是一个布尔值。可以是一个单纯的布尔变量或常量,也可以是使用关系或布尔运算符的表达式。
语句序列:可选参数。可以是一条或多条语句,当表达式的值为true时执行这些语句。
if···else语句可以使用三元运算符简化。

2.2、switch多分支语句
语法:
switch(表达式)
{
case 常量值1:
语句块1
[break;]
···
case 常量值n:
语句块n
[break;]
default:
语句块n+1
[break;]
}

注意:switch语句中表达式的值必须是整型、字符型或字符串类型,常量值1~n也一样。
switch语句首先计算表达式的值,如果表达式的值和某个case后面的常量值一样,则执行该case后的语句块,到break语句为止;
如果该case语句中没有break语句,将继续执行后面case中的若干语句,直到遇到break语句为止;
若没有一个常量值与表达式的值相同,则执行default后面的语句。
default语句为可选的,如果它不存在,且switch语句中表达式的值不与任何case的常量值相同,switch则不做任何处理。

3、循环语句

3.1、while循环语句
while语句也称条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行这个语句。
语法:
while(条件表达式)
{
执行语句
}
当表达式的返回值为真时,则执行“{}”中的语句,当执行完“{}”中的语句后重新判断条件表达式的真假,直到表达式返回值为假时,退出循环。

3.2、do···while循环语句
do···while循环语句与while循环语句类似,区别是while语句为先判断条件是否成立,再执行循环体,而do···while循环语句则先执行一次循环后,再判断条件是否成立。
语法:
do
{
执行语句
}
while(条件表达式);
注意:do···while语句在结尾处多了一个分号。
while循环语句的条件表达式指定的是进入循环的条件;
而do···while循环语句的条件表达式指定的是结束循环的条件。

3.3、for循环
一个for循环可以用来重复执行某条语句,直到满足某个条件,跳出循环。
语法:
for(表达式1;表达式2;表达式3)
{
语句序列
}
表达式1:初始化表达式,负责完成变量的初始化
表达式2:循环条件表达式,值为boolean型的表达式,指定循环条件
表达式3:循环后操作表达式,负责修整变量,改变循环条件。
在执行for循环时,先执行表达式1,完成某一变量的初始化工作;
接着判断表达式2的值,若为true,则进入循环体;
在执行完循环体之后计算表达式3的值,这部分通常是增加或减少循环控制变量的一个表达式。
一轮循环结束。第二轮循环从计算表达式2开始,若为true,继续循环,否则跳出整个for循环。

注意:有时会使用for循环的特殊语法格式来实现无限循环。可以通过break跳出循环。
语法格式:for(;;)
{
···
if(表达式)
{
break
};
···
}

foreach语句
foreach语句是for语句的特殊简化版本,不能完全取代for语句,但任何foreach语句都可以改为for语句版本。
语法:
for(元素变量x:遍历对象obj){
引用了x的java语句;
}
注意:foreach并不是一个关键字,习惯将这种特殊格式的for语句格式称为foreach语句。
foreach语句在遍历数组等方面提供了很大的方便。
foreach语句中的元素变量不必对其进行初始化。

4、循环控制

循环控制包括两方面:一方面是控制循环变量的变化方式,另一方面是控制循环的跳转。控制循环跳转需要用到两个关键字break和continue。break是终段循环,continue是执行下一次循环。

4.1、break语句
使用break语句可以跳出switch结构。在循环结构中,可以跳出当前循环。
在嵌套的循环中使用break只能跳出包含它的最内层循环。
如果想跳出最外层循环,Java提供“标签”的功能;语法如下:
标签名:循环体{
break标签名;
}
标签名:任意标识符。
循环体:任意循环语句。
break标签名:break跳出指定循环体,此循环的标签名必须与break标签名一致

例如:

package com.company;

public class day5 {
    public static void main(String[]arg) {
        for (int i = 0; i <= 2; i++) {
            for (int j = 0; j <= 6; j++) {
                System.out.println("i="+i+"j="+j);
                if(j==1) {
                    break;

                }
            }
        }
        System.out.println("-----------------------------------------------");
        Loop:for (int i = 0; i <= 2; i++) {
            for (int j = 0; j <= 6; j++) {
                System.out.println("i="+i+"j="+j);
                if(j==1) {
                    break Loop;

                }
            }
        }
    }
}

结果:

java实现复合注解 java复合语句用什么括号_java实现复合注解


4.2、continue语句

continue语句是针对break语句的补充。continue不是立即跳出循环体,而是跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始执行循环。

在for循环中遇到continue后,首先执行循环的增量部分(表达式3),然后进行条件测试。

在while和do···while循环中,continue语句使控制直接回到条件测试部分。

与break一样,continue也支持标签功能。

语法:

标签名:循环体{

continue标签名;

}

用法与break类似。