image-zho-CN-01-05

“嗨。我的名字是拉加•比拉博 (Laga Bilaabo)。我是外星人,也是这艘飞船的医生。我希望我们能成为好朋友。”

“我也是。”

“在我的家乡,我们使用高级 Pascal 编程语言,而不是落后的 Java 语言。看看 Java 和 Pascal 语言代码的并排比较:”

Java 语言 Pascal 语言
public class MyFirstClass
{
   public static void main(String[] args)
   {
      int a, b, c;
      String s1, s2;
      System.out.println("Enter two numbers");
      a = new Scanner(System.in).nextInt();
      b = new Scanner(System.in).nextInt();
      c = a + b;
      System.out.println("The sum is " + c);
   }
}
Program MyFirstProgram;
Var
   a, b, c: Integer;
   s1, s2: String;
Begin
   WriteLn("Enter two numbers");
   ReadLn(a);
   ReadLn(b);
   c := a + b;
   WriteLn("The sum is ", c);
End.

“这是用两种不同语言编写的同一个程序。正如你所看到的,Pascal 语言代码行数更少,这证明 Pascal 语言优于 Java 语言。”

“我认为如果你以前见过 Pascal 语言,那么这个例子可能会有助于你更好地理解 Java 语言。”

“不,我之前没有见过。但是,比较两种编程语言仍然很有趣。”

“很好。我继续讲。”

“在 Pascal 语言中,我们将代码放在程序体、过程或函数中。在 Java 语言中,这个过程被简化:程序体、过程和函数都被称为方法的函数所替换。”

Java 语言 Pascal 语言
Main 方法
public static void main(String[] args)
{
   System.out.println("Ho-ho-ho!");
}
程序体
Begin
   WriteLn("Ho-ho-ho!");
End.
函数/方法
double sqr(double a)
{
   return a * a;
}
函数
Function Sqr(a: Real): Real
Begin
   Sqr := a * a;
End;
具有 void 返回类型的函数
void doubleWrite(String s)
{
   System.out.println(s);
   System.out.println(s);
}
过程
Procedure DoubleWrite(s: String);
Begin
   WriteLn(s);
   WriteLn(s);
End;

“在 Pascal 语言一列中,我看到了‘程序体’、‘函数’和‘过程’,但是在 Java 语言中它们都被称为方法。这有点奇怪。”

“是的,我们外星人觉得这很奇怪。但人类喜欢将所有东西统一化。”

“在 Java 语言中,所有代码都是方法的一部分,因此你甚至不需要像在 Pascal 语言那样书写 Function 一词来声明一个方法。

“一切都很简单。如果某一行代码看起来像类型 + 名称,这是在声明一个方法或一个变量。如果名称后面跟着圆括号,那么这是在声明一个新方法。如果后面没有括号,那么这是在声明一个变量。

“在 Java 语言中变量和方法的声明非常相似。请自己看看:”

代码 说明
String name;
变量名称为 name,它是一个 String
String getName()
{
}
方法名称为 getName,它会返回一个 String

“但这还不是全部。在 Java 语言中,方法不能单独存在。它必须在一个类中。因此,当人类需要用 Java 语言编写一个小程序时,他们必须首先创建一个类在其中声明一个 main 方法只有这样 才可以在该方法中编写代码。这些地球人太奇怪了!”

“迭戈今天早些时候来过,让我给你这些任务来完成。我希望你喜欢这些作业。”