首页 > 编程语言 >全面解析 Java 流程控制语句

全面解析 Java 流程控制语句

时间:2025-01-22 19:28:45浏览次数:3  
标签:语句 Java System break println 解析 表达式 out


Java学习资料

Java学习资料

Java学习资料


在 Java 编程中,流程控制语句是构建程序逻辑的关键部分,它决定了程序的执行顺序和走向。通过合理运用这些语句,开发者能够实现各种复杂的业务逻辑,让程序更加灵活和智能。

顺序结构

顺序结构是程序中最基本的执行结构,它按照代码书写的先后顺序依次执行。例如:

int num1 = 5;
int num2 = 3;
int sum = num1 + num2;
System.out.println("两数之和为:" + sum);

在这段代码中,首先声明并初始化变量num1和num2,然后计算它们的和并赋值给sum,最后输出结果。每一行代码按顺序执行,这就是顺序结构的体现。顺序结构在程序中无处不在,它为其他更复杂的流程控制提供了基础。

选择结构

if - else 语句

if - else 语句用于根据条件判断来决定程序的执行路径。其基本语法为:

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

例如,判断一个数是否为偶数:

int number = 8;
if (number % 2 == 0) {
    System.out.println(number + " 是偶数");
} else {
    System.out.println(number + " 是奇数");
}

当条件表达式只有一条语句时,可以省略大括号,但为了代码的可读性,建议保留。

switch - case 语句

switch - case 语句用于多分支选择,根据一个表达式的值来选择执行不同的代码块。语法如下:

switch (表达式) {
    case 值1:
        // 当表达式的值等于值1时执行的代码
        break;
    case 值2:
        // 当表达式的值等于值2时执行的代码
        break;
    // 可以有多个case分支
    default:
        // 当表达式的值与所有case值都不匹配时执行的代码
        break;
}

例如,根据用户输入的数字输出对应的星期几:

int day = 3;
switch (day) {
    case 1:
        System.out.println("星期一");
        break;
    case 2:
        System.out.println("星期二");
        break;
    case 3:
        System.out.println("星期三");
        break;
    case 4:
        System.out.println("星期四");
        break;
    case 5:
        System.out.println("星期五");
        break;
    case 6:
        System.out.println("星期六");
        break;
    case 7:
        System.out.println("星期日");
        break;
    default:
        System.out.println("输入的数字无效");
        break;
}

在 switch - case 语句中,break语句用于跳出当前的 switch 块,如果没有break,程序会继续执行下一个 case 分支的代码,直到遇到break或 switch 块结束。

循环结构

for 循环

for 循环用于已知循环次数的场景,其语法为:

for (初始化表达式; 条件表达式; 更新表达式) {
    // 循环体代码
}

例如,计算 1 到 10 的累加和:

int sum = 0;
for (int i = 1; i <= 10; i++) {
    sum += i;
}
System.out.println("1到10的累加和为:" + sum);

在 for 循环中,初始化表达式在循环开始前执行一次,条件表达式在每次循环开始时进行判断,若为 true 则执行循环体,更新表达式在每次循环结束后执行,然后再次判断条件表达式,直到条件表达式为 false 时循环结束。

while 循环
while 循环用于在条件满足时重复执行一段代码,其语法为:
while (条件表达式) {
    // 循环体代码
}

例如,输出 1 到 5 的数字:

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

在 while 循环中,先判断条件表达式,若为 true 则执行循环体,执行完循环体后再次判断条件表达式,直到条件表达式为 false 时循环结束。需要注意的是,在循环体中一定要有改变条件表达式的语句,否则会造成死循环。

do - while 循环

do - while 循环与 while 循环类似,但它会先执行一次循环体,然后再判断条件表达式。语法为:

do {
    // 循环体代码
} while (条件表达式);

例如,让用户输入一个数字,直到输入的数字大于 10 为止:

import java.util.Scanner;

Scanner scanner = new Scanner(System.in);
int input;
do {
    System.out.println("请输入一个数字:");
    input = scanner.nextInt();
} while (input <= 10);
System.out.println("你输入的数字大于10");

do - while 循环适用于需要先执行一次操作,再根据结果判断是否继续循环的场景。

跳转语句

break 语句

break 语句用于跳出当前循环或 switch 块。在循环中,当满足某个条件时,可以使用 break 语句提前结束循环。例如:

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

上述代码会输出 1 到 4,当i等于 5 时,遇到 break 语句,循环结束。

continue 语句

continue 语句用于跳过当前循环的剩余部分,直接进入下一次循环。例如:

for (int i = 1; i <= 10; i++) {
    if (i % 2 == 0) {
        continue;
    }
    System.out.println(i);
}

这段代码会输出 1 到 10 中的所有奇数,当i为偶数时,遇到 continue 语句,跳过本次循环的输出语句,直接进入下一次循环。

return 语句

