Java 基础教程:流程控制与输入输出详解
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 基础语法的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













