目录
3.1 if....else if .....else语句格式
第一章.流程控制
1.概述
在程序执行过程中,各条语句的执行顺序对程序运行的结果是有直接影响的,也就是说,程序的流程对程序的运行结果有直接的影响.
2.种类
- 顺序结构
- 选择结构
- 循环结构
3.顺序结构
package day22;
public class Demo01 {
public static void main(String[] args) {
System.out.println("今天天气挺好的");
System.out.println("风和日丽的");
System.out.println("我们下午出去玩");
System.out.println("真爽");
}
}
运行结果:
今天天气挺好的
风和日丽的
我们下午出去玩
真爽
第二章.判断语句
1. if
1.1 if语句的第一种格式
if(关系表达式){
语句体;
}
1.2 执行流程
- 先判断关系表达式,结果是true还是false
- 如果是true,执行语句体
- 如果是false,不执行语句体
1.3 代码演示
package day22;
public class Demo02 {
public static void main(String[] args) {
int age = 20;
if (age >= 18) {
System.out.println("已成年,可以自己买票坐车出去玩");
}
}
}
执行结果:
已成年,可以自己买票坐车出去玩
2.if.....else...
2.1 if.....else...语句格式
if(关系表达式){
语句体1;
}else{
语句体2;
}
2.2 执行流程
- 判断关系表达式,其结果是true,还是false
- 如果结果为true,执行语句体1
- 如果结果为false,执行语句体2
2.3 代码演示
package day22;
public class Demo03 {
public static void main(String[] args) {
int num1 = 20;
if (num1 % 2 == 0) {
System.out.println("这个数为偶数");
} else {
System.out.println("这个数为奇数");
}
}
}
运行结果:
这个数为偶数
3. if....else if .....else
3.1 if....else if .....else语句格式
if(判断条件1){
语句体1;
}else if(判断条件2){
语句体2;
}
......
}else if(判断条件n){
语句体n;
}else{
语句体n+1;
}
3.2 执行流程
- 首先判断条件1,看其结果,为true还是false
- 如果为true,执行语句体1
- 如果为false,继续判断条件2,看其结果,为true还是false
- 如果为true,执行语句体2
- 如果为false,继续判断
- .........
- 如果为条件n为true,执行语句体n
- 如果为判断条件n为false,执行语句体n+1
3.3 代码演示
package day22;
public class Demo04 {
public static void main(String[] args) {
int x = 12;
int y = 0;
if (x >= 3){
y = 2 * x + 1;
}else if (x >-1 && x <3){
y = 2 * x;
}else if (x <= -1){
y = 2 * x - 1;
}
System.out.println(y);
}
}
运行结果:
25
4. 练习
package day22;
public class Demo05 {
public static void main(String[] args) {
int score = 48;
if (score <= 100 && score >= 90) {
System.out.println("优秀");
} else if (score <= 89 && score >= 80) {
System.out.println("好");
} else if (score <= 79 && score >= 70) {
System.out.println("良");
} else if (score <= 69 && score >= 60) {
System.out.println("及格");
} else if (score>=0 && score<60){
System.out.println("不及格");
}else{
System.out.println("数据错误");
}
}
}
运行结果:
优秀
第三章.选择语句
1. 选择语句 Switch
1.1 Switch选择语句格式
Switch(表达式){
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
.....
default:
语句体n+1;
break;
}
1.2 执行流程
- 首先计算表达式的值
- 其次和case依次比较,一旦有对应的值,就会执行相应的语句,遇到break结束
- 最后所有的case与表达式的值都不匹配,就会执行default语句体,然后结束
1.3 代码演示
package day22;
public class Demo06 {
public static void main(String[] args) {
int num =1 ;
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;
}
}
}
运行结果:
星期一
1.4 Switch使用的注意事项
- 多个case后面的数值不能重复
- Switch后面的小括号只能放以下数据类型:
基本数据类型: byte , short , char , int
引用数据类型:String(字符串) , enum(枚举)
3.Switch语句格式可以很灵活,前后顺序可以颠倒,而且break可以省略(不推荐省略,可能会穿透下一个case,继续执行下去)
package day22;
public class Demo06 {
public static void main(String[] args) {
int num = 7;
switch (num) {
case 7:
System.out.println("星期日");
break;
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
default:
System.out.println("数据不合理");
break;
case 6:
System.out.println("星期六");
break;
case 3:
System.out.println("星期三");
break;
}
}
} //case不一定要按照顺序来放置,它是不会影响运行结果的
运行结果:
星期日
第四章.循环语句(循环结构)
1.概述
循环语句在满足条件的情况下,反复执行某一段代码,这段代码被称为循环体语句
2.循环语句格式
循环结构的基本组成部分,一般可以分成四部分:
- 初始化语句:在循环开始最初执行,而且只做唯一一次
- 条件判断:如果成立,则循环继续,如果不成立,则循环退出
- 循环体:重复要做的事情内容,若干行语句
- 步进语句:每次循环之后都要进行的扫尾工作,每次循环以后都要执行一次
3. for循环语句
3.1 for循环格式
for (初始化表达式A;布尔表达式B;步进表达式C){
循环体D
}
3.2 执行流程
- 执行顺序:ABCD -->BCD -->BCD-->.....-->B不满足为止
- A负责完成循环变量的初始化
- B负责判断是否满足循环条件,不满足就跳出循环
- C是具体执行的语句
- D循环后,循环条件所涉及的变量的情况
3.3代码演示
package day22;
public class Demo07 {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
System.out.println("666");
}
}
}
//用for循环输出100次666
4. while循环
4.1 while循环的两种格式
- 标准格式
while(条件判断){ 循环体; }
- 扩展格式
初始化表达式A;
while(条件判断B){
循环体C;
步进语句D;
}
4.2 执行流程
- 执行顺序:ABCD -->BCD -->BCD-->.....-->B不满足为止
- A负责完成循环变量的初始化
- B负责判断是否满足循环条件,不满足就跳出循环
- C是具体执行的语句
- D循环后,循环条件所涉及的变量的情况
4.3 代码演示
package day22;
public class Demo08 {
public static void main(String[] args) {
int i = 1;
while (i <= 100) {
System.out.println("666" + ":" + i);
i++;
}
}
}
// 用while循环输出100次666
5.do.....while
5.1 do....while.....循环格式
- 标准格式:
do{
循环体;
}while(条件判断);
2.扩展格式:
初始化语句A;
do{
循环体B;
步进语句C;
}while(条件语句D);
5.2 执行流程
- 执行顺序:ACD --> BCD -->BCD ..... B不满足为止
- A负责完成循环变量的初始化
- B负责判断是否满足循环条件,不满足就跳出循环
- C是具体执行的语句
- D循环后,循环条件所涉及的变量的情况
5.3 代码演示
package day22;
public class Demo09 {
public static void main(String[] args) {
int i = 1;
do {
System.out.println("666" + ":" + i);
i++;
}while(i<=100);
}
}
// do.....while....循环打印100次666
6.练习
1.for循环
package day22;
//题目:求1~100之间的偶数和
public class Demo10 {
public static void main(String[] args) {
int sum = 0; //接收变量一定要初始化在for循环的外面,否则每执行一次循环接收值就会被赋值一次0
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) {
sum += i;
}
}
System.out.println("结果是:" + sum);
}
}
执行结果:
结果是:2550
2.while循环
package day22;
public class Demo11 {
public static void main(String[] args) {
int sum = 0;
int i = 1;
while (i <= 100) {
if (i % 2 == 0) {
sum += i;
}
i++;
}
System.out.println(sum);
}
}
//运行结果:
2550
3.do ...while...
package day22;
public class Demo12 {
public static void main(String[] args) {
int sum = 0;
int i = 1;
do {
if (i % 2 == 0) {
sum += i;
}
i++;
} while (i <= 100);
System.out.println(sum);
}
}
//运行结果:
2550
第五章.扩展知识点
1.三种循环的区别
- 如果条件判断从来没有满足过,for循环和while循环将会执行0次,但do...while...循环至少执行1次
- for循环的变量定义在小括号内,只有循环内部才能使用,while和do....while....循环的变量本来就是定义在循环外部的,所以出来循环之后还可继续使用
2.条件控制语句
2.1 break的用法
- 可以用于Switch语句,一旦执行,整个Switch立刻结束
- 还可以用在循环语句中,一旦执行,整个循环语句立即结束,打断循环
- 小建议:凡是次数确定的场景,多用for循环;否则多用while循环
package day22;
public class Demo13 {
public static void main(String[] args) {
for (int i = 0; i <= 10; i++) {
if (i ==4){ // 如果是希望从第四次开始,后续结果不要了,可以用break打断循环
break;
}
System.out.println(i);
}
}
}
运行结果:
0
1
2
3
2.2 continue的用法
- 一旦执行,立即跳过当前次循环剩余内容,马上开始下一次循环
package day22;
public class Demo14 {
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
if (i == 4){
continue; //跳过当前循环,马上开始下一次循环
}
System.out.println(i + "层到了");
}
}
}
运行结果:
1层到了
2层到了
3层到了
5层到了
6层到了
7层到了
8层到了
9层到了
3.死循环
3.1 概念
永远停不下来的循环,叫做死循环
3.2 死循环的标准格式
while(true){
循环体
}
4.嵌套循环
4.1 概念
所谓嵌套循环,是指一个循环的循环体是另一个循环
4.2 代码演示
package day22;
public class Demo16 {
public static void main(String[] args) {
for (int i = 0; i < 24; i++) {
for (int j = 0; j < 60; j++) {
System.out.println(i+"点" + j +"分");
}
}
}
}