《重生之我在java世界做任务升级》--第三章

第三章:循环与条件判断

        “早上好,今天也是元气满满的一天呢。”编译器如同昨天一样趴在我的床头,不过今天凑得倒是没有昨天那么近。

        “早,早上好。”昨晚一直在想虚拟机老爷子跟我说的那些东西没能睡好。

        编译器一边往外走一边说:“昨天老爷子说他要出去探望老伙计,所以今天就由我来教你进一步的编程。”

        “哦哦哦,好。”

        今天的早饭是油条加稀饭,油条的硬度刚刚好,一口油条,一口稀饭,感觉人生到达了巅峰。

        早饭过后,如同之前一样,编译器把我拉到河边开始了他的授课。我也问过为什么这么喜欢河边?他说:“因为在河边他能感受到大自然的气息,感受到生命的律动。”

        “这台词怎么这么熟悉?”我喃喃到。

        “好啦,我们该进入正题了。”我们在河边的一块大石头上坐下,他大手一挥:

新手任务要求:

        1.使用电脑自带的文本编辑器

        2.不使用IDE或者其他代码编写工具

        3.亲自做任务

        4.在桌面创建一个Count.txt的文本文件

        5.编写以下代码:

//程序实例
public class Count{
    public static void main(String[] args){
        int x = 10;
        System.out.println("Count Start:" + x);
        while(x > 0){
            x = x-1;
            if(x <= 3){
                System.out.println("Count three:" + x);
            }else{
                System.out.println(x);
            }
        }
    }
}

        “好啦,这是我们今天要做的任务。”说完,他伸了个懒腰,“写好了叫我,我先睡个回笼觉。”

        “不积跬步,无以至千里。不积小流,无以成江海。”念着念着他便睡着了。

        ……时间不知过了多久。

        “javac 什么来着?”

        “javac Count.java”编译器躺在地上慢悠悠地回答道。“嗨呀,这么快就写好了,老弟,挺不错地嘛,没有作弊吧?”他冲我挤了挤眉毛。

        “好啦,今天这个代码比昨天那老头讲的要复杂一点,我一点点给你说说里头面生的部分吧。”

        “第一个”

int x = 10;

        “x呢,是一个变量,数学里面学的变量,他的值是不固定的。”

        “这int x呢,代表着我们写了一个int类型的x变量,int类型的全称叫做integer——整数。然后java里面还有其他类型的变量,今天我们先不讨论他们,一步步来。”

        “所以我们是创建了一个整数类型的x变量吗?”我挠挠头问道。

        “哈哈哈,是的,等号就是给这个变量进行赋值操作,就像数学里面一样。”

        “感觉和数学里面还是有些差距。”我不要意思地嘀咕道。

        “哈哈哈,那是当然啦,毕竟我们是在写代码不是做数学题。”,他笑得好开心,我这辈子还真是没见过这么爱笑的人。“好啦好啦,第二个”

while(x > 0){}

        “注意一下哈,这是一个代码块,是由多条语句构成的。”见我有些疑惑,他接着说道:“我们先不管括号里面有什么,我们先来了解了解这个代码块的while是啥。”

        “while在英文中翻译为:当什么什么的时候。”

        “当什么什么的时候执行后面的代码吗?”我不自觉地说道。

        “bingo!”编译器啪地一下打了一个响指,“我们这句话的意思就是当x>0的时候执行后面的代码。”

        “哦哦哦,我们的x一开始为10。”

        “反应挺快,哈哈哈。”他顿了顿,接着说道:“我们把这种代码块称为while循环。”

        “循环……重复做一件事情。”我喃喃道。

        “好啦,我们继续往下看第三个。”

        “我去,这么快?”我有些惊讶他解释的速度了。

        “哈哈哈,别担心,一会儿我们会回来接着聊循环的。你先大致理解一下。”说着,他便将手指向了下面的语句:

if(x <= 3){
   System.out.println("Count three:" + x);
}else{
   System.out.println(x);
}

        “这俩也是语句块?”

        “可以这么理解,而且他俩是一组的。”编译器突然停下了,原来是有一只蜜蜂飞到了他的鼻子上。

        他轻吹一口气,那蜜蜂就慢悠悠地飞走了。

        “呼~差点~”他深呼了一口气。

        “咳咳,刚才说到这俩都是语句块。但是,他俩是在不同的条件下执行的。比方说:if(x <= 3)语句块是在x<=3的情况下执行的,else语句块则是在x>3的情况下执行的。”

        “所以……他们是对x做了一些判断之后再执行后面的语句吗?听起来和while的作用机制有点像。”

        “对呀,但是他们只会执行一次,不会重复执行。除此之外,if 还有一个兄弟 else if ,我们来举一个例子吧。 ”

if(x <= 3){
    System.out.println("x小于或者等于3")
}else if(3 < x < 7){
    System.out.println("x大于3,但小于7")
}else{
    System.out.println("x大于或者等于7")
}

        “怎么样?有没有什么感觉了?”编译器把手搭在了我的肩膀上。

        “似乎……我们在if之后又执行了一次判断。”

        “哈哈哈,没错,就是这么简单。”

        “感觉else不用写判断语句好方便。”我开心地说道。

        “哈哈哈,是的,不过没有if就没有else哦。else代表的是if与else if条件之外的情况。并且else if 与 else是非必要的,这要取决于你要解决的问题。”

        “哦哦哦,具体问题具体分析是吧。”

        “哈哈哈,不错,哈哈哈。”

        “话说,刚刚你说我们还会回去讲到循环是啥意思?”

        “嘿嘿,别着急,接下来我要给你介绍的是其他几种循环:do……while、for”

        “do……while比较顺眼,for是啥?”

        “咱们一步步来,请看以下代码”

int x = 10;
do{
    System.out.println("hello World")
}while(x > 20)

        “do……while呢,他的意思就是先执行一次,再进行条件判断。”编译器解释到。

        “好家伙,这操作也是可以的。”

        “哈哈哈,那必须的。先上车后查票啦~”,编译器一脸地不正经,“咳咳,for呢,就有一丢丢复杂,我们修改一下我们的Count.java吧。”

//新代码
public class Count{
    public static void main(String[] args){
        for(int x = 10;x > 0;x = x-1){
            System.out.println("Count Start:"+ x);
            if(x <= 3){
                System.out.println("Count three:" + x);
            }
        }
    }
}
//旧代码
public class Count{
    public static void main(String[] args){
        int x = 10;
        System.out.println("Count Start:" + x);
        while(x > 0){
            x = x-1;
            if(x <= 3){
                System.out.println("Count three:" + x);
            }else{
                System.out.println(x);
            }
        }
    }
}

        “看起来for循环好简洁。”我喃喃到。

        “for循环的括号里将创建变量,条件判断,后续对变量的操作都写在了一起,所以代码就变得简洁了。大致的流程呢就是先进行x = 10的赋值,然后进行x>0的判断,判断以后就执行了下面的代码,执行完了以后再回来对x进行减一,然后循环往复,直到条件判断不成立。”

        “那以后我就只用for循环吧。”

        “啊这,少年,万万不可呀!他们每一种循环结构都有自己存在的价值,我们也应该根据自己遇到的问题来判断哪一种循环更具有性价比。”编译器说完,伸了个懒腰,“累死本大爷了,等那老头回来我一定找他要点补偿。”

        代码讲完了,太阳公公也登上了山顶,是该吃午饭的时候了。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值