Java 程序流程控制语句
顺序语句
语句:使用分号分隔的代码称作为一个语句
注意:没有写任何代码只是一个分号的时候,也是一条语句,称作空语句
顺序语句就是按照从上往下的顺序执行的语句
Scanner scanner = new Scanner(System.in); //语句一
String inputString = scanner.next(); //语句二
System.out.println(inputString); //语句三
; // 语句四(空语句)
以上四条语句的执行顺序是从上往下执行,即语句一 -> 语句二 -> 语句三 -> 语句四
选择语句
if/else 语句
格式一
if (判断条件) {
//如果符合条件执行下面的代码
执行的代码块1;
执行的代码块2;
…
执行的代码块n;
}
格式二
if (判断条件) {
执行的代码块1;
执行的代码块2;
…
执行的代码块n;
} else {
执行的代码块1;
执行的代码块2;
…
执行的代码块n;
}
if else 结构 简写格式: 变量 = (条件表达式) ? 表达式1:表达式2;
三元运算符:
- 好处:可以简化 if else 代码
- 弊端:因为是一个运算符,所以运算完必须要有一个结果
格式三
if (判断条件1 ) {
执行语句块;
} else if (判断条件2) {
执行语句块;
} else if (判断条件3) {
执行语句块;
}
switch / case 语句
格式
switch (表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default:
执行语句;
break;
}
switch语句特点:
-
switch 语句选择的类型:byte、short、int 、char、string (JDK7 支持)
-
case 之间与 default 没有顺序;先判断所有的 case,没有匹配的 case 执行 default
-
switch 语句停止的条件是遇到了 break 关键字或者结束 switch 语句的大括号
-
如果匹配的 case 或者 default 没有对应的 break,那么程序会继续向下执行,运行可以执行的语句,直到遇到 break 或者 switch 结尾结束
-
switch case 中的值必须要与 switch 表达式的值具有相同的数据类型,而且 case 后跟的值必须是常量,不能跟变量
循环语句
Java提供了三种类型的循环语句:
-
while 循环
-
do while 循环
-
for 循环
while 循环
格式
while (条件表达式) {
执行语句;
}
举例
public static void main(String[] args) {
int num = 0;
while (num < 5) {
System.out.println("hello java ");
num++; // 让 num 自增,当 num 不满足条件的时候就会循环结束
}
}
do while 语句
格式
do {
执行语句;
} while (条件表达式);
do while 语句特点是条件无论是否满足, 循环体至少被执行一次。
举例
public static void main(String[] args) {
int x = 0, y = 0;
do {
System.out.println(x);
x++;
} while (x < 0);
// do while 会先执行一次,不管是否满足循环条件
while (y < 0) {
System.out.println(y);
y++;
}
}
注意:do while 后面有一个分号;
while 与 do while 区别
-
while:先判断条件,只有条件满足才执行循环体
-
do while:先执行循环体,再判断条件,条件满足,再继续执行循环体
for 语句
格式
for ( 初始化表达式;循环条件表达式;循环后的操作表达式 ) {
执行语句块;
}
举例
public static void main(String[] args) {
for (int num = 0; num < 5; num++) {
System.out.println("hello java");
}
}
for 语句总结
-
for 里面的两个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止
-
while 与 for 可以互换,区别在于 for 为了循环而定义的变量,在 for 循环结束时就在内存中释放。而 while循环使用的变量在循环结束后还可以继续使用
最简单无限循环格式
while(true){
}
for(;;){
}
for(;true;){
}
break 和 continue
break
-
break 语句用于跳出本层循环体,从而提前结束循环
-
break 语句用于跳出 switch 语句体
continue
continue 语句用于结束本次循环(即跳过本次循环中余下尚未执行的语句), 接着再一次进行循环条件的判定
最后
学习流程控制最好的办法就是多动手做练习题,不断锻炼自己的逻辑思维能力,才能将熟能生巧、融会贯通。