大家好,我是只会耕耘的码农,今天分享一下java语法中的三大流程控制语句
目录
一、顺序结构
概念
二、选择结构
概念
1.if语句
2.switch语句
三、循环结构
概念
1.for循环
2.while循环
3.do..while循环
总结:
三种循环的区别:
两种跳转控制语句的区别:
一、顺序结构
概念
顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行。
二、选择结构
概念
选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。有if和switch两种结构。
1.if语句
(1)if语句格式一
/*格式:
if (关系表达式) {
语句体;
}
执行流程:
1.首先判断关系表达式的结果
2.如果结果为true就执行语句体
3.如果结果为false就不执行语句体
4.如果后面有程序就继续执行后面的语句内容*/
public static void main(String[] args){
System.out.println("开始");
int age = 17;
if(age>=18){
System.out.println("成年人");
}
System.out.println("结束");
}
(2)if语句格式二
/*if (关系表达式) {
语句体1;
} else {
语句体2;
}
执行流程:
1.首先判断关系表达式的结果
2.如果结果为true就执行语句体1
3.如果结果为false就执行语句体2
4.如果后面有程序就继续执行后面的语句内容
注意事项: 不可能同时执行if语句和else语句中的内容,只会执行其中的一个
*/
public static void main(String[] args){
//定义一个整数
int num =10;
if(num%2==0){
System.out.println("偶数");
}else{
System.out.println("奇数");
}
}
}
(3)if语句格式三
/*格式:
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
} else if (关系表达式3) {
语句体3;
} else if (关系表达式4) {
语句体4;
}
…
else {
语句体n;
}
执行流程:
1.首先判断关系表达式1,如果为true就执行语句体1,不会执行else if语句和else语句中的内容
2.如果关系表达式1的结果为false,那么就执行下面else if,哪个为true就执行哪个语句体
3.如果else if语句都为false,那么就执行else语句中的语句体
4.如果后面有程序就继续执行后面的语句内容*/
public static void main(String[] args){
//定义考试成绩
int score =98;
if(score<60){
System.out.println("不及格");
}else if(score>=60){
System.out.println("及格");
}
}
2.switch语句
/*
格式:
switch (表达式) {
case 1:
语句体1;
break;
case 2:
语句体2;
break;
...
default:
语句体n;
break;
}
执行流程:
1.首先判断表达式的值
2.然后与下面的case进行匹配,一旦有对应的值就会执行对应的语句,在执行的过程中遇到break就会结束
3.如果所有的case都没有匹配上,那么就会执行default中的语句体,然后整个程序就结束了
*/
public static void main(String[] args){
double money=200; //自定义商品费用
int temp=1; //自定义会员
System.out.println("请输入购买商品的费用");
System.out.println(money);
System.out.println("请输入是否为会员,0非会员 1会员");
System.out.println(temp);
switch (temp){
case 0:
if (money>=100){
System.out.println("折扣额为"+money*0.1+"最终要付款的金额为"+money*0.9);
}else if(money<100&&money>0){
System.out.println("折扣额为0元,最终要付款的金额为"+money);
}else{
System.out.println("输入的金额错误");
}
break;
case 1:
if(money>=100){
System.out.println("折扣额为"+money*0.2+"最终要付款的金额为"+money*0.8);
}else if (money<100&&money>0){
System.out.println("折扣额为"+money*0.1+"最终要付款的金额为"+money*0.9);
}else{
System.out.println("输入的金额错误");
}
break;
default:
System.out.println("输入的是否为会员错误");
}
注:
1.可以将case中的break省略,让其发生case穿透,减少大量代码重复,使得代码不那么冗余臃肿。
2.default语句的位置会对结果造成影响。
三、循环结构
概念
重复性的做某件事,具有明确的开始和停止标志
1.for循环
/*
格式:
for (初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
- 格式说明:
- 初始化语句: 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样
- 条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去
- 条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去
- 循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情
- 执行流程:
1. 执行初始化语句
2. 执行条件判断语句,看其结果是true还是false
1. 如果是false,那么循环结束,也不会输出循环体语句
2. 如果是true,那么继续执行
3. 执行循环体语句(前提是条件判断结果为true)
4. 执行条件控制语句
5. 回到2继续
6. 直到条件判断结果为false,那么整个循环就结束
*/
public static void main(String[] args){
for(int i =1;i<=10;i++){
System.out.println(i);
}
System.out.println("--------");
for(int i=10; i>=1; i--) {
System.out.println(i);
}
}
注:在求和变量的定义位置,必须在循环之前,然后在循环中进行叠加求和,最后在循环结束后输出这个求和变量。
2.while循环
/*
格式:
初始化语句;
while (条件判断语句) {
循环体语句;
条件控制语句;
}
- 执行流程
1. 执行初始化语句
2. 执行条件判断语句
1. 如果结果是false,那么循环结束
2. 如果结果是true,那么继续执行
3. 执行循环体语句
4. 执行条件控制语句
5. 回到2继续
6. 直到条件判断结果为false,那么整个循环就结束
*/
public static void main(String[] args){
//while循环输出1-5
int j=1;
while(j<=5){
System.out.println(j);
j++;
}
}
}
3.do..while循环
/*
格式:
初始化语句;
do{
循环体语句;
条件控制语句;
}while(条件判断语句);
- 执行流程
1. 执行初始化语句
2. 执行循环体语句
3. 执行条件控制语句
4. 执行条件判断语句
1. 如果结果是false,循环结束
2. 如果结果是true,继续执行
5. 回到2继续
6. 直到条件判断结果为false,那么整个循环就结束
*/
public static void main(String[] args){
//do..while循环输出1-5
int i=1;
do{
System.out.println(i);
i++;
} while(i<=5);
}
总结:
三种循环的区别:
for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)
do..while循环不管怎样,都会执行一次循环体的内容
两种跳转控制语句的区别:
break:跳出循环,循环结束
continue:跳过本次循环,继续下次循环
注:continue只能在循环语句中进行使用。