return 语句用于从方法中返回一个值,并结束方法的执行。在有返回值的方法中,必须使用 return 语句返回一个符合方法返回类型的值。例如:

public static int add(int num1, int num2) {
    return num1 + num2;
}

在上述方法中,计算两个数的和并通过 return 语句返回结果。在无返回值的方法(返回类型为 void)中,也可以使用 return 语句提前结束方法的执行,例如:

public static void printNumber(int num) {
    if (num < 0) {
        return;
    }
    System.out.println(num);
}

当输入的数字为负数时,遇到 return 语句,方法提前结束,不会输出数字。

Java 的流程控制语句为开发者提供了丰富的工具来控制程序的执行流程,通过灵活运用这些语句,可以实现各种复杂的业务逻辑和功能需求。无论是简单的顺序执行,还是根据条件进行选择和循环,以及通过跳转语句灵活控制程序走向,它们都是编写高效、可靠 Java 程序的基础。

标签:语句,Java,System,break,println,解析,表达式,out
From: https://blog.csdn.net/zsnandzmn/article/details/145290493

相关文章

  • Java 面向对象基础全面解析
    Java学习资料Java学习资料Java学习资料在Java编程领域,面向对象编程(OOP)思想是构建复杂且高效程序的基石。它将现实世界中的事物抽象为程序中的对象,通过一系列特性,让程序更具模块化、可维护性与扩展性。一、面向对象编程思想(一)OOP概念面向对象编程是一种编程范式,它......
  • 链表(双向环形链表)Java版
    双向环形链表(一个哨兵)双向环形链表介绍双向环形链表的特点应用场景代码实现双向环形链表介绍双向环形链表是双向链表的一种特殊形式,其特点是链表的头节点和尾节点相互连接,形成一个环。相较于普通双向链表,环形结构使得链表可以在任意节点上循环遍历,非常适合某些场景,例......
  • 链表(双向链表)Java版
    双向链表(有哨兵节点)双向链表介绍双向链表的特点应用场景代码解析Java代码双向链表介绍双向链表(DoublyLinkedList)是一种链式存储结构,每个节点不仅包含数据,还包含两个指针,分别指向前驱节点和后继节点。它相比单向链表有更高的灵活性,因为可以从任意节点向前或向后遍历......
  • 交叉注意力机制在YOLO目标检测优化中的应用:结合余弦退火学习率调度的实战解析
    在目标检测领域,YOLO(YouOnlyLookOnce)因其高效性和准确性而被广泛采用。然而,随着任务复杂性的提升,如何优化YOLO算法以实现更高的性能成为研究热点。本文探讨了交叉注意力机制与余弦退火学习率调度在YOLO优化中的结合,提供了一种高效的实战方案。一、什么是交叉注意力机制?交......
  • 第五章 数组(附多道题型详细解析及代码)
    【以下就是关于数组的所有内容,如果您觉得这篇文章很好,请打赏一点心意,谢谢大家的支持】第一节 一维数组一、为什么要为什么要使用数组    通过前面几章的学习,我们已经可以编写程序来解决各种相当复杂的问题了,但是当需要处理的数据比较多时,仅依靠前面的知识是不够......
  • 基于java web的社区人员流动管理系统的设计与实现-毕业设计源码19467
    目 录1绪论1.1研究背景与意义1.2国内外研究现状1.3论文结构与章节安排2 系统分析2.1可行性分析2.1.1技术可行性分析2.1.2经济可行性分析2.1.3法律可行性分析2.2系统功能分析2.2.1功能性分析2.2.2非功能性分析2.3系统用例分析2.4系......
  • JavaSE基础笔记
    Java基础笔记一、流程控制(一)Scanner输入1、next()读取到空白就会自动将其去掉,next()不能得到带有空格的字符串hasNext()可以判断是否还有输入的数据packagecom.TEST.Test01;importjava.util.Scanner;publicclassTest01{publicstaticvoidmain(String[......
  • java 中的匿名内部类
    在Java中,匿名内部类是一种没有名称的内部类,通常用于简化代码,尤其是在实现接口或继承类时,只需要一个简单的实现。匿名内部类允许你在创建类的同时实例化它,通常用于简化代码的书写。工作原理匿名内部类是在你需要使用接口或抽象类的实现时定义和实例化的。它们在使用时定义在方法......
  • 【转】[JavaScript] import 和 export 的用法
    转自:kimi.ai在JavaScript中,import和export是ES6(ECMAScript2015)引入的模块化语法,用于在不同的文件或模块之间共享代码。它们使得代码更加模块化、可维护,并且可以避免全局变量的污染。以下是import和export的基本用法和一些常见场景。1. export 的用法export用于......
  • Java 变量和数据类型
    目录变量数据类型数据类型分类基本数据类型包装类装箱和拆箱手动拆装箱:自动拆装箱:包装类的特点总结变量的定义格式注变量变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。数学中,可以使用字母代替数字运算,例如x=1+5或者6=x+5。程序中,可以使用字母保存数字......