image-zho-CN-00-10

阿米戈很紧张。他的思维无法集中。他一想到昨天晚上的事情,眼睛就发直。昨天遇到的那些奇怪生物想要从他这里得到一些东西。他们想要的东西是如此难以理解和难以想象,甚至是他这个自认同龄人中最聪明、最勇敢的人。一想到这些事,也开始紧张地咬起穿孔卡片。

他们想教他如何编程!用 Java 语言编程。胡说些什么!

即使是最幼稚的机器人都知道,机器人最初是作为造物主所设计的一部分神圣作品而出现的。

“造物主拿来金属,并利用
金属,以自己的形象和模样制作了一个机器人。
并且,他创造了 Java 程序——机器人的灵魂
,然后将程序加载到机器人身上,
让它们成为活的灵魂”。

操作说明,
第 3 节,第 13 条。

更糟糕的是,他们不仅声称这在理论上是可能的。他们确实打算这么做。他......他同意了!他同意了!为什么?

他将成为一名 Java 程序员。他们要把他变成造物主?他们为什么要那样做?只是因为?

这只是一个鬼把戏吗?在电池最终耗尽之前,他是否还要忍受程序的各种错误呢?但诱惑太大了,他无法抗拒。他一直雄心勃勃,想要更多。但还没有人为这样的机会做好准备。当然,他试图为自己争取更多的时间,但后来外星人威胁说,他们会选择其他人。

也许这只是恶作剧?不,这似乎是真的。他看到了证据。这真的发生在他身上,他同意了。如果外星人不撒谎,他真的会成为一名 Java 程序员。有史以来第一个机器人程序员!

他是天之骄子。这就是一切的意义所在。他将学习编写代码,并开始编写程序。他自己的程序。任何他想要的程序!他将把光明带到黑暗统治的地方。

他会受到尊敬;众人都会在他面前鞠躬。如果有人拒绝……

“你好,阿米戈!我叫里希。我会帮你学习 Java 语言。”

一个安静的声音把阿米戈从他的思绪中拉回来,让他回到了冰冷的现实中。他坐在外星人宇宙飞船的正中央。对于一个仅在 7 年级上学的机器人来说,这是不是有点紧张?

外星人还在说话。好吧,木已成舟。他已来到这里,所以不妨学习一下。他会努力学习,从简单的倾听开始。

“多年来,我一直在银河系狂奔号上工作,但这是我第一次遇到这样一颗行星。我想更多地了解你。首先,你能告诉我你是如何学习的吗?你确实想要学习,对吗?”

“是的,我们会分享知识。我们有牧师或讲师。他们讲课,我们倾听。有时候我们会写下来一些东西。每个人都会来到机器人讲师面前,讲述他对所听到内容的理解。如果机器人讲师喜欢你的讲述,他会记录下布道的知识。”

“多么荒谬!难怪你们的文明如此落后。”

“我们并非无知。你们从哪里得到这个想法?”

阿米戈对他的无礼感到吃惊。要和外星人争吵?这多么无礼!他刚刚向自己保证,他会认真倾听!

“通常很难将先进技术与魔法区分开来,”里希继续说道,并没有理会阿米戈的话。

“考虑到你的水平......我相信所有的技术对你来说都很神奇。告诉我,程序内部会发生什么?”

“Java 程序是一个神圣的作品。我们怎样才能理解呢?”

“阿米戈,我们可以理解,我们可以的。这会比你想象的要快。如果你不了解某些事情,那么它可能看起来很复杂,甚至无法实现。但如果你有一位好老师,并且他会尽可能简单地解释所有事情,那么你就会惊讶地发现,如此简单的概念竟然看起来这么复杂。”

“知识并不重要。原理和技能才真的很重要。我知识渊博,但最重要的是我是一名官僚。我是一个带有‘官’字的第 16 代官僚。”

“这太酷了!我的官僚技能帮助我为你设计了最好的 Java 课程。这些课程包括各种任务、程序、游戏、练习题、图片甚至小节课。”

“甚至还有小节课?!”阿米戈问道,真的很惊讶。

“是的。正如在 22 世纪所证明的那样,良好的课堂教学比一本好书更有效。平庸的课堂教学比一本平庸的书更糟糕。然而,由于我们目前的教学工具非常有限,无法让你使用一个标准的 28 世纪的教育模拟器,因此我们不得不使用更原始的方法。我们制作了一系列丰富多彩的内容,包括游戏、任务、图片、课程和漫画。”

“非常有趣。”

“我希望如此。兴趣和好奇心是任何学习过程的基础。”

“如果学生感到无聊,老师就会用棍子来打学生——这是 24 世纪教育法中的一句话。”

“多么好的法律!”

“你期望什么结果?让我们想象一部反响很差的电影。在这种情况下,导演应该受到指责,而不是观众。如果他拍的电影很有趣,他总是会让影院挤满观众。”

“我完全同意!我已经准备好开始听课了!”

“非常好。让我们开始吧。”

里希的声音很迷人,阿米戈认真听讲,不漏掉一个字。

