顺序结构
程序代码按照编写的先后顺序依次执行,每条语句都会被执行一次,没有条件判断,没有循环跳转。
基本示例
java
public class SequentialDemo {
public static void main(String[] args) {
int a = 10; // 第1步
int b = 20; // 第2步
int sum = a + b; // 第3步
System.out.println(sum); // 第4步
}
}执行顺序:定义 a → 定义 b → 计算 sum → 输出结果。
执行流程图:
┌─────────────────────┐
│ 开始 │
└──────────┬──────────┘
│
▼
┌─────────────────────┐
│ 语句1:定义变量 │
└──────────┬──────────┘
│
▼
┌─────────────────────┐
│ 语句2:计算 │
└──────────┬──────────┘
│
▼
┌─────────────────────┐
│ 语句3:输出 │
└──────────┬──────────┘
│
▼
┌─────────────────────┐
│ 结束 │
└─────────────────────┘实战:商品价格计算
顺序结构适合处理简单的线性计算。
java
public class SimpleCalculation {
public static void main(String[] args) {
String productName = "Java核心技术";
double price = 99.0;
int quantity = 3;
double totalPrice = price * quantity;
double discount = 0;
if (totalPrice >= 200) {
discount = 50;
}
double finalPrice = totalPrice - discount;
System.out.println("商品名称:" + productName);
System.out.println("单价:" + price);
System.out.println("数量:" + quantity);
System.out.println("总价:" + totalPrice);
System.out.println("折扣:" + discount);
System.out.println("应付金额:" + finalPrice);
}
}变量交换
利用临时变量交换两个值。
java
public class SwapDemo {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("交换前:a = " + a + ", b = " + b);
int temp = a;
a = b;
b = temp;
System.out.println("交换后:a = " + a + ", b = " + b);
}
}顺序结构的特点
顺序结构是所有程序流程的基础,其他结构(分支、循环)都是基于它的扩展:
| 特点 | 说明 |
|---|---|
| 简单性 | 语句按编写顺序依次执行 |
| 无跳转 | 没有条件判断和循环 |
| 确定性 | 执行顺序完全可预测 |
java
public class FlowDemo {
public static void main(String[] args) {
// 顺序结构
int a = 10;
int b = 20;
// 分支结构
if (a > b) {
System.out.println("a > b");
} else {
System.out.println("a <= b");
}
// 循环结构
for (int i = 0; i < 3; i++) {
System.out.println("第 " + (i + 1) + " 次循环");
}
System.out.println("程序结束");
}
}注意事项
变量必须先声明后使用
java
// ❌ 错误:使用了未声明的变量
sum = a + b; // 编译错误
int a = 10;
int b = 20;
// ✅ 正确
int a = 10;
int b = 20;
int sum = a + b;注意语句依赖关系
java
// ✅ 正确:后一条语句依赖前一条
int a = 10;
int b = a * 2; // b = 20
// ❌ 错误:前一条语句依赖后一条
int b = a * 2; // a 还未声明
int a = 10;注意变量作用域
java
public void method() {
int a = 10; // 方法作用域
if (true) {
int b = 20; // 代码块作用域
System.out.println(a); // ✅ 可以访问
System.out.println(b); // ✅ 可以访问
}
System.out.println(a); // ✅ 可以访问
// System.out.println(b); // ❌ 超出作用域
}