java面试题之for循环

我们常见的for循环一般如下

 for(int i = 0;i < 10;i++) {
            System.out.println(i);
        }

运行结果:

那么假如我们要做一个无限循环的for循环呢?

 for(;;) {
            System.out.println("运行起来了");
            Thread.sleep(1000);//程序1秒之后执行
        }

 运行结果:

好了,介绍一下for循环:

for(初始表达式;循环判断表达式;前进步长表达式)  {

        循环代码体

}

再来说一下这几个表达式的运行顺序:

1.初始表达式最先执行,并且执行一次,与循环表达式与前进步长表达式可以有关系或者没关系,我的意思假如初始表达式int i = 0;那么循环表达式不一定就是i < 10啥的,可能是j > 20,或者给一个函数返回一个值fun(2)等等,总之循环表达式满足能返回一个真假就行

2.循环表达式开始判断是否满足循环条件,循环执行

3.执行循环代码体,满足条件循环执行

4.在执行前进步长表达式,然后循环执行第二步,第三步,第四步,知道第二步为false为止

那么我们来看一下面这个程序怎么打印?

Demo5.java

package pxx.test1;

public class Demo5 {
    public static void main(String[] args) throws InterruptedException {
        int i = 0;
        for(f('A');f('B') && (i < 2);f('C')) {
            i++;
            f('D');
        }
    }

    public static boolean f(char c) {
        System.out.println(c);
        return true;
    }
}

上面就是先执行f('A')->打印A,

在判断f('B')->打印B,返回true i=0小于2满足,继续循环,执行循环体i=1,f('D')->打印D

然后执行f('C')->打印C

上面会打印出ABDC

循环还没结束,又走f('B')->打印B,返回true,判断i=1小于2,执行f('D')->打印D,然后执行f('C')->打印C,然后又执行f('B')->打印B,判断i = 2 < 2不满足,循环判断表达式为假,程序退出

这部分打印BDCB

以上程序的执行结果:ABDCBDCB

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值