Java 基础教程:流程控制与输入输出详解

清欢
清欢
发布时间:2026-10-16| 6人浏览过
原创

Java 程序的执行顺序由流程控制语句决定。本文系统梳理了从控制台输入(Scanner)、格式化输出到条件判断(if-else、switch)及各类循环结构(for、while)的具体用法,为编写逻辑严密的 Java 代码奠定基础。

Java 输入与输出操作

在 Java 程序中,处理用户交互主要依赖控制台的标准输入与输出流。掌握这两类操作是进行调试和简单交互应用开发的前提。

获取用户输入

Java 中常用的输入方式主要有两种:基于标准流的 Scanner 类和基于 GUI 的 JOptionPane 对话框。

第1步:使用 Scanner 读取标准输入

  • 目的:在控制台提示用户输入数据并读取字符串或数值。
  • 入口:导入 java.util.Scanner 包。
  • 动作:创建 Scanner 对象关联 System.in,调用 nextLine() 获取整行输入。
public class InputExample {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入姓名:");
        String name = sc.nextLine();
        System.out.printf("%n欢迎你:%s", name);
    }
}

上述代码运行后,控制台将等待用户键入内容。结果示意如下:

第2步:使用 JOptionPane 弹出输入框

  • 目的:通过图形界面窗口获取用户输入的字符串。
  • 注意事项:该方法依赖 Swing 库,需导入 javax.swing.JOptionPane。若用户点击“取消”,返回值将为 null。
import javax.swing.JOptionPane;

public class DialogInputExample {
    public static void main(String[] args) {
        String w = JOptionPane.showInputDialog("请输入词汇:");
        System.out.println(w);
    }
}

运行后的弹窗效果及输入内容展示如下:

控制台输出结果

Java 提供了三种主要的输出方法,适用于不同的显示需求:

  • System.out.print();:直接输出内容,不自动换行。
  • System.out.println();:输出内容后自动添加换行符。
  • System.out.printf();:按格式字符串输出,支持类型替换(如 %d 对应整数,%s 对应字符串)。

以下代码演示了这三种方式的区别。第一种输出无换行,第二种逐行输出,第三种进行格式化拼接:

// print: 无换行输出
int w = 1; int a = 2;
System.out.print(w);
System.out.print(a); // 输出结果:12

// println: 换行输出
System.out.println(w);
System.out.println(a); // 输出结果分行显示

// printf: 格式化输出
System.out.printf("w=%d a=%d", w, a); // 输出结果:w=1 a=2

各输出方式的实际运行结果对比如下:

分支语句的应用

分支语句用于根据条件的真假选择不同的执行路径,是程序具备逻辑判断能力的基础。

if-else 多分支判断

  • 单分支:if (条件) 括号内表达式为 true 时执行,否则跳过。
  • 多分支:else if 允许在一次判断失败后继续检查下一个条件,直到匹配成功或进入 else 默认分支。
if (1 > 2) {
    System.out.println("A");
} else if (1 > 0) {
    System.out.println("B"); // 满足此条件
} else {
    System.out.println("C");
}

switch-case 多路选择

  • 原理:switch 接收一个参数(如整数),依次与 case 后的值进行精确匹配。
  • break:匹配成功后终止后续判断,跳出 switch 块。若省略会导致“穿透”现象,即继续执行下一个 case 的代码。
  • default:当所有 case 均不匹配时执行,类似于 if-else 中的最后兜底分支。
int w = 1;
String wk = "";
switch (w) {
    case 2: wk = "星期一"; break;
    case 3: wk = "星期二"; break;
    // ... 其他 case ...
    default: wk = "星期日"; break; // w=1 命中 default
}
System.out.println(wk); // 输出:星期日

Switch 语句执行结果示意:

循环语句与控制

循环结构用于重复执行特定代码块。Java 提供了多种循环语法,以及控制循环行为的关键词。

基本循环结构

  • for 循环:包含初始化、条件判断和迭代更新三个部分。适合已知循环次数的场景。
for (int i = 0; i < 5; i++) {
    System.out.println(i); // 依次输出 0, 1, 2, 3, 4
}
  • 增强 for 循环 (for-each):专门用于遍历数组或集合。语法简洁,无需手动管理索引。
int[] a = {1, 2, 3, 4, 5};
for (int i : a) {
    System.out.println(i); // 逐个输出数组元素
}
  • while 循环:先判断条件,满足则执行。适合不确定循环次数但知道退出条件的场景。
int i = 0;
while (i < 5) {
    i++;
    System.out.println(i);
}
  • do-while 循环:先执行一次代码块,再判断条件。无论条件是否满足,代码体至少执行一次。
int i = 0;
do {
    i++;
    System.out.println(i); // 即使条件为 false,此处仍会执行一次
} while (i < 0); // 此时 i=1,条件不成立,循环结束

中断与跳过:break 与 continue

  • break:彻底终止当前所在的整个循环或 switch 结构。
  • continue:跳过本次循环剩余的语句,直接进入下一次循环的条件判断。
int i = 0;
while (++i < 20) {
    if (i % 2 == 0) continue; // 跳过偶数
    System.out.println(i);     // 输出奇数
    if (i > 10) break;         // 大于10时停止循环
}

以上即为 Java 流程控制的详细内容,更多关于 Java 基础语法的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。