三 、条件判断与循环语句
1.选择流程控制语句
1.1顺序结构的基本使用
1.1.1 什么是顺序结构
>顺序结构是程序中最简单的基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数代码都是这样执行的。
1.1.2 顺序流程流程图
1.1.3 顺序结构的练习
//顺序结构:从上往下,依次执行
public class Demo{
public static void main(String args[]){
System.out.println("开始");
System.out.println("语句1");
System.out.println("语句2");
System.out.println("结束");
}
}
1.2 if 条件判断语句
1.2.1 if 语句格式 1 及执行流程
if(关系表达式){
语句体;
}
执行流程:
>先判断关系表达式,如果关系表达式为 true(真),则执行语句体;
如果关系表达式为false(假),则跳出if条件语句;
1.2.2 if 语句格式 2 及执行流程
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行流程:
>先判断关系表达式,如果关系表达式为 true(真),则执行语句体1;
如果关系表达式为false(假),则执行语句体2;
1.2.3 if 语句格式 3 及执行流程
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}else{
语句体n+1;
}
执行流程:
>先判断关系表达式1,如果关系表达式1为 true(真),则执行语句体1;
如果关系表达式1 为 false(假),继续判断关系表达式2,如果关系表达式2 为true(真),则执行语句体2;
如果关系表达式2 为false(假),则执行语句体n+1。
1.2.4 if 条件判断语句的练习
/*计算 1+2-3+4-5+6-7....+100的结果
*分析:
* 1.先算出 偶数和奇数之和
* 2.偶数之和减去奇数之和
*/
public class Demo_02 {
public static void main(String []args) {
//定义变量
int sum = 0;
int sum1 = 0;//偶数之和
int sum2 = 0;//奇数之和
for(int a = 0;a<=100; a++) {
if(a %2 == 0) {
sum1 = sum1 +a;
}else if(a%2!= 0) {
sum2= sum2 - a;
}
sum = sum1 +sum2;
System.out.println(sum);
}
//System.out.println(sum-sum1);
}
}
1.3 switch 条件选择语句
1.3.1 条件选择语句的格式
switch(表达式){
case 值1:
代码1;
break;
case 值2:
代码2;
break;
.........
case 值n;
代码n;
break;
default:
代码n+1;
}
执行流程:
>先算出表达式的值
>和case 依次进行比较,一旦有对应的值,就会执行相应的语句,在执行过程中遇到break就会结束选择。
>如果计算出表达式的值与case 不对应,就会执行default语句体部分,然后把程序结束。
1.3.2 switch 选择语句的练习
import java.util.Scanner;
/*
通过键盘录入对象,得出对应是星期几
*/
public class SwitchDemo {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//接收数据
System.out.println("请输入一个数字(1-7):");
int weekday = sc.nextInt();
//switch语句实现选择
switch(weekday) {
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;
}
}
}
2.循环流程控制语句
2.1 for循环
2.1.1 for 循环的格式及基本使用
for(初始化语句;判断条件语句;控制条件语句){
循环体语句;
}
2.1.2 for 循环的执行流程
①首先执行初始化语句
②再执行判断条件语句,如果判断条件语句为false,则循环结束
如果判断条件语句为true,继续执行
③执行循环体语局
④执行控制条件语句
⑤回到②继续
2.1.3 for 循环的练习
/*
for循环输出10次HelloWorld
*/
public class ForDemo {
public static void main(String[] args) {
for(int x=1; x<=10; x++) {
System.out.println("HelloWorld");
}
}
2.2 while循环语句
2.2.1while 循环语句的基本格式
while(判断条件语句){
循环体语句;
}
2.2.2 while 循环的执行流程
>先进行条件判断语句,如果条件判断语句是否为true ,则进行循环体语句,再继续判断条件判断语句,条件判断语句是否为true;
如果条件判断语句为false,则跳出循环。
2.2.3 while 循环语句的练习
//while 循环输出10次HelloWorld
public class WhileDemo{
public static void main(String[] args) {
//while循环实现
int x=1;
while(x<=10) {
System.out.println("HellloWorld");
x++;
}
}
}
2.3 do - while 循环
2.3.1 do - while 循环的基本格式
do{
循环体语句;
}while(条件判断语句)
2.3.2 do - while 循环的执行流程
>先执行一次循环体语句
>再判断条件判断语句是否为true
>如果为true,则继续执行循环体语句
如果为false,则结束循环。
2.3.3 do - while 循环的练习
//do - while 输出10次 HelloWorld
public class DoWhileDemo {
public static void main(String[] args) {
int x=1;
do {
System.out.println("HelloWorld");
x++;
}while(x<=10);
}
}
3.控制循环语句
3.1控制跳转语句break;
3.1.1 break 的使用场景和作用
break 的使用场景
>在选择结构switch 语句中
>在循环语句中
离开使用场景的存在是没有意义的
break 的作用:
跳出单层循环或退出当前循环
3.1.2 break 的练习
break:中断的意思
public class BreakDemo {
public static void main(String[] args) {
for(int x=1; x<=10; x++) {
if(x == 3) {
break;
}
System.out.println("HelloWorld");
}
3.2 控制跳转语句 continue
3.2.1 continue 的使用场景和作用:
continue 的使用场景:
>在循环语句中
离开使用场景的存在是没有意义的
continue 的作用
> continue 退出本次循环
3.2.2 continue 的练习
//跳出本次循环
public class ContinueDemo {
public static void main(String[] args) {
//continue;
for(int x=1; x<=10; x++) {
if(x == 3) {
//break;
continue;
}
System.out.println("HelloWorld");
}
}
}