语法基础-程序流程控制三大结构&顺序结构&选择结构&循环结构

143 阅读2分钟

程序流程控制三大结构

一.顺序结构

​ 按照顺序从上到下逐行进行纸执行

二.选择结构:

​ 选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。

1.if选择结构

语法1:基本的if结构

	if(boolean值){

			//功能语句

		}

​ boolean值:true 内部的功能语句执行

​ false 内部的功能语句不执行

例如:

public static void main(String[] args) {
		//1 直接是一个boolean
		if(true){
			System.out.println("常量满足条件,执行了!");
		}

		//2 放一个boolean类型变量
		boolean b = true;
		if(b){
			System.out.println("变量满足条件,执行了!");
		}
		
		//3 放一个表达式
		int i = 3;
		if(!(i<2 && b)){
			System.out.println("表达式满足条件,执行了!");
		}
	}

语法2:if...else结构

​ 排他性

	if(boolean值){

			//功能语句1

		}else{

			//功能语句2

		}

​ boolean值:true 执行功能语句1

​ false 执行功能语句2

例如:


 // 判断一个成绩分数 如果成绩分数大于90 输出  优秀 其它输出  继续努力

		//定义成绩
        int  score = 68;
		//判断成绩是否满足
        if(score>=90){
            System.out.println("优秀");
        }else{
            System.out.println("继续努力");
        }	

语法3:if...else if结构

​ 适用于多条件的判断

​ else if 根据实际情况判断,可使用多条

​ 只执行符合条件的第一个代码块

	if(boolean值1){

			//功能语句1

		}else if(boolean值2){

			//功能语句2

		}else if(boolean值3){

			//功能语句3

		}else if(boolean值4){

			//功能语句4

		}else if(boolean值5){

			//功能语句5
		}

例如:

// 判断一个成绩分数 如果成绩分数大于90 输出  优秀 80~90良好  70~80中等  60~70  及格

		//定义成绩
        int  score = 68;
		//判断成绩是否满足
        if(score>90){
            System.out.println("优秀");
        }else if(score>80&&score<=90){
            System.out.println("良好");
        }else if(score>70&&score<=80){
            System.out.println("中等");
        }else if(score>60&&score<=70){
            System.out.println("及格");
        }

​ boolean值1: true 执行功能语句1

​ boolean值2: true 执行功能语句2

​ boolean值3: true 执行功能语句3

​ boolean值4: true 执行功能语句4

	if(boolean1){

			//功能语句1

		}else if(boolean2){

			//功能语句2

		}else if(boolean3){

			//功能语句3

		}else if(boolean4){

			//功能语句4

		}else if(boolean5){

			//功能语句5
		}else{
			
			//当输入的值 不在上面的区间	执行这一条语句

		}

例如:

/*
   判断一个成绩分数 如果成绩分数大于90 输出  优秀 80~90良好  70~80中等  60~70  及格  其他的输出  需要	好好加油啦
*/
		//定义成绩
        int  score = 68;
		//判断成绩是否满足
        if(score>90){
            System.out.println("优秀");
        }else if(score>80&&score<=90){
            System.out.println("良好");
        }else if(score>70&&score<=80){
            System.out.println("中等");
        }else if(score>60&&score<=70){
            System.out.println("及格");
        }else{   
            System.out.println("继续加油啦");
        }

2.swtich选择结构

​ 大多数用于 有固定取值的场景

​ 以后在工作中 多是枚举和swich联合使用

2.1 swich的常规语句

switch(key){

	case变量可能的值v1:

				执行语句;

				break;

	case变量可能的值v2:

				执行语句;

				break;

	case变量可能的值:

				执行语句;

				break;

	defult:
				执行语句;
				break;

}

key:byte short shar int enum枚举 String

v1,v2: key这个变量可能的取值

break:就是其结束符号,如果后面没有case就会继续往下执行,直到遇到break才会停下来

例如:

public class _06Switch {

