zoukankan      html  css  js  c++  java
  • Java初学者:for循环介绍

    本章节,我们介绍java里的循环,在开始本章节之前,先给大家提出一个问题,比如说,我让你用print显示出10条"Hello baby"的信息,你会怎么做呢? 从我们以前所学的知识来看,这很简单,只需要System.out.println("Hello baby");十次即可。但是我让你显示出100次甚至更多呢? 也许你说我是无理取闹,是的,这个问题本身并没有实际的意义,但是这样的问题实际上就是:多次执行相同或者有一定规律的操作。在这种时候,我们需要用到循环。只从语义来讲,循环就是do it again and again对吧?但是怎么来做呢?

        java里有两种循环,for循环和while循环,本次,我们先来介绍for循环。

        for循环里有两种,普通for循环和for each循环,后者是java后来加上去的,原本是没有的。先说普通for循环:

        普通for循环的格式是这样的:

        for(初始化条件(一般为数据的初始化); 判断条件(一般与前面初始化的数据有关); 条件改变(一般改变那个数据))

        {执行的操作}(如果执行的操作只有一条语句,花括号可以省略掉,但是建议初学者不要这么做,容易把自己弄糊涂。)

        那么,上面这个for循环是怎么执行的呢? 我们来写个小程序,来说明一下这个问题:

    你看,我们打印出了10条Hello baby!对吧?但是到底发生了什么呢?下面我们详细解释一下,

    for(int i = 0; i < 10; i ++)

    {

            System.out.println("Hello baby!");

    }

    i是一个整型数据,在for循环的最最开始,它被定义并初始化为0,然后判断它是否小于10,如果小于10,那么执行

    for后面花括号里的操作,如果不小于10,直接退出循环。我们的i目前等于0,所以,执行了操作,打印出了一个"Hello baby!",然后呢? 然后程序将跳转回for后面的圆括号那行,但是,java将从右往左执行,就是说,先执行   i ++,这个是i自加1的意思,于是,我们的i变成了1,然后判断,i < 10是否为真?为真,因为i现在等于1,既然为真,那就继续跳转进花括号进行操作,于是又打印出一条"Hello baby",然后再跳转到圆括号那里,i ++,i变成2,然后再打印出信息,知道i等于9之后,i++,这次变成了10,i < 10这次为false了,将不再进入花括号执行操作,而是跳出循环,我们这个程序,只有一个for循环,跳出此循环,程序就结束了。

        这个例子也许没什么实际的意义,那么我们这里来看看有点儿实际意义的。 著名的数学家高斯,在10岁那年,用较短的时间,轻松的算出了1+2+3+...+100 = 5050, 使得他的老师彪特奈尔异常激动,意识到自己发现了一个天才。我们现在知道,当年高斯的算法是第一个数加上最后一个数是101,第二个数加上倒数第二个也是101,一共有50对这样的加法,最后得到5050,那么如果我们用java的for循环来做呢? 我们在此用两种方法,一种是1+2+...+100,另一种就是模拟高斯的做法,程序代码如下:

    你看,结果是相同的是吧,哎,如果当年有java,那轮得到高斯在那儿装啊? 就算用笨办法也比他做的快啊。可惜啊,当懒惰的Patrick Naughton在1990年12月大声抱怨C++的时候,距离高斯算出5050这个数字已经213年了。

        以上便是普通的for循环,一般来说,for循环经常控制某些操作的执行次数,所以,多数情况下,会对整形数据进行初始化和自加操作。但这不是绝对的,for循环可以很灵活的,比如下面的例子:

    这个例子打印出Thinking in JAVA,但是每次都少打一个字母,这有些像"我顿时凌乱了, 顿时凌乱了,时凌乱了,凌乱了,乱了,了”, 对吧,这个小程序用到了String的基本操作,我们还没有涉及到。不过这没关系,我只是说,普通for循环的格式是死板的,但是使用for循环的人是灵活的。

        我们今天就说到这里吧,虽然我本来还想说说for each循环,但是那必然会涉及到数组的问题,而我们还没有说到数组,所以for each循环我们留到后面再说吧。

  • 相关阅读:
    Running ASP.NET Applications in Debian and Ubuntu using XSP and Mono
    .net extjs 封装
    ext direct spring
    install ubuntu tweak on ubuntu lts 10.04,this software is created by zhouding
    redis cookbook
    aptana eclipse plugin install on sts
    ubuntu open folderpath on terminal
    ubuntu install pae for the 32bit system 4g limited issue
    EXT Designer 正式版延长使用脚本
    用 Vagrant 快速建立開發環境
  • 原文地址:https://www.cnblogs.com/entry-android/p/5538829.html
Copyright © 2011-2022 走看看