while循环

    1. 格式:
    2.  
    3. while(条件表达式) { // 条件表达式其实就是一个结果为boolean类型的代码
    4. 循环体;
    5. }
    • 执行流程: 先判断条件表达式的值, 如果为true就执行循环体,执行完循环体后会再次判断条件表达式的值,直到条件表达式的值为false, while循环结束

do-while循环

  • 格式:
  1. do{
  2. 循环体;
  3. }while(条件表达式);
  • 执行流程: 先执行一次循环体, 再判断条件表达式的值,如果为true就再执行循环体,直到条件表达式的值为false, do-while循环结束

for循环

格式:

  1. for(开始条件①;判断条件②;循环的变化方式③) {
  2. 循环体④;
  3. }
  4. 执行流程: 先执行开始条件, 然后执行判断条件, 如果为true就走循环体, 循环体执行结束后,走循环的变化方式, 再执行判断条件, 如果为true再走循环体, 直到判断条件的结果为false,那么循环结束.
    注意:如果第一次执行判断条件结果为false那么循环直接结束,不会执行循环体
    • ① -> ② -> ④ -> ③ -> ② -> ④ -> ③ -> ② -> ④ -> ③ (直到②为false循环结束)

    注意:如果知道循环次数,使用for循环,如果不明确循环次数使用while循环

  5. // 打印1 ~ n 之间的所有整数

    // 打印1 ~ n 之间所有整数的和

    // 打印1 ~ n 之间所有奇数的和
  6. public class Print {
    
        /**
         * 此方法用于打印1 ~ n 之间的所有整数
         *
         * @param n
         */
        public void print1_n(int n) {
            for(int i = 1; i <= n; i++) {
                System.out.println(i);
            }
        }
    
        /**
         * 打印1 ~ n 之间所有整数的和
         * @param n
         */
        public void printSum1_n(int n) {
            // 定义一个和   求和思想
            int sum = 0;
    
            for(int i = 1; i <= n; i++) {
                sum += i; // sum = sum + i;
            }
    
            System.out.println(sum);
        }
    
        /**
         * 打印1 ~ n 之间所有奇数的和
         * @param n
         */
        public void printJiSum(int n) {
            int sum = 0;
    
            // 获取1 ~ n 之间的每一个数
            for(int i = 1; i <= n; i++) {
                // 判断,如果是奇数就相加,偶数不管了~
                if(i % 2 == 1) {
                    sum += i;
                }
            }
    
            System.out.println(sum);
    
        }
    }

    增强for循环

  • 遍历的含义: 获取容器中的每一个元素

  • 格式:

 
  1. for(要遍历的容器中元素的数据类型 变量名 : 要遍历的容器) {
  2. 使用变量;
  3. }
  • 作用: 遍历容器(数组或者单列集合)
  • 快捷键: 在要遍历的容器的下方输入fore 按 alt + / 回车

死循环

 
  1. for(;;) {
  2. }
  3. // while循环的死循环
  4. while(true) {
  5. }
 

break和continue

  • break: 跳出(结束)循环
  • continue: 结束本次循环,进行下一次循环

for循环嵌套

数组,ArrayList,HashMap和字符串的遍历

  遍历数组

public class Test1_遍历数组 {
    public static void main(String[] args) {
        int[] arr = { 1, 2, 3, 4, 5 };

        // 普通for循环
        for(int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

        // 增强for循环
        for (int i : arr) {
            System.out.println(i);
        }
    }
}

遍历ArrayList集合

public class Test2_遍历单列集合 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add("赵六");

        // 普通for循环
        for(int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

        // 增强for循环
        for (String string : list) {
            System.out.println(string);
        }

    }
}

遍历Map集合

public class Test3_遍历双列集合 {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("张三", 23);
        map.put("李四", 24);
        map.put("赵六", 26);
        map.put("周琦", 27);

        // keySet(): 获取到双列集合中所有键的集合
        for(String key : map.keySet()) {
            System.out.println(key + "=" + map.get(key));
        }

    }
}

遍历字符串

public class Test4_遍历字符串 {
    public static void main(String[] args) {
        String s = "abcdefg";

        // charAt(index): 获取指定角标位置的字符
        for(int i = 0; i < s.length(); i++) {
            System.out.println(s.charAt(i) + "");
        }

        // toCharArray() : 将字符串转换成字符数组
        char[] chs = s.toCharArray();
        for (char c : chs) {
            System.out.println(c + "");
        }
    }
}

break 关键字

结束当前循环

continue关键字

跳过本次循环,执行下一次循环

continue 在循环中其促进作用

最新文章

  1. Django框架
  2. Form Builder的三种查询方法构建
  3. jsp添加背景音乐
  4. [译]通过IIS Request Filtering解决SQL Server CPU高的问题
  5. MyEclipse8.5启动无法选择工作空间的问题
  6. PLSQL_查询SQL的执行次数和频率(案例)
  7. 美丽渐变色的Form
  8. Java线程池--ThreadPoolExecutor
  9. jqzoom基于jQuery的图片放大镜
  10. [Cocos2d-x]CCSpriteFrameCache的使用
  11. [原]使用MachOView辅助破解AppStore应用
  12. 经典.net面试题目(1)
  13. Python beautifulsoup 中文乱码
  14. JavaScript字符串转换成数字的三种方法
  15. Jenkins pipeline:pipeline 语法详解
  16. css3图形绘制
  17. 转---如何让前端更安全?——XSS攻击和防御详解
  18. Android调用系统的发邮件功能
  19. 2015.7.8js-05(简单日历)
  20. cartographer安装--Ubuntu14.04--indigo

热门文章

  1. Python 串口通信操作
  2. lunx命令2
  3. 十大经典排序算法的JS版
  4. ArcGIS jsAPI (4.x)本地部署字体符号乱码
  5. javascript设计模式——装饰者模式
  6. UML总结复习指南
  7. java 线程 捕获异常
  8. web项目启动流程探索
  9. (sqlite3.OperationalError) no such table: users [SQL: &#39;SELECT users.id AS users_id, users.email AS users_email, users.username AS users_username, users.role_id AS users_role_id, users.password_hash A
  10. Mybatis中模糊查询的各种写法(转)