zoukankan      html  css  js  c++  java
  • 0420循环结构

    0420循环结构

    1.循环结构

    1.1while循环结构
    while语句适用于知道判断条件结果的
    for语句适用于知道循环次数的
    
    三种循环语句都是:条件满足一直循环,循环到条件不满足时停止
    
    代码中一定存在需要循环出现的情况,如果不使用循环,会导致以下一些问题
    	1. 阅读性极差!!!
    	2. 维护性极差!!!
    	3. 代码冗余!!!
    
    
    
    1.2while循环
    while (/* 循环条件 true or false */) {
        // 循环体
        // (循环条件变更)
    }
    /*
    执行流程:
    	当前程序运行到while循环结构时,首先判断while之后的小括号里面的循环条件是否为true,如果为true,执行循环体,在回到循环条件判断,直到循环条件为false,终止循环!!!
    */
    
    
    1.3do-while循环
    do {
        // 循环体
        // (循环条件变更)
    } while (/* 循环条件判断 */);
    /*
    执行流程:
    	当程序执行到do - while循环结构时,首先执行一次循环体(循环条件变更),再来判断while中循环条件判断是否为true,如果为true,继续执行,如果为false,终止循环。
    【注意】
    	1. while(condition);;;;;;;;;;;;;;;;;;;;;;;;;;; 这里英文分号
    	2. 执行do - while需要明确第一次循环会不会存在隐患
    */
    /*
    【注意】
    	do {
    		ch += 1;//正确操作,建议操作
    		//ch ++;//正确操作
    		//ch = ch +1; //错误操作 char为字符类型,无法保存int类型!!!
    	} while (ch <= 'Z');
    */
    
    

    1.4for循环

    for (/* 循环条件初始化 */; /* 循环条件判断 */;  /* 循环条件变更 */) {
        // 循环体
    }
    
    for循环的优势:
    	1. for之后的小括号内容,可读性更强//初始条件,终止条件,变化条件均在一行,便于阅读
    	2. 可以通过for之后小括号,里面的内容大概推算出整个循环会执行多少次
    	3. for循环和一些特殊的数据关系非常紧密
    
    /*
    案例展示,对比while循环
    使用for循环,展示所有大写英文字母
    
    */
    class Demo3 {
    	public static void main(String[] args) {
    		/*
    		ch += 1 <==> ch++ <==> ++ch
    		*/
    		for (char ch = 'A'; ch <= 'Z'; ch += 1) {
    			System.out.println(ch);
    		}
    	}
    }
    
    1.4循环总结
    1. 循环过程中最核心的内容就是循环变量,需要对于循环变量的执行的过程中数值变量完全掌握!!!如果无法明确循环的次数,循环变量的值,循环的过程,可以将循环代码中变量的变更过程记录。
    
    2. 循环过程中需要注意无限循环问题,控制无限循环问题的出现。一定要保证循环条件有效性或者代码中存在一个跳出循环的机制。
    
    3. do while循环中,第一次循环体的执行是没有经过任何的条件判断的,需要注意!
    【已知,可控】程序最好达到
    
    4. while和do while循环结构是可以进行互换的。
    
    5. 然后在while和do while之间考虑使用的情况下,一般推荐使用while循环。但是不代表do while没有实际的使用效果。
    
    1.5循环控制语句
    continue 跳出本次循环继续下一次循环。【注意】需特别注意**continue与自增变量的相对位置**,两个的代码放的位置有差异时可能会造成意外后果。continue对for的影响会小一些
    
    碰到continue要仔细分析其代码
        
    break    终止此循环,代码中的功能是跳出循环结构或者switch case结构
    
    
    1.6for循环与continue案例
    class Demo8 {
    	public static void main(String[] args) {
    		
    		/*
    		for循环使用continue关键字不会受到影响
    		不会跳过循环条件变更
    		*/
    		for (int i = 1; i <= 10; i++) {
    			if (5 == i) {
    				System.out.println("continue执行了,嘿嘿嘿");
    				continue;
    			}
    			
    			System.out.println("实力不允许for循环低调");
    		}
    	}
    }
    
  • 相关阅读:
    poj 3528 (三维几何求凸包+凸包表面积)
    dijkstra模板(好像是斐波那契额堆优化,但我为什么看起来像优先队列优化,和spfa一样)
    最大空凸包模板
    ICPC 2017–2018, NEERC, Northern Subregional Contest St Petersburg, November 4, 2017 I题
    hdu 5248 序列变换
    hdu 2063(二分图模板测试)
    组合数
    85. Maximal Rectangle 由1拼出的最大矩形
    750. Number Of Corner Rectangles四周是点的矩形个数
    801. Minimum Swaps To Make Sequences Increasing 为使两个数组严格递增,所需要的最小交换次数
  • 原文地址:https://www.cnblogs.com/raising/p/12741440.html
Copyright © 2011-2022 走看看