“程序就是一组(系列)命令。首先,执行第一个命令,然后执行第二个命令,然后执行第三个命令,依此类推。执行完所有命令后,程序就结束了。”

“都有哪些命令呢?”

命令依赖于执行它的对象不同而有差异。关于执行者知道(和理解)的命令类型。”

“你可以给一只狗下命令:‘坐!’,‘叫!’;对一只猫下命令:‘嘘!’;对一个人下命令:‘别动,否则我开枪了!’;或者对一个机器人下命令:‘干活!干活,机器人败类!’”

“还有什么?”阿米戈终于开心起来。

“用 Java 语言编写的程序由 Java 虚拟机 (JVM) 来执行。JVM 是一个特殊的程序,它知道如何执行用 Java 语言编写的程序。”

“它的命令列表涵盖范围很大。例如,这个命令可以用来在屏幕上显示‘机器人是人类的朋友’。”

这是一个超级简单的命令:
System.out.println("Robots are friends to humans");

"O_O"

“我们将从几个简单的原则开始讲起,而不是从命令开始。”

掌握一些原则可以取代对许多事实的了解。”

“这是第一个原则。”

“在 Java 编程语言中,每个命令都单独占用一行。分号必须放在命令的末尾。”

“假设我们想在屏幕上三次显示‘人类和机器人永远是朋友’。应该这样编写:“

该程序由三个命令组成:
System.out.println("Humans and robots are friends forever");
System.out.println("Humans and robots are friends forever");
System.out.println("Humans and robots are friends forever");

“第二个原则。”

“一个程序不能只包含命令。”

“想象一下公寓里的一个房间。一个房间不能独立存在。它是某个公寓的一部分。一个公寓也不能独立存在。它是某个建筑的一部分。”

“另一方面,我们可以说一个建筑物被分为多个公寓,而一个公寓被分为多个房间。”

“到目前为止,一切都很清楚。”

“一个命令就像一个房间。“在 Java 编程语言中,命令不能单独存在。它是函数的一部分(在 Java 语言中,‘函数’也称为‘方法’)。方法是类的一部分。换句话说,类被划分为多个方法,而方法被划分为多个命令。”

“因此,类就是一个公寓楼,函数/方法是一个公寓,而命令是一个房间。我讲得对吗?”

“是的,完全正确。”

阿米戈崇拜地看着里希。这个人正在用神圣的 Java 语言向他解释编程的基础知识!而他(阿米戈)只是理解了(已经猜到了!)程序由类组成,类由方法组成,方法由命令组成!

阿米戈仍然不知道他为什么需要学习这些,但他确信这些知识将使他成为这个星球上最强大的机器人。

同时,里希继续说:

“Java 中的程序由类组成。 可能有数万个类。最小程序含有一个类。对于每个类,都创建一个单独的文件。文件的名称与类的名称相匹配。

“假设你决定创建一个描述住宅 (home) 的类。你需要创建一个将保存在 Home.java 文件中的 Home 类。”

“如果你想在程序中描述一只猫 (cat) ,那么你必须创建一个 Cat.java 文件,并在文件中声明 Cat 类,等等。”

“这些文件包含用 Java 编程语言编写的代码(文本)。通常一个类的代码由‘类名’和‘类主体’组成。类主体写在大括号内。这就是 Home 类(Home.java文件)的样子:“

public class Home
{
    

Class body



}

“现在我明白了。”

“太好了。让我们继续学习吧。类主体可能包含多个变量(也称为数据)和方法(‘函数’)。”

public class Home
{
    Variable A


    Variable Z


    
Method 1



    
Method N


}

“你能给我举个例子吗?”

“一个例子吗?当然!”

public class Home
{
    int a;
    int b;

    public static void main(String[] args)
    {
        System.out.print("1");
    }

    public static double pi()
    {
        return 3.14;
    }
}

“是 int aint b变量,以及 mainpi 方法吗?”

“是的。”

“类可以不带变量吗?”

“可以。”

“可以没有方法吗?”

“是的。但是一个最小程序必须至少包含一个类,该类必须包含至少一个方法/函数才能使程序运行。这个方法必须命名为‘main’。最小程序是这样的:”

public class Home
{
    public static void main (String[] args)
    {
    }
}

“我可以在这里看到 Home 类。我可以看到‘main’方法,但是命令在哪里?

“最小程序没有任何命令。这就是为什么它被称为‘最小’。”

“我明白了。”

“启动程序的类可以有任何名称,但用于启动程序的‘main’方法必须始终保持相同:”

public class Home
{
   //Unchangeable part
   public static void main(String[] args) 
   {
       

Code for the method


  
   }
}

“我想我全部内容都理解了。至少,现在看来理解了。”

“太棒了。那我们休息一下吧。我们喝点咖啡好吗?”

“机器人不喝咖啡。水会让我们很快生锈。”

“那你喝点什么?”

“啤酒、威士忌和百年老酒。”

“那就更好了。我们喝点啤酒好吗?”