    public static void main(String[] args) {
        String week = "星期八";

        switch (week){
            default:
                System.out.println("没有这个选项");
            case "星期一":
                System.out.println("学习Java编程");
            case "星期二":
                System.out.println("打篮球");
                break;
            case "星期三":
                System.out.println("洗脚");

            case "星期四":
                System.out.println("保健");

            case "星期五":
                System.out.println("九眼桥逛一逛 339 ");

            case "星期六":
                System.out.println("约会");
            case "星期天":
                System.out.println("健身休息");

        }
    }
}

三.循环结构

​ 进行循环执行的

1.for循环结构

​ 使用场景:一般用于编程人员知道循环次数的情况下

语法结构:
for( ①初始化语句 ;②条件判断语句  ;③循环后执行语句  ){

		//④循环体

	}
执行顺序:

​ 第一次循环:①---> ② ----> true -----> ④-------> ③

​ 第二次循环: ② ----> true -----> ④-------> ③

​ 第三次循环: ② ----> true -----> ④-------> ③

​ 第四次循环: ② ----> true -----> ④-------> ③

​ ....

​ 第n次循环: ② ----> false ----->结束循环

   for(int j =1;j++<=20;j+=2){
       System.out.println(++j);  3    7    11     15     19
   }
    问:
        1.循环几次? 5
        2.输出多少? 3 7 11 15 19
        3.判断几次? 6
        4.最终j的值是多少? 22

   for循环输出1-50之间3的倍数的数字?

嵌套for循环

​ 最多两层 过多执行次数太多 效率太慢

需求:

嵌套for

​ for(){

​ for(){

​ for(){

​ }

​ }

​ }

printlin: ln 就是换行的意思

例如:

public class _02DoubleFor {
    public static void main(String[] args) {
        /*
            System.out.println("*****");
            System.out.println("*****");
            System.out.println("*****");
            System.out.println("*****");
            System.out.println("*****");
         */
        //解决的打印多少行的问题
        for (int i = 1;i<=10;i++) {
           // System.out.println("*****");
            for (int j =1;j<=5;j++){ //每行打印多少个的问题
                System.out.print("*");
            }
            //每行打印结束以后换行
            System.out.println();
        }

                System.out.print("*");
                System.out.print("*");
                System.out.print("*");
                System.out.print("*");
                System.out.print("*");



            for (int j =1;j<=5;j++){
                System.out.print("*");
            }
       

2.while循环结构

​ 使用场景:一般用于不知道循环次数的场景

语法结构:

	while(①boolean值){

		//②循环功能体

}

执行顺序:

​ 第一次循环:①------>true------>②

​ 第二次循环:①------>true------>②

​ 第三次循环:①------>true------>②

​ ....

​ 第n次循环:①------>false------>终止循环

例如:

public class Work4_1while {
    public static void main(String[] args) {
        //while循环1-50之间是3的倍数有哪些数字
        int i = 1;
        while (i <= 50) {
            if (i % 3 == 0) {
                System.out.println(i);
            }
            i++;
        }
    }
}

---------------------------------------------------------------

public class Work4_2while {
    public static void main(String[] args) {
        //while循环计算出1-50之间是3的倍数的个数
        int  count= 0;
        int i = 1;
        while(i<=50) {

            if (i % 3 == 0) {
                count++;
            }
            i++;
            System.out.println(count);
        }
    }
}

---------------------------------------------------------------
public class Work4_3while {
    public static void main(String[] args) {
//        3.while循环计算1-50之间3的倍数的数字之和?

        int sum = 0;
        int i = 1;
        while(i<=50){
            if (i % 3 ==0){
                System.out.println(i);
            }
//            如果i是3的倍数
            i++;
            sum+=i;
            System.out.println(sum);
        }

    }
}

3.do...while循环结构

语法结构

	do{

		//循环的功能体

	}while(boolean)

​ 判断循环条件是否为true,如果true,执行do后执行语句,如果为false终止循环

4.循环控制语句

​ 在循环的过程中对循环进行一个控制

break:

​ 结束当前循环/提前的终止

continue:

​ 跳过本次循环,直接进入下一次循环

return:

​ 结束当前方法【同时也就包括当前的循环】