image-ru-01-05

„Hi. Mein Name ist Laga Bilaabo. Ich bin Außerirdischer und der Arzt auf diesem Schiff. Ich hoffe, dass wir uns anfreunden werden.“

„Ich auch.“

„Auf meinem Heimatplaneten benutzen wir die fortschrittliche Programmiersprache Pascal statt der rückständigen Sprache Java. Hier kannst du dir Java- und Pascal-Code zum Vergleich nebeneinander ansehen:“

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.

„Hier siehst du das gleiche Programm in zwei verschiedenen Sprachen. Wie du siehst, besteht es in Pascal aus weniger Zeilen, und das ist der Beweis, dass Pascal Java überlegen ist.“

„Ich dachte mir, dass du durch dieses Beispiel Java besser verstehen kannst, wenn du schon einmal mit Pascal zu tun hattest.“

„Nein, habe ich nicht. Aber es ist trotzdem interessant, zwei Programmiersprachen zu vergleichen.“

„Na schön. Dann werde ich mal weitermachen.“

„In Pascal bringen wir den Code im Programmrumpf, in Prozeduren oder Funktionen unter. In Java ist dieser Vorgang vereinfacht worden: Programmrumpf, Prozeduren und Funktionen werden durch Funktionen ersetzt, die man als Methoden bezeichnet.“

Java Pascal
Hauptmethode „main“
public static void main(String[] args)
{
   System.out.println("Ho-ho-ho!");
}
Programmrumpf
Begin
   WriteLn("Ho-ho-ho!");
End.
Funktion/Methode
double sqr(double a)
{
   return a * a;
}
Funktion
Function Sqr(a: Real): Real
Begin
   Sqr := a * a;
End;
Funktion mit leerem Rückgabewert (void)
void doubleWrite(String s)
{
   System.out.println(s);
   System.out.println(s);
}
Prozedur
Procedure DoubleWrite(s: String);
Begin
   WriteLn(s);
   WriteLn(s);
End;

„In der Pascal-Spalte sehe ich die Wörter ‚Programmrumpf‘, ‚Funktion‘ und ‚Methode‘, aber in Java wird das alles Methode genannt. Das ist etwas merkwürdig.“

„Ja, wir Außerirdischen finden das sehr merkwürdig. Aber Menschen wollen immer alles vereinheitlichen.“

„In Java gehört jeder Code zu einer Methode, deshalb musst du noch nicht einmal das Wort Funktion hinschreiben, wie in Pascal, um eine Methode zu deklarieren.

„Es ist alles ganz einfach. Wenn eine Codezeile aussieht wie Typ + Name, dann ist es entweder eine Deklaration einer Methode oder einer Variablen. Wenn nach dem Namen eine Klammer folgt, handelt es sich um die Deklaration einer neuen Methode. Wenn keine Klammern folgen, handelt es sich um die Deklaration einer Variablen.

„Deklarationen von Variablen und Methoden sehen sich in Java sehr ähnlich. Schau es dir selbst an:“

Code Beschreibung
String name;
Eine Variable namens name. Sie ist ein String.
String getName()
{
}
Eine Methode namens getName, die einen String zurückgibt.

„Aber das ist noch nicht alles. In Java können Methoden nicht isoliert existieren. Sie müssen zu einer Klasse gehören. Wenn Menschen also ein kleines Programm in Java schreiben wollen, müssen sie zuerst eine Klasse erstellen, darin eine Hauptmethode main deklarieren und erst dann können sie ihren Code in die Methode schreiben. Diese Erdlinge sind wirklich seltsam!“

„Vorhin ist Diego vorbeigekommen und hat mich gebeten, dir diese Aufgaben zu geben. Ich hoffe, du hast Spaß daran.“

1
Aufgabe
Java Syntax,  Level 1Lektion 8
Gesperrt
Die große Säuberung
Derjenige, der dieses Programm geschrieben hat, hatte es offensichtlich eilig. Nein, stimmt gar nicht: das Programm wurde für Lernzwecke geschrieben, und der Autor hat absichtlich überflüssige Variablen eingebaut und gleichzeitig vergessen, notwendige Variablen zu deklarieren. Das werden wir in Ordnung bringen: Kommentiere die unnötigen Variablen aus und deklariere die fehlenden Variablen. Dann wird das Programm universelle Harmonie erreichen.
1
Aufgabe
Java Syntax,  Level 1Lektion 8
Gesperrt
Keine Lust? Tu es trotzdem.
Selbst die besten Programmierer können unter Bequemlichkeit leiden. Und nicht nur Programmierer. Trotzdem haben es schon viele Leute geschafft, im Selbststudium zum Profi zu werden. Deshalb möchten wir von Bequemlichkeit abraten. Lass stattdessen folgendes Motto auf dem Bildschirm ausgeben: „Wenn du Lust hast, erledige die Aufgabe. Wenn du keine Lust hast, tu es trotzdem“ Und damit du dich wirklich daran erinnerst, lass es 16 Mal ausgeben.
5
Aufgabe
Java Syntax,  Level 1Lektion 8
Gesperrt
Das Quadrat einer Zahl
Es gibt mehrere Möglichkeiten, das Quadrat einer Zahl zu ermitteln. Zum Beispiel schreiben manche Leute eine Zahl auf und malen dann ein Quadrat drumherum. Diese Methode wird von Leuten verwendet, die nicht studiert haben. Alle anderen müssen entweder multiplizieren, sich eine Tabelle von Quadratzahlen merken oder … ein Programm benutzen. Dein Programm soll das Quadrat der Zahl 5 ausgeben.
5
Aufgabe
Java Syntax,  Level 1Lektion 8
Gesperrt
So einfach wie 2+2
In einer Java-Anwendung werden alle Aktionen durch Funktionen ausgeführt. Oder, um genau zu sein, durch Methoden. In unserem Programm hat ein freundlicher Mentor schon eine Methode implementiert (d. h. den Code der Methode geschrieben), die die Summe zweier Zahlen berechnen kann. Du musst nichts weiter tun, als diese Methode mit den Parametern 2 und 2 aufzurufen. Dies musst du in der Methode main tun.
1
Aufgabe
Java Syntax,  Level 1Lektion 8
Gesperrt
Gesunde Nahrung aussuchen! Also Obst!
Lass die Variablen ausgeben, deren Werte die Namen von Früchten enthalten. Lass jede Variable in einer eigenen Zeile ausgeben.
1
Aufgabe
Java Syntax,  Level 1Lektion 8
Gesperrt
Lieblingsgedicht
Die Programmierer von heute sind nur selten reine Entwickler, die von nichts als Technologie und technischen Spielereien besessen sind. Einige von ihnen können sich auch für Poesie begeistern. Wenn auch du Poesie liebst, wird dir die folgende Aufgabe leicht fallen: ein Vierzeiler (oder mehr) aus deinem Lieblingsgedicht soll ausgegeben werden.