4.1复合语句

与c语言及其他语言相同,Java的复合语句是一整个块区为单位的语句,所以又称块语句。复合语句由开括号 “{” 开始,闭括号“}”结束。

在使用条件语句时要注意,复合语句为局部变量创建了一个作用域,该作用域为程序的一部分,在该作用域中某个变量被创建并能够使用。如果在某个变量的作用域外使用该变量,则会发生错误。

java复合主键 java复合语句用什么括号_java

 4.2条件语句

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

4.2.1 if条件语句

if语句是一个重要的编程语句,用于告诉程序在某个条件成立的情况下执行某段语句,而在另一种情况下执行另一条语句。if条件语句可分为简单的if条件语句,if...else语句和if...else if多分支语句。

1.简单的if语句

语法如下:

if(布尔表达式){

        语句序列

}

句序列如果只有一条语句的话可以不加“{ }”。

可以这样写:

int a=100;            //定义整形变量a并赋值

if(a==100);           //判断a是否相当于100

System.out.print("a的值是100")    //输出

注意:虽然句序列如果只有一条语句的话可以不加“{ }”没有语法问题,但是为了增强可读性最好不要省略。

例题:判断手机号码是否存在

java复合主键 java复合语句用什么括号_jvm_02

流程图:

 

java复合主键 java复合语句用什么括号_java_03

2.if...else语句 

       在Java中,if...else语句用于根据特定条件执行不同的代码块。if语句中包含一个布尔表达式,如果该表达式的结果为true,则执行if代码块中的语句,否则执行else代码块中的语句。

if...else语句的基本语法如下:

if (condition) {
    语句序列1
} else {
    语句序列2
}

其中,condtion为一个布尔表达式,如果它的结果为true,则执行if代码块中的语句;否则执行else代码块中的语句。如果if代码块中只有一条语句,则可以省略花括号。

注意,如果if...else语句中的if代码块或else代码块只包含一条语句,则可以不使用花括号。但建议始终使用花括号,以避免出现逻辑错误。

例题:使用if...else语句校验密码

java复合主键 java复合语句用什么括号_java复合主键_04

流程图:

java复合主键 java复合语句用什么括号_java_05

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

if...else if多分支语句用于针对对某一件事不同情况做出不同的处理,通常表现为“如果满足某种条件就进行某种处理,否则如果满足另一种条件则执行另一种处理”。语法如下:

if(条件表达式1){

        语句序列1
    }
else if(条件表达式2){
        语句序列2
    }
...
else if(条件表达式n){
        语句序列n
    }

例题:使用if...else if语句实现饭店座位分配

java复合主键 java复合语句用什么括号_jvm_06

流程图:

java复合主键 java复合语句用什么括号_while循环_07

 

4.2.2switch语句

        switch语句是一种用于处理多重分支情况的控制流语句,它可以比if-else语句更加简洁和易读。在Java中,switch语句可以用于判断一个变量的取值,然后根据取值来执行不同的代码分支。

以下是switch语句的基本语法结构:

switch (变量或表达式) {
    case 取值1:
        // 对应取值1的代码
        break;
    case 取值2:
        // 对应取值2的代码
        break;
    //...
    default:
        // 对应其他取值的代码
        break;
}

注意事项:

         1.switch语句只能用于判断某个变量或表达式的取值,不能判断某个条件是否成立。

         2.case分支的取值必须是常量表达式,不能是变量或其他非常量表达式。

         3.在case分支中可以执行多条语句,但是必须以break语句结束。如果没有break语句,则会继续执行后面的case分支,直到遇到break语句或switch语句结束。

         4.default分支可以省略,如果省略了则不会执行任何代码。

例题:使用switch语句为考试分数分级 

java复合主键 java复合语句用什么括号_java复合主键_08

流程图:

java复合主键 java复合语句用什么括号_java复合主键_09

 

4.3循环语句 

在Java中,循环语句有三种常见的形式:

  1. while循环:当满足循环条件时,重复执行循环体中的代码块,直到不满足循环条件时结束循环。
  2. do-while循环:先执行一次循环体中的代码块,然后再根据循环条件是否满足来决定是否继续执行循环。
  3. for循环:在执行循环之前初始化一个计数器变量,然后每次循环结束时更新计数器变量,通过控制计数器变量的值来控制循环次数。for循环通常用于循环次数已知的情况下。

4.3.1while循环语句 

 在 Java 中,while循环是一种基本的循环结构,用于重复执行一段代码块,直到指定的条件不再满足为止,while循环的语法如下:

while (条件) {
    // 待执行的代码块
}

例题:计算1~1000的相加结果

java复合主键 java复合语句用什么括号_开发语言_10

 流程图:

java复合主键 java复合语句用什么括号_java复合主键_11

4.3.2do...while循环语句 

do...while循环语句与while循环语句相似,也是用来重复执行一段代码,但是它有一个特点,就是无论循环条件是否为真,do...while循环至少会执行一次。

do...while循环语句的语法如下:

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

