BlueJ Begrifferklärung Informatik?

2 Antworten

Parameter werden zur Wertübergabe an Funktionen (bzw. Methoden) genutzt.

Beispiel:

public void printSum(int numberOne, int numberTwo) {
  int result = numberOne + numberTwo;
  System.out.println(result);
}

Bei der Funktionsdefinition werden in der Parameterliste (runde Klammern nach dem Funktionsnamen) die Parameter aufgelistet. Das sind im Prinzip lokale Variablen, die beim Aufruf der Funktion mit den übergebenen Werten (Argumenten) befüllt werden und im Funktionskörper weiterverwendet werden können.

Beispiele für Funktionsaufrufe:

printSum(2, 3); // 5
printSum(1, 1); // 2

Das erste Argument wird Parameter 1 zugewiesen, das zweite Argument Parameter 2.

Die Zugriffsmodifikatoren public und private dienen dazu, ein Element in einer Klasse (dazu gehören Felder, Methoden, Konstruktoren und innere Klassen) nach außen sichtbar oder nicht sichtbar kennzuzeichnen.

Ein Beispiel:

class Person {
  public String name = "John Doe";
  private int age = 35;
}

// usage:
Person person = new Person();
System.out.println(person.name); // John Doe
System.out.println(person.age); // error

Da das Feld age außerhalb des Klassenkörpers nicht sichtbar ist, kann auch kein Zugriff darauf erfolgen.

Nach dem Zugriffsmodifikator bzw. vor dem Methodennamen wird der Rückgabetyp angegegeben, den der Wert haben muss, den die Methode nach Ausführung zurückgibt.

Dazu nehme ich nochmals das Beispiel von oben und erweitere es um eine Methode:

public void printSum(int numberOne, int numberTwo) {
  int result = numberOne + numberTwo;
  System.out.println(result);
}

public int getSum(int numberOne, int numberTwo) {
  int result = numberOne + numberTwo;
  return result;
}

// usage:
printSum(2, 3);
int sum = getSum(5, 6);

Grundsätzlich können Funktionen/Methoden einen Wert zurückgeben. Das sieht man bei der Methode getSum. Das Schlüsselwort return sorgt dafür, dass die Methode an der Stelle abbricht (bzw. der Programmfluss wieder aus dem Körper springt) und zusätzlich einen Wert (result) zurückliefert.

Dieser Wert muss allerdings dem Datentyp entsprechen, der im Kopf als Rückgabetyp angegeben wurde (int). Auf diese Weise ist eine erste Typsicherheit gegeben, dass im Kontext des Aufrufs bekannt ist, was die Methode da gerade zurückliefert.

In der letzten Zeile des Snippets siehst du, dass der zurückgegebene Wert aufgefangen und in eine neue Variable (sum) hineingesteckt werden kann.

Wenn die Methode keinen konkreten Wert zurückgeben soll (wie printSum), dann entspricht der Rückgabetyp stets void.

Mit der println-Methode von System.out kannst du Ausgaben in der Konsole vornehmen, die mit einem Zeilenumbruch abgeschlossen wird. Die Methode stellt für alle primitiven Datentypen und Strings eine Überladung bereit. Also musst du dich in diesen Fällen um keinen expliziten Typecast kümmern.

Beispiele:

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

int number = 5;
System.out.println(number);

In deinem Snippet sieht man im Übrigen eine Konkatenation. Mittels des Konkatenationsoperators + können Strings und primitive Datentypen mit Strings verbunden werden.

Beispiel:

String sentence = "I am " + 99 + " years old";

Somit wäre nur noch ein Begriff offen: Das Kompilieren von Java-Code ist in zwei Schritte aufgeteilt. Im ersten Schritt wird der Code in Bytecode konvertiert. Das passiert in dem Schritt, in dem du den Code an den Compiler (javac.exe) übergibst. In BlueJ gibt es einen eigene Schaltfläche dafür.

Der zweite Schritt (Umwandlung in Maschinencode und Ausführung) geschieht zur Laufzeit über die JRE/JIT-Compiler.

Das sind soweit Kurzbeschreibungen. Mehr Details kannst du beispielsweise im OpenBook Java ist auch eine Insel nachlesen. Dahingehend interessante Kapitel wären 1.8, 2.2.4, 2.7, 5.5.2 und 6.2.

Parameter:

Wie eine Variable, nur in einer Methode oder einem Konstruktor deklariert. Wenn du die Methode / den Konstruktor aufrufst, kannst du entscheiden, welchen Wert dieser haben soll.

Zugriffsmodifikatoren:

private: Kann nur in dieser Klasse verwendet/aufgerufen werden

protected: Kann nur in diesem Ordner verwendet/aufgerufen werden

<nichts>: Kann nur in diesem Ordner und in Unterklassen (die von dieser Klasse extenden) verwendet werden

public: Kann von überall aus verwendet/aufgerufen werden

void:

Du kannst bei einer Methode einen Wert zurückgeben, das ist dann das Ergebnis des Methodenaufrufs.

public int getZahl() würde zum Beispiel ein int zurückgeben. In dem Fall kannst du nach dem Aufruf die Zahl weiterverwenden.

Wenn du das nicht machen willst, schreibst du void hin.

double:

Die primitiven Datentypen byte, short, int und long können ganze Zahlen speichern, z.B. 5; -2; 0; 99; -200. int verwendet man normalwerweise. long hat mehr Speicherplatz, kann also noch viel größere Zahlen speichern. byte hat genau 1 byte an Speicherplatz, wird also oft bei der Datenspeicherung verwendet. short ist einfach eine kleine Zahl, die benutzt ganz ehrlich kein Mensch.

Die primitiven Datentypen float und double können Fließkommazahlen speichern, z.B. 0,5; -0,3; 11,42; 9,81; -4. double hat mehr Speicherplatz, kann also noch größere Zahlen und mehr Nachkommastellen speichern.

Der primitive Datentyp boolean kann einen Wahrheitswert speichern, also true oder false. Du brauchst den Boolean z.B. bei if-Anweisungen. Du kannst ihn auch durch einen Vergleich erstellen. Das Ergebnis von diesem Code:

variable1 == variable2

ist zum Beispiel ein boolean.

Ein char ist ein einzelnes Zeichen, z.B. "3", "a", "T", ";", "ß", "∉"

System.out.println

Hiermit kannst du etwas in der Konsole ausgeben. System ist eine Klasse, die mehrere Systemfunktionen beinhaltet, zum Beispiel die Konsole. out ist ein sogenannter PrintStream, in dem Fall die Konsole. println ist eine Methode der Konsole, die etwas ausgibt und dann eine neue Zeile einfügt.

kompilieren

Java ist eine sogenannte kompilierte Sprache. Das bedeutet, dass der Programmcode nicht direkt ausgeführt werden kann, sondern erst in eine ausführbare Datei umgewandelt wird, die dann ausgeführt wird. Diesen Prozess nennt man kompilieren. Dabei können Fehler, sogenannte Compilefehler auftreten, wenn dein Code eine falsche Syntax hat. Deine IDE (BlueJ) macht das automatisch beim Ausführen.

konkatenieren

So nennt man es, wenn man einen String aus mehreren Teilen zusammenbaut.

Beispiel:

System.out.println("Ich heiße " + name + " und meine Lieblingsfarbe ist " + farbe + ".");

Viel Erfolg!

Woher ich das weiß:Hobby