笔记23 | 复习for/while/do...while的几种循环用法

一.for循环遍历数组的传统方式

/*
         * 循环1:循环int数组方法一
         */
        int[] i = {1,2,3,4,5};
        for (int j = 0; j < i.length; j++) {
            int it = i[j];
            Log.i("md", "循环1打印结果:"+it);
        }

打印结果:

01-01 00:05:25.133: I/md(1651): 循环1打印结果:1
01-01 00:05:25.133: I/md(1651): 循环1打印结果:2
01-01 00:05:25.133: I/md(1651): 循环1打印结果:3
01-01 00:05:25.133: I/md(1651): 循环1打印结果:4
01-01 00:05:25.133: I/md(1651): 循环1打印结果:5

二.for循环遍历数组的第二种方法

不严格的说,Java的第二种for循环基本是这样的格式: for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体 借助这种语法,遍历一个数组的操作就可以采取这样的写法:

/*
         * 循环2:循环int数组方法二
         */        int[] i = {1,2,3,4,5};
        for(int it : i){
            Log.i("md", "循环2打印结果:"+it);
        }

打印结果:

01-01 00:05:25.133: I/md(1651): 循环2打印结果:1
01-01 00:05:25.133: I/md(1651): 循环2打印结果:2
01-01 00:05:25.133: I/md(1651): 循环2打印结果:3
01-01 00:05:25.133: I/md(1651): 循环2打印结果:4
01-01 00:05:25.133: I/md(1651): 循环2打印结果:5

三.for循环遍历Collection对象的传统方式

对for( init; 条件; increment )解释: 首先,init先会被执行,而且就这一次。你可以在这里初始化你要的循环变量。这里也可以空白,只要有分号就行。然后,就去判断条件,如果条件为真,就执行for中的代码。如果为假,就跳出for循环,执行循环外下面的语句。在执行完一次循环主体之后,会来到increment语句,increment允许你进行变量的更新(也可以留空)。最后将会再一次判断条件,如果为真,就执行循环,如果为假,循环终止。

/*
         * 循环3:循环string数组方法一
         */
        String[] s = {"a","b","c","d","e"};
        Collection collection = java.util.Arrays.asList(s);
        for(Iterator iterator = collection.iterator(); iterator.hasNext();){
            Object str = iterator.next();
            Log.i("md", "循环3打印结果:"+str);
        }

打印结果:

01-01 00:05:25.133: I/md(1651): 循环3打印结果:a
01-01 00:05:25.133: I/md(1651): 循环3打印结果:b
01-01 00:05:25.133: I/md(1651): 循环3打印结果:c
01-01 00:05:25.133: I/md(1651): 循环3打印结果:d
01-01 00:05:25.133: I/md(1651): 循环3打印结果:e

四.for循环遍历Collection对象的第二种方法

第二种遍历Collection的简单方式: for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体 借助这种语法,遍历一个数组的操作就可以采取这样的写法:

/*
         * 循环4:循环string数组方法二
         */
        for(Object ob : collection){
            Log.i("md", "循环4打印结果:"+ob);
        }

打印结果:

01-01 00:05:25.133: I/md(1651): 循环4打印结果:a
01-01 00:05:25.133: I/md(1651): 循环4打印结果:b
01-01 00:05:25.133: I/md(1651): 循环4打印结果:c
01-01 00:05:25.133: I/md(1651): 循环4打印结果:d
01-01 00:05:25.133: I/md(1651): 循环4打印结果:e

五.while循环

只要所设定的条件为真,while循环就会一直重复执行while循环中的代码。

/*
         * while循环
         */
        int iw = 5;
        while (iw>0)//判断条件
        {
            iw --;
            Log.i("md", "while循环打印结果:"+iw);
        }

打印结果:

01-01 00:05:25.134: I/md(1651): while循环打印结果:4
01-01 00:05:25.134: I/md(1651): while循环打印结果:3
01-01 00:05:25.134: I/md(1651): while循环打印结果:2
01-01 00:05:25.134: I/md(1651): while循环打印结果:1
01-01 00:05:25.134: I/md(1651): while循环打印结果:0

六.do...while循环

do...while的特点是在语句的最后面对条件进行判断,和while不同的是do...while一定会保证循环能执行一次。

/*
         * do...while循环
         */
         int idw = 5;
        do {
            idw --;
            Log.i("md", "do...while循环打印结果:"+idw);
        } while (idw>0);//判断条件

打印结果:

01-01 00:05:25.134: I/md(1651): do...while循环打印结果:4
01-01 00:05:25.134: I/md(1651): do...while循环打印结果:3
01-01 00:05:25.134: I/md(1651): do...while循环打印结果:2
01-01 00:05:25.134: I/md(1651): do...while循环打印结果:1
01-01 00:05:25.134: I/md(1651): do...while循环打印结果:0

原文发布于微信公众号 - 项勇(xiangy_life)

原文发表时间:2017-10-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏mathor

Iterator

1034
来自专栏java一日一条

JavaScript 中 this 的使用技巧总结

在 js 中,this 这个上下文总是变化莫测,很多时候出现 bug 总是一头雾水,其实,只要分清楚不同的情况下如何执行就 ok 了。

513
来自专栏十月梦想

php数组遍历三种方法

893
来自专栏Python攻城狮

python高级编程1.==,is的使用 2.深拷贝、浅拷贝 3.属性property

@property成为属性函数,可以对属性赋值时做必要的检查,并保证代码的清晰短小,主要有2个作用

762
来自专栏desperate633

LintCode 子数组之和题目分析代码

给定一个整数数组,找到和为零的子数组。你的代码应该返回满足要求的子数组的起始位置和结束位置

502
来自专栏Golang语言社区

Golang语言社区--【基础知识】函数

函数是一组一起执行任务的语句。每Go程序具有至少一个函数,它一般是main(),以及所有的最琐碎程序可以定义附加函数。 你可以将代码放到独立的功能。如何划分代码...

2987
来自专栏行者常至

构造代码块、构造函数、静态代码块 学习笔记

921
来自专栏计算机视觉与深度学习基础

Leetcode 86 Partition List

Given a linked list and a value x, partition it such that all nodes less than x...

1776
来自专栏前端大白专栏

Object.keys()具体使用方式

1465
来自专栏Jed的技术阶梯

图解插入排序

上面的算法的缺点:在第i-1趟插入时,需要把第i个元素插入到前面的i-1个元素中,该算法总是从i-1个元素开始逐个比较之前的每个元素,直到找到第i个元素的插入位...

855

扫码关注云+社区