使用do...while循环的注意点有:

1.循环体至少会执行一次,所以要确保循环体中的代码可以正确地执行一次。

2.循环条件在循环体后面,所以要注意循环条件的赋值和修改,避免陷入死循环。

3.do...while循环与while循环的区别在于循环条件的判断顺序,do...while循环先执行一次循环体,再判断循环条件是否为真,而while循环则是先判断循环条件是否为真,再执行循环体,因此在实际使用时要根据具体情况选择合适的循环语句。

例题:使用do...while语句进行用户登陆验证

java复合主键 java复合语句用什么括号_java_12

流程图:

java复合主键 java复合语句用什么括号_java复合主键_13

4.3.3for循环语句 

1.for语句 

Java中的for循环是一种常用的循环结构,可以方便地实现对一定次数的重复执行操作。for循环语法如下:

for (表达式1; 表达式2; 表达式3) {
    语句序列;
}

        其中,初始化语句在循环开始前执行一次,循环条件在每次循环开始前进行判断,如果为true,则执行循环体语句,执行完循环体语句后执行循环后操作,然后再次进行循环条件的判断,如此往复直到循环条件不成立时结束循环。

        for循环常用于遍历数组或集合等集合类数据结构。同时,Java中的for循环也支持多个循环变量和增量表达式的自定义设置,可以实现更加灵活的循环操作。

        需要注意的是,在for循环中,如果循环条件一开始就不满足,循环体语句不会被执行。同时,在循环体中可以使用break语句和continue语句控制循环的执行流程。

例题:使用for循环计算2~100的所有偶数和

java复合主键 java复合语句用什么括号_java复合主键_14

流程图:

java复合主键 java复合语句用什么括号_jvm_15

2.foreach语句

foreach语句是Java中一种简化数组或集合遍历的语法结构,也被称为增强型for循环。

它的基本语法结构如下:

for(元素类型 x:遍历对象 obj) {
    引用了x的Java语句
}

例题:使用foreach语句遍历整形数组 

java复合主键 java复合语句用什么括号_开发语言_16

流程图:

 

java复合主键 java复合语句用什么括号_java复合主键_17

 

for嵌套while嵌套do while嵌套for循环流程图 :

java复合主键 java复合语句用什么括号_java_18

for嵌套while嵌套do while嵌套for循环过程:

从表达式1开始->表达式2判断条件如果为真->while判断条件,如果为真->do while的循环块->for表达式'2'循环直到为假->do while的判断条件,如果为真则继续循环do while里的for循环,如果为假->判断while条件,如果为真则执行do while的循环块,如果为假-则执行for表达式3->for表达式2的判断,如果为真则继续while循环,如果为假则结束 

4.4循环控制

Java循环控制主要通过以下语句实现:

1.break用于跳出循环,执行到该语句时,程序会跳出当前循环,不再执行后面的代码,继续执行循环之后的代码。

2.continue用于跳过本次循环,执行到该语句时,程序会跳过本次循环中后面的语句,直接进入下一次循环。

4.4.1break语句

在Java中,break语句可以用于循环或者switch语句中,用于提前结束循环或者跳出switch语句的执行。当程序执行到break语句时,会直接跳出包含该语句的循环或switch语句,并且继续执行后面的代码。

同样break也可以跳出循环体。在循环中,一旦执行到break语句,循环将会被立即终止,程序会跳出循环并执行循环后的代码。

例题:输出1~20出现的第一个偶数

java复合主键 java复合语句用什么括号_jvm_19

流程图:

java复合主键 java复合语句用什么括号_java复合主键_20

循环嵌套的情况下,break语句只会跳出内层循环,即只跳出一层循环 。

在Java中,要在内层循环中使用break语句跳出外层循环,可以使用带标签的break语句。语法如下:

标签名:循环体{
break 标签名;
}

带标签的break语句可以指定跳出循环,此循环可以说内层也可以是外层。

例题:使用标签让break结束外层循环

java复合主键 java复合语句用什么括号_while循环_21

流程图:

java复合主键 java复合语句用什么括号_while循环_22

现在改一下这段代码,给外层循环加上标签,让内层循环结束外层循环再查看运行结果。

java复合主键 java复合语句用什么括号_jvm_23

流程图 :

java复合主键 java复合语句用什么括号_java_24

4.4.2continue语句

在 Java 中,continue语句用于跳过当前循环中的一个迭代,直接进入下一次迭代。当循环体中存在多个条件判断语句时,如果某些条件不满足时需要跳过本次循环,可以使用continue语句。

continue语句的使用方法为:在需要跳过本次循环的地方使用continue 关键字,程序会立即跳过本次循环的剩余语句,进入下一次循环。

例题:输出1~20的奇数

java复合主键 java复合语句用什么括号_while循环_25

流程图:

java复合主键 java复合语句用什么括号_java_26

跟break一样continue也支持使用标签跳过指定循环,语法如下:

标签名:循环体{
continue 标签名;
}

结束力