Java流程控制语句

2 篇文章 0 订阅

流程控制语句分类:

        选择结构 : 满足条件执行对应的代码
        循环结构 : 让一些代码重复不停的执行多次

                选择结构:

                if选择语句:

                         单选择|单分支

                               if(条件表达式){
                                    满足条件执行的代码段;
                                }

//if单选泽
		int i = -1;
		
		System.out.println("if开始了");
		if(i==0){
			System.out.println("i=0");
		}
		System.out.println("if结束了");

                     双选择|双分支
            if(条件表达式){
                满足条件执行的代码段;
            }else{
                不满足条件执行的代码段;
            }


		//双选择
		if(i>0){
			System.out.println("i>0");
		}else{
			System.out.println("i<=0");
		}

                        多选择|多分支
            if(条件表达式1){
                满足条件表达式1执行的语句体1;
            }else if(条件表达式2){
                满足条件表达式2执行的语句体2;
            }else if(条件表达式3){
                满足条件表达式3执行的语句体3;
            }.....
            else{
                如果以上都不满足执行得到语句体n;
            }

//多选择
		if(i==0)
			System.out.println("i=0");
		else if(i<0)
			System.out.println("i<0");
		else{
			System.out.println("i>0");
			System.out.println("测试是否能够被if语句体结构控制");
		}

 switch 选择语句
            能用if的不一定能用switch,能用switch都能使用if
            switch(表达式){
                case 值1:
                    语句体1;
                    break;
                case 值2:
                    语句体2;
                    break;
                ....
                default:
                    语句体n;
                    break;
            }   

public class Class003_Switch{  
	
	public static void main(String[] args){ 
		//信号灯
		String flag = "粉灯";
		switch(flag){
			case "红灯":
				System.out.println("红灯停");
				break;
			case "绿灯":
				System.out.println("绿灯行");
				break;
			case "黄灯":
				System.out.println("黄灯等一等");
				break;
			default:
				System.out.println("你是不是色弱!!!!");
				break;
		}
		//case穿透
		//季节判定通过switch实现 利用case穿透的写法
		int month = 12;
		switch(month){
			case 3:
			case 4:
			case 5:
				System.out.println(month+"月份为春季");
				break;
			case 6:
			case 7:
			case 8:
				System.out.println(month+"月份为夏季");
				break;
		}
	}

} 

break : 终止当前的switch语句
            如果没有break会发生case穿透 : 从当前满足条件的语句体开始执行,一直向下 穿透,无论下面的case是否满足条件都不再判断,直接执行语句体,
                直到遇到下一个break或者switch语句的结束而结束
    default : 与else相同
        以上的case都不满足,name就执行default中的内容
        位置可以在switch语句中的任意位置
        一般定义在switch语句的最后,如果切换位置,注意break定义
    一对{}中的内容就要缩进一个tab键

循环结构

        for循环

                for(条件初始化;条件判断;条件变化 ){
            重复执行的语句体;
        }
        条件初始化 : 声明一个变量i并且第一次赋值  -->i条件
        条件判断 : 对变量的i判断
            决定循环是否结束
        条件变化|迭代因子 : 变量i自身值的改变    

//通过循环,输出10次
		for(int i=100;i<=200;i++)
			//再循环的循环体中可以使用循环的条件i
			System.out.println("明天的你,会感谢今天努力的自己!!!!"+i);
		
		
		//System.out.println(i); 错误: 找不到符号
		
		//计算-~10之间的整数和
		int sum = 0; //记录和
		for(int i=1;i<=10;i++){
			//System.out.println(i);
			sum+=i;//sum = sum+i;
		}
		System.out.println(sum);


    注意:
        for循环的变量条件i只属于当前 for循环,只能在循环中使用
        for可以通过条件的变化控制循环的次数,循环体中可以使用条件的值,条件变量可以按照想要的逻辑进行变化,实现需求
        考虑: 是否存在一些代码重复执行,如果是,规律可循,可以选择使用循环结构
        如果循环体语句只有一句,前后的{}可以省略

while循环

        条件初始化;
    while(条件判断){
        循环体;
        条件变化;
    }

 

//输出1~10之间的整数
		for(int i=1;i<=10;i++){
			System.out.println(i);
		}
		//for循环的条件i属于当前for循环
		
		//条件初始化
		int i =  1;
		while(i<=10){ //条件判断
			//循环体语句
			System.out.println(i);
			//条件变化 
			i++;
		}
		System.out.println(i);


    for循环适用于: 确定循环次数,确定条件变量变化的区间,确定变化的规律
    while循环适用于: 在循环开始之前已经存在了判断条件变量,条件的变化不需要自己控制,不确定循环次数

do..while循环
        while(条件判断){
            语句体;
        }
        while循环先判断后执行
        do{
            循环体;
        }while(条件判断);
        do..while先执行后判断
        

//区别
		do{
			System.out.println("do..while");
		}while(false);
		
		boolean flag = false;
		while(flag){
			System.out.println("while");  //无法访问的语句
		}
		
		//正常使用
		int sum = 0 ;
		int i = 1;
		while(i<=10){
			sum+=i;
			i++; //条件变化
		}
		System.out.println(sum);
		System.out.println(i);


        区别: do...while无论是否满足条件,都至少执行一次

break 与 continue 关键字的区别:
        break:
            作用: 打破,终止,停止,结束
            应用场景: switch| 循环中
        continue:
            作用: 结束当前本次循环 ,直接进入到下一次循环
            应用场景: 循环中

//输出1~10之间的整数,遇到3或者3的倍数跳过
		for(int i=1;i<=10;i++){
			if(i%3==0){
				continue;
			}
			System.out.println(i);
		}
		
		//找到前5个被5整除的整数,在100~300之间,输出打印
		int count = 0; //计数器
		for(int i=100;i<=300;i++){
			if(i%5==0){
				System.out.println(i);
				count++;
				//停止条件
				if(count==5){
					break;
				}
			}	
		}

循环嵌套
        循环中定义循环
        for(条件初始化;条件判断;条件变化){
            循环体语句;
            for(条件初始化;条件判断;条件变化){
                循环体语句;
            }
            循环体语句;
        }
        外层循环执行一次,内层循环执行一轮(从开始到结束)

for(int i=1;i<=8;i++){
			for(int k=1;k<=8;k++){//k为列数
				
				if(i==1||i==8||k==1||k==8){//打印条件
					System.out.print("* ");
				}else{
				System.out.print("  ");
				}
			}
			System.out.println();
		}
		System.out.println();
		System.out.println();
		//九九乘法表打印
		for(int i=1;i<=9;i++){//i为行数
			for(int n=1;n<=i;n++){//列数
				System.out.print(n+"*"+i+"="+(i*n)+"\t");
			}
			System.out.println();
		}

循环嵌套下的break与continue使用
    默认针对: 多层循环嵌套下,默认针对内层循环
    带标签的break|continue:
        在循环开始位置定义标签  标签名:
        使用break|continue的时候,指定针对哪一层循环进行操作  break 标签名;

//行
		one:
		for(int i=1;i<=5;i++){
			//列
			two:
			for(int j=10;j<=15;j++){
				if(j==13){
					break one;
				}
				System.out.print(i+"----->"+j+"\t");
			}
			System.out.println();
		}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值