java基础之循环结构

java中的循环结构

循环对于一个语言的重要性不用我多说了吧,java中的循环,主要分为以下三种

  • for 循环
  • while循环
  • do...while循环

for循环

for循环分为普通的for循环和增强for循环

普通for循环

我们来遍历一个字符串,应该都会吧?这个很简单

public static void main(String[] args) {

        String str = "12345";
        for(int i=0;i<str.length();i++){
            System.out.println(i);
        }
    }


输出结果:
1
2
3
4
5

增强for循环

对于本人来说,最喜欢的就是这个循环,灰常好用(注意不能遍历字符串)

public static void main(String[] args) {

        String[] strs = {"1","2","3","4","5"};
        for (String str : strs){
            System.out.println(str);
        }
    }


输出结果:
1
2
3
4
5

while循环

while循环我们也来分一下,普通的while循环和特殊的while(死循环)

普通while循环

while循环和for循环不一样,while里写的是条件,当while true时,执行循环,否则则终止循环。

普通while循环中,一般会在每次循环后,对判断条件的值进行更改,比如下面的自增操作,一直到该布尔表达式为假后,跳出循环。

public static void main(String[] args) {
        int i =0;
        while(i<10){
            System.out.println("第"+i+"次循环");
            i++;
        }
    }

输出结果:

第0次循环
第1次循环
第2次循环
第3次循环
第4次循环
第5次循环
第6次循环
第7次循环
第8次循环
第9次循环

死循环

上面的循环中,条件终究会变为假,然而,有一种特殊情况就是,该布尔表达式始终为真,循环一直持续下去。

那么有人可能会问,那么程序不是卡死了吗?那有什么用呢?我想说的是,一个东西既然存在,必定就是有价值的,死循环当然有它的价值所在!

举个例子来说,我们所有的聊天软件都可以看作是“死循环”的,因为它不断的接收和发送消息,而不是到特殊的时候就停止。

当然利用break关键字,就可以手动跳出该循环,配合if语句来判断我们什么时候需要跳出死循环。

public static void main(String[] args) {
        int i = 0;
        while(true){
            if (i>10){
                break;
            }
            System.out.println("第"+i+"次死循环进行中。。");
            i++;

        }
    }

输出结果:

第0次死循环进行中。。
第1次死循环进行中。。
第2次死循环进行中。。
第3次死循环进行中。。
第4次死循环进行中。。
第5次死循环进行中。。
第6次死循环进行中。。
第7次死循环进行中。。
第8次死循环进行中。。
第9次死循环进行中。。
第10次死循环进行中。。

do...while循环

do..while用的相对来说比较少,其实就是先执行一次do里面的代码,再进行判断,如果为真就再执行下一次do的代码,所以while和do...while的区别在于,do...while至少会执行一次,而while可能一次都不执行

public static void main(String[] args) {
        int i = 0;
        do {
            System.out.println("我在执行第"+i+"次循环");
            i++;
        }while (i<10);
    }

输出结果:

我在执行第0次循环
我在执行第1次循环
我在执行第2次循环
我在执行第3次循环
我在执行第4次循环
我在执行第5次循环
我在执行第6次循环
我在执行第7次循环
我在执行第8次循环
我在执行第9次循环

说实话这个do...while用的相当别扭,最好还是别用了吧,能用for和while解决的,就绝不用do...while

最后,再顺便提一嘴,在jdk8中,又更新了一款新的循环写法,配合lambda表达式

来看下这个“黑科技”,你会觉得原来java也可以如此简洁

foreach循环

使用Arrays.stream创建流对象,然后使用foreach遍历输出数组

public static void main(String[] args) {
        String[] str = {"1","2","3","4","5"};
        Arrays.stream(str).forEach(n-> System.out.println(n));
    }

有没有很厉害?像python一样一行代码实现循环输出!!感兴趣的可以自己去看看Stream的用法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值