一般来说,程序的结构包含 3 种:顺序结构、选择结构、循环结构。
一. 顺序结构
顺序结构时程序设计中最常使用到的结构,在程序中扮演了非常重要的角色,因为大部分的程序基本上都是依照由上而下的流程来设计的。
二. 选择(分支)结构
选择(分支)结构是根据条件的成立与否,来决定要执行哪些语句的一种结构,其流程如下图所示
选择结构包括 if 、if…else 及 switch 语句,语句中加上了选择结构之后,就像是十字路口,根据不同的选择,程序的运行会有不同的结果。
1. if 语法
if (布尔表达式) {
条件满足时执行的程序;
}
public class TestDemo {
public static void main(String[] args) {
int age = 16;
if (age < 18) { //判断条件是否满足
System.out.println("还未成年!");
}
}
}
程序运行结果:
还未成年!
2. if…else语法
if (布尔表达式) {
条件满足时执行的程序;
}else {
条件不满足时执行的程序;
}
public class TestDemo {
public static void main(String[] args) {
int age = 26;
if (age < 18) { //判断条件是否满足
System.out.println("还未成年!");
} else {
System.out.println("已经年满 18 周岁,成年了!");
}
}
}
程序运行结果:
已经年满 18 周岁,成年了!
3. if…else if…else 语法
if (布尔表达式1) {
条件满足时执行的程序;
}else if (布尔表达式2) {
条件满足时执行的程序;
}else {
条件不满足时执行的程序;
}
public class TestDemo {
public static void main(String[] args) {
int age = 100;
if (age < 18) { //判断条件是否满足
System.out.println("您属于青少年!");
} else if (age > 18 && age < 50) {
System.out.println("您属于青壮年!");
}else{
System.out.println("您属于老年!");
}
}
}
程序运行结果:
您属于老年!
4. switch 语法
switch (判断值) {
case 数值 1:
满足此数值时执行的语句;
break;
case 数值 2:
满足此数值时执行的语句;
break;
case 数值 3:
满足此数值时执行的语句;
break;
……
case 数值 n:
满足此数值时执行的语句;
break;
}
public class TestDemo {
public static void main(String[] args) {
int ch = 1;
switch (ch) {
case 0:
System.out.println("数值是 0");
break;
case 1:
System.out.println("数值是 1");
break;
case 2:
System.out.println("数值是 2");
break;
default:
System.out.println("没有条件满足");
break;
}
}
}
程序运行结果:
数值是 1
三. 循环结构
循环主要指某一块代码可以被重复执行多次。循环的操作分为两种:while 循环和 for 循环。while 循环分为两种形式:do…while 和 while
1. do…while 循环
do {
循环体;
循环条件修改;
}while (循环判断);
public class TestDemo {
public static void main(String[] args) {
int sum = 0;
int x = 1;
do {
sum += x;
x ++;
}while (x <= 100);
System.out.println(sum);
}
}
程序运行结果:
5050
2. while 循环
while (循环判断) {
循环体;
循环条件修改;
}
public class TestDemo {
public static void main(String[] args) {
int sum = 0;
int x = 1;
while(x <= 100) {
sum += x;
x ++;
}
System.out.println(sum);
}
}
程序运行结果:
5050
3. for 循环
for (循环初始值; 循环条件; 循环条件的修改) {
循环体;
}
public class TestDemo {
public static void main(String[] args) {
int sum = 0;
for (int x = 1; x <= 100; x++) {
sum +=x ;
}
System.out.println(sum);
}
}
程序运行结果:
5050
四. 示例展示
1. 输出一个乘法口诀表
public class TestDemo {
public static void main(String[] args) {
for (int x = 1; x <= 9; x++) {
for (int y = 1; y <= x; y++ ) {
System.out.print(x + "*" + y + "=" + x * y + "\t");
}
System.out.println();
}
}
}
程序运行结果:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
2. 打印三角形
public class TestDemo {
public static void main(String[] args) {
int line = 5;//打印5行
for (int x = 0; x < line; x++ ) { //循环次数,控制行
for (int y = 0; y < line - x; y++ ) { //控制空格输出
System.out.print(" ");
}
for (int y = 0; y <= x; y++ ) { //控制 * 输出
System.out.print("* ");
}
System.out.println(); //输出
}
}
}
程序运行结果:
*
* *
* * *
* * * *
* * * * *