教妹学Java(十五):for循环详解

你好呀,我是沉默王二,一枚颜值与才华俱在的程序员。本篇教程通过我和三妹对话的形式来谈一谈“for、while、do-while 循环之间的差别,以及重点介绍一下 for 循环。while、do-while 会在接下来的教程中单独介绍”。

教妹学 Java,没见过这么又去的标题吧?“语不惊人死不休”,没错,标题就是这么酷炫,毕竟面向对象编程。专栏现在定价只要 9.9 元,我在想,CSDN 这是赔本生意啊,定价也太低了,趁早买,买到的同学我只能说你赚到了,后面 CSDN 肯定会涨价。

下面就由我来介绍一下故事的背景吧。

我有一个漂亮如花的妹妹(见上图),她叫什么呢?我想聪明的读者都能猜得出:沉默王三,没错,年方三六。父母正考虑让她向我学习,做一名正儿八经的 Java 程序员。我期初是想反抗的,因为程序员这行业容易掉头发。但家命难为啊,与其反抗,不如做点更积极的事情,写点有趣的文章,教妹妹如何更快地掌握 Java 这门编程语言。毕竟程序员还算得上高薪(都是拿命换的啊)。

“二哥,今天我们重点学习的内容是‘for 循环’,对吧?”

“是的,三妹。for 循环是 Java 中的三大循环语句之一,它们使用的场景各不相同,可以根据下图比较一下。”

再来个表格感受一下。

比较方式forwhiledo-while
简介for 循环的次数是固定的while 循环的次数是不固定的,并且需要条件为 truedo-while 循环的次数也不固定,但会至少执行一次循环,无聊条件是否为 true
何时使用循环次数固定的循环次数是不固定的循环次数不固定,并且循环体至少要执行一次
语法for(init:condition;++/–) {// 要执行的代码}while(condition){// 要执行的代码}do{//要执行的代码}while(condition);

01、普通的 for 循环

普通的 for 循环可以分为 4 个部分:

1)初始变量:循环开始执行时的初始条件。

2)条件:循环每次执行时要判断的条件,如果为 true,就执行循环体;如果为 false,就跳出循环。当然了,条件是可选的,如果没有条件,则会一直循环。

3)循环体:循环每次要执行的代码块,直到条件变为 false。

4)自增/自减:初识变量变化的方式。

来看一下普通 for 循环的格式:

for(初识变量;条件;自增/自减){  
// 循环体
}  

画个流程图:

来个示例:

public class ForExample {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            System.out.println("沉默王三好美啊");
        }
    }
}

输出:

沉默王三好美啊
沉默王三好美啊
沉默王三好美啊
沉默王三好美啊
沉默王三好美啊

“哎呀,二哥,你真的是变着法夸我啊。”

“非也非也,三妹,你看不出我其实在夸我自己吗?循环语句还可以嵌套呢,这样就可以打印出更好玩的呢,你要不要看看?”

“好呀好呀!”

“看好了啊。”

public class PyramidForExample {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            for (int j = 0;j<= i;j++) {
                System.out.print("❤");
            }
            System.out.println();
        }
    }
}

打印出什么玩意呢?

❤
❤❤
❤❤❤
❤❤❤❤
❤❤❤❤❤

“哇,太不可思议了,二哥。”

“嘿嘿。”

02、for-each

for-each 循环通常用于遍历数组和集合,它的使用规则比普通的 for 循环还要简单,不需要初始变量,不需要条件,不需要下标来自增或者自减。来看一下语法:

for(元素类型 元素 : 数组或集合){  
// 要执行的代码
}  

来看一下示例:

public class ForEachExample {
    public static void main(String[] args) {
        String[] strs = {"沉默王二", "一枚有趣的程序员"};

        for (String str : strs) {
            System.out.println(str);
        }
    }
}

输出:

沉默王二
一枚有趣的程序员

“呀,二哥,你开始王哥卖瓜了啊。”

“嘿嘿,三妹,你这样说哥会脸红的。”

03、无限 for 循环

“三妹,你想不想体验一下无限 for 循环的威力,也就是死循环。”

“二哥,那会有什么样的后果啊?”

“来,看看就知道了。”

public class InfinitiveForExample {
    public static void main(String[] args) {
        for(;;){
            System.out.println("停不下来。。。。");
        }
    }
}

输出:

停不下来。。。。
停不下来。。。。
停不下来。。。。
停不下来。。。。

一旦运行起来,就停不下来了,除非强制停止。

本篇文章为《教妹学Java》专栏的第十五篇文章,是不是轻松又活泼,学技术再也不枯燥了,对吧?购买专栏的同学都是冲着二哥名声来的,我只能说你很有眼光。

这成就,没几个人能比得上吧?看到这里的同学都是购买了本专栏的,为表谢意,你可以添加我的个人微信【qing_geee】,有任何学习上的问题都可以随时向我请教,本号的坑位所剩无几,手慢无。另外,我有几个高质量的交流群,我会不定期在群里分享学习资源,福利等等,感兴趣的可以说下我邀请你!

上一篇回顾:教妹学Java(十四):switch 语句详解

PS:本篇文章中的示例代码已经同步到码云,传送门~

别瞅了,点赞就对了,你最美你最帅

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉默王二

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值