Java学习笔记三: 程序控制流程
程序控制流程
顺序:
从上到下, 从左到右执行
选择结构:
if语句:
if (条件) {
}
[ else if (条件) {
} ]
[ else if (条件) {
} ]
[ else {
} ]
int a = 2;
if (a == 1) {
System.out.println("a的值为1");
}
else if (a == 2) {
System.out.println("a的值为2");
}
// 结果为: a的值为2
int b = -1;
if (b > 0) {
System.out.println("b大于0");
}
else if (b == 0) {
System.out.println("b等于0");
}
else {
System.out.println("b小于0");
}
// 结果为: b小于0
switch case 语句:
switch(variable){
case constant_1: // 如果variable == constant_1, 则执行case中的代码
// 如果不想让它继续向后运行, 则使用break关键字中断
case constant_2:
int a;
break;
[default:]
}
匹配成功后执行case之后的所有代码, 可以不要break和default但必须看实际情况, default中的语句除非已经break跳出switch否则都会执行一次, 执行完所有满足条件的语句或遇到break时跳出
示例:
int a = 1;
// 不加break的情况
switch(a){
case 1:
System.out.println("a的值为1");
case 2:
System.out.println("a的值为2");
}
/* 结果为:
a的值为1
a的值为2
*/
// 显然不是我们想要的结果
// 加上break
int b = 1;
// 不加break的情况
switch(b){
case 1:
System.out.println("b的值为1");
break;
case 2:
System.out.println("b的值为2");
break;
}
/* 结果为:
b的值为1
*/
注意: switch不可匹配long类型, 可匹配 char, byte, short, int, String
循环结构:
for, while, do while
循环体中遇到break会终止循环
for语句:
for ([表达式1]; [表达式2(执行条件)]; [表达式3]){
}
// 打印十个hello world
for (int i = 0; i < 10; i++) {
System.out.println("hello world");
}
while语句:
while (条件) {
}
// 1到100累加
int i = 1;
int sum = 0;
while (i <= 100) {
sum += i;
i++;
}
do while语句:
do {
}while (条件); // 条件不成立也会执行一次// 主要用于人机交互模式的情况下
// 一个输出hello world的程序, 输入0退出
Scanner input = new Scanner(System.in); /* 这是java的输入方式,
需要在代码最前面先写上import java.util.Scanner, 以后讲面向对象的时候会详细解释*/
int a = 1;
do {
System.out.println("hello world");
System.out.println("要继续打印吗, 输入任意键继续, 如果不, 输入0退出)
a = input.nextInt();
} while (a != 0);
需要特别注意的点:
- swtich case语句, 匹配成功后执行case之后的所有代码, 可以不要break和default但必须看实际情况, default中的语句除非已经break跳出switch否则都会执行一次, 执行完所有满足条件的语句或遇到break时跳出
- switch不可匹配long类型, 可匹配 char, byte, short, int, String
- 要用死循环, 只需要让循环条件一直满足就可以
例如
while (true) {
}
for (;true;) {
}
do {
}while (true);