第三天:流程控制语句
流程控制语句
1. 顺序结构
实例
public class Demo01Sequence {
public static void main(String[] args) {
// 顺序结构
System.out.println("今天气不错"); // 今天气不错
System.out.println("挺风和日丽"); // 挺风和日丽
System.out.println("今天上午没课"); // 今天上午没课
System.out.println("一起出去玩"); // 一起出去玩
}
}
2. 判断语句
-
单 if 语句
public class Demo02If { public static void main(String[] args) { System.out.println("今天天气不错,正在压马路。。。突然发现一个快乐的地方:网吧"); int age = 16; if(age >= 18){ System.out.println("进入网吧,开始high"); System.out.println("遇到一群猪队友,开始骂街"); System.out.println("感觉不爽,结账走人"); } System.out.println("回家吃饭"); } /* 结果: 今天天气不错,正在压马路。。。突然发现一个快乐的地方:网吧 回家吃饭 * */ }
-
标准的 if-else 语句
public class Demo03IfElse { public static void main(String[] args) { int num = 13; if (num%2 == 0){ // 如果除以2余数为0,说是偶数 System.out.println("偶数"); }else { System.out.println("奇数"); } } /* 结果: 奇数 * */ }
-
多分支 if..else if...else
public class Demo04IfElseExt { public static void main(String[] args) { int x = 10; int y; if (x >= 3) { y = 2 * x + 1; } else if (x > -1 && x < 3) { y = 2 * x; } else { y = 2 * x - 1; } System.out.println("结果是:" + y); } /* 结果: 结果是:21 * */ }
3. 选择语句
- switch
- 格式
switch(表达式) {
case 常量值1: 语句体1;
break;
case 常量值2: 语句体2;
break;
...
default: 语句体n+1;
break;
}
实例
public class demo07Switch {
public static void main(String[] args) {
int num = 10;
switch (num) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("数据不合理");
break;
}
}
/*
结果:
数据不合理
* */
}
- 注意事项
- 多个case语句后面的数值不可以重复
- switch后面小括号当中只能是下列数据类型
- 基本数据类型:byte、short、char、int
- 引用数据类型:String字符串、enum枚举
- switch语句格式可以很灵活,前后顺序可以影响,
- break语句可以省略,匹配哪一个case就从哪一个位置向下执行,直到遇到了break或者整体结束为止
实例
public class Demo08SwitchNotice {
public static void main(String[] args) {
int num = 1;
switch (num = 1) {
case 2:
System.out.println("bbb");
break;
case 1:
System.out.println("aaa");
// break;
case 3:
System.out.println("ddd");
break;
default:
System.out.println("ccc");
break;
}
}
/*
结果:
aaa
ddd
* */
}
4. 循环语句
-
for
-
格式
for(初始化表达式①; 布尔表达式②; 步进表达式④){ 循环体③ } -
循环结构的基本组成部分,一般可以分为四部分
- 初始化语句:再循环开始最初执行,而且只做唯一一次
- 条件判断:如果成立,则循环继续,如果不成立,则循环退出
- 循环体:重复要做的事情内容,若干行语句
- 步进语句,每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次
实例
public class Demo09For { public static void main(String[] args) { System.out.println("我错了!"); // 格式 for (int i = 0; i < 5; i++) { System.out.println("我错了!" + i); } System.out.println("程序停止"); } /* 结果: 我错了! 我错了!0 我错了!1 我错了!2 我错了!3 我错了!4 程序停止 * */ } -
-
while
-
while循环有两个标准格式,还有一个扩展格式
-
标准格式
标准格式: while(条件判断){ 循环体 } -
扩展格式
初始化语句; while(条件判断){ 循环体; 步进语句 }
实例
public class Demo10While { public static void main(String[] args) { for (int i = 0; i <= 3; i++){ System.out.println("我错了" + i); } System.out.println("==========="); int i = 0; // 1、初始化语句 while (i <= 3){ // 2、条件判断 System.out.println("我错了" + i); // 循环体 i++; // 步进语句 } } /* 结果: 我错了0 我错了1 我错了2 我错了3 =========== 我错了0 我错了1 我错了2 我错了3 * */ } -
-
do-while
-
do-while循环的标准格式
-
标准格式
* do{ * 循环体; * }while(条件判断); -
扩展格式
初始化语句 do{ 循环语句 步进语句 }while(条件判断);
实例
public class Demo11DoWhile { public static void main(String[] args) { for (int i = 0; i <= 3; i++) { System.out.println("原谅你了!起来吧!地上怪凉" + i); } System.out.println("=============="); int i = 0; // 1、初始化语句 do { System.out.println("原谅你了!起来吧!地上怪凉" + i); // 3、循环体 i++; // 4、步进语句 } while (i <= 3); // 2、条件判断 } /* 结果: 原谅你了!起来吧!地上怪凉0 原谅你了!起来吧!地上怪凉1 原谅你了!起来吧!地上怪凉2 原谅你了!起来吧!地上怪凉3 ============== 原谅你了!起来吧!地上怪凉0 原谅你了!起来吧!地上怪凉1 原谅你了!起来吧!地上怪凉2 原谅你了!起来吧!地上怪凉3 * */ } -
5. 三种循环的区别
- 如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是do-while循环会执行至少一次
- for循环的变量在小括号当中定义,只有循环内部才能使用,while循环和do-while循环初始化语句本来就是在外面,所以出来之后可以继续使用
实例
public class Demo13LoopDifference {
public static void main(String[] args) {
for (int i =1; i < 3;i++){
System.out.println("hello");
}
// System.out.println(i);
System.out.println("=============");
int i = 1;
do {
System.out.println("world");
i++;
}while (i<0);
System.out.println(i);
}
/*
结果:
hello
hello
=============
world
2
* */
}
6. break
- 可以用在switch语句中,一旦执行,整个switch与立刻执行
- 还可以在循环语句当中,一旦执行,整个循环语句立刻就结束,打断循环
- 关于循环的选择,一个小建议
- 凡是次数确定的场景多用for循环,否则用while循环
实例
public class Demo14Break {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
// 如果希望从第4次开始,后续全都不要了,就要打断循环
if (i == 4) {
break;
}
System.out.println("hello" + i);
}
}
/*
结果:
hello1
hello2
hello3
* */
}
7.contionue
- 一旦执行,立刻跳过当前次循环内容,马上开启下一次循环
实例
public class Demo15Contionue {
public static void main(String[] args) {
for (int i = 1; i <= 3; i++){
if (i==2){
continue; // 跳过当前次循环,马上开始下一次
}
System.out.println(i + "层到了");
}
}
/*
结果:
1层到了
3层到了
* */
}

浙公网安备 33010602011771号