Java逻辑控制

目录

1.顺序结构

2.分支结构

2.1 if语句

3.循环结构

3.1 while 循环

3.2 for 循环

3.3 do while 循环

4.break 和 continue

4.1 break

4.2 continue

5.输入输出

5.1 输入

5.2 输出


1.顺序结构

顺序结构比较简单,按照代码书写的顺序一行一行执行。

2.分支结构

2.1 if语句

if语句是Java中最常用和基本的逻辑控制语句之一。它用于根据条件判断来执行不同的代码块。if语句的基本语法如下:

if (条件) {
  // 语句
} 

条件是一个布尔表达式,当条件为true时,执行if语句块中的代码。如果条件为false,则跳过if语句块中的代码继续执行后面的代码。

if语句也可以和else关键字一起使用,通过else语句指定在条件不满足时要执行的代码块。下面是带有else的if语句的例子:

if (条件) {
  // 语句1
} 
else {
  // 语句2
}

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

在某些情况下,可能需要对多个条件进行判断。可以使用else if语句来实现多个条件判断。下面是带有多个else if的if语句的例子:

if (条件1) {
  // 在条件1满足时执行的代码
} 
else if (条件2) {
  // 在条件2满足时执行的代码
} 
else if (条件3) {
  // 在条件3满足时执行的代码
} 
...
else {
  // 在所有条件都不满足时执行的代码
}

在这个例子中,如果条件1满足,则执行条件1对应的代码块;如果条件1不满足但条件2满足,则执行条件2对应的代码块;以此类推。如果所有条件都不满足,则执行else语句块中的代码。

通过使用if语句,可以根据不同的条件来执行不同的代码块,从而实现灵活的程序控制。

注意:if / else 语句中可以不加 大括号 . 但是也可以写语句(只能写一条语句).

2.2 switch 语句

switch (表达式) {
  case 值1:
    // 在值1匹配时执行的代码
    break;
  case 值2:
    // 在值2匹配时执行的代码
    break;
  ...
  default:
    // 在所有值都不匹配时执行的代码
    break;
}
 

1. 先计算表达式的值

2. 和case依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时结束

3. 当表达式的值没有与所列项匹配时,执行default

注意:

  • 多个case后的常量值不可以重复
  • switch的括号内只能是以下类型的表达式:
  • 基本类型:byte、char、short、int,注意不能是long类型
  • 引用类型:String常量串、枚举类型

Switch语句可以更清晰地组织多个条件判断,并且可以提高代码的可读性和可维护性。但需要注意的是,Switch语句只能用于离散的取值,不能用于范围判断或复杂的条件判断。

3.循环结构

3.1 while 循环

Java中的while循环是一个重复执行一段代码块的控制结构。它的语法如下:

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

在每次循环开始前,会先检查条件的真假。只要条件为真,循环就会继续执行;当条件为假时,循环就会结束,控制流将跳转到循环后的下一行代码。

以下是一个使用while循环的示例代码:

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

在这个例子中,循环从0开始,每次打印出当前的值,然后将变量i递增1。循环会一直执行,直到i的值不再小于5为止。

需要注意的是,在使用while循环时,一定要确保循环内部的代码可以改变控制条件,否则可能会导致死循环。

3.2 for 循环

Java中的for循环是另一种常用的循环结构。它以一种更简洁的方式来重复执行一段代码块。for循环的语法如下:

for (初始化; 条件; 更新) {
    // 执行的代码块
}

其中,初始化部分用于初始化循环控制变量,条件部分用于检查循环是否继续执行,更新部分则用于更新循环控制变量的值。

以下是一个使用for循环的示例代码:

for (int i = 0; i < 5; i++) {
    System.out.println(i);
}

在这个例子中,循环从0开始,每次打印出当前的值,然后将变量i递增1。循环会一直执行,直到i的值不再小于5为止。

for循环还可以用来遍历数组或集合等数据结构。例如:

int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
    System.out.println(number);
}

在这个例子中,循环依次将数组numbers中的元素赋值给变量number,并执行对应的代码块。循环会遍历数组中的所有元素。

需要注意的是,for循环内部的初始化、条件和更新部分都可以省略,但分号仍然要保留。这样做可以实现更灵活的循环控制。

int i = 0;
for (; i < 5; ) {
    System.out.println(i);
    i++;
}

在这个例子中,初始化和更新部分都被省略了,但分号仍然要保留。

无论是while循环还是for循环,都可以根据具体的需求选择使用。

3.3 do while 循环

Java中的do-while循环是一种后测试循环结构,它先执行循环体中的代码,然后再检查循环条件。只有在循环体执行完毕后,才会判断条件是否满足,如果满足则继续执行循环,否则结束循环。这意味着do-while循环至少会执行一次循环体。

do-while循环的语法如下:

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

以下是一个使用do-while循环的示例代码:

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

在这个例子中,循环会先执行一次循环体,打印出 i 的值,然后将变量 i 递增1。接着会检查条件,如果条件满足(i < 5),则继续执行循环,否则结束循环。

需要注意的是,do-while循环体后面要加上分号。

do-while循环适用于需要至少执行一次循环体的情况,因为它先执行循环体再检查条件。如果条件不满足,循环体的代码仍然会执行一次。

无论是while循环、for循环还是do-while循环,都可以根据具体的需求选择使用。

4.break 和 continue

4.1 break

在Java中,break是一种控制流语句,用于终止循环或开关语句的执行,并将控制流转移到下一行代码。当break语句执行时,循环将立即终止并跳出循环体,或者开关语句将立即终止并跳出开关块。

break语句可以在以下情况下使用:

  1. for循环、while循环和do-while循环中,用于提前退出循环。
  2. switch语句中,用于终止开关块的执行,并跳转到开关块之后的代码。
4.2 continue

在Java中,continue是一种控制流语句,用于跳过当前循环中的剩余代码,并继续执行下一次循环迭代。当continue语句执行时,循环将跳过当前迭代中continue语句之后的代码,并开始下一次迭代。

continue语句可以在以下情况下使用:

  1. for循环、while循环和do-while循环中,用于跳过当前迭代的剩余代码,并开始下一次迭代。
  2. 在嵌套循环中,用于跳过当前内部循环的剩余代码,并继续执行外部循环。

continue语句执行时,程序将继续执行下一次循环迭代。这通常用于在循环中使用continue来跳过某些特定的迭代,以便在满足某些条件时跳过循环的执行。

5.输入输出

5.1 输入

使用 Scanner 读取字符串/整数/浮点数

import java.util.Scanner; // 需要导入 util 包


Scanner sc = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = sc.nextLine();
System.out.println("请输入你的年龄:");
int age = sc.nextInt();
System.out.println("请输入你的工资:");
float salary = sc.nextFloat();
System.out.println("你的信息如下:");
System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
sc.close(); // 注意, 要记得调用关闭方法

// 执行结果
请输入你的姓名:
张三
请输入你的年龄:
18
请输入你的工资:
1000
你的信息如下:
姓名: 张三
年龄:18
工资:1000.0
5.2 输出
System.out.println(msg); // 输出一个字符串, 带换行
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出

  • 24
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值