Objekorientiert implementieren mit Java

DIese Kartei dient dazu dir Grundkenntnisse von Java zu erlernen und bereits vorhandenes Wissen zu vertiefen.

DIese Kartei dient dazu dir Grundkenntnisse von Java zu erlernen und bereits vorhandenes Wissen zu vertiefen.

Dömu Brunner

Dömu Brunner

Kartei Details

Karten 26
Sprache Deutsch
Kategorie Informatik
Stufe Berufslehre
Erstellt / Aktualisiert 20.08.2014 / 16.09.2015
Weblink
https://card2brain.ch/box/objekorientiert_implementieren_mit_java
Einbinden
<iframe src="https://card2brain.ch/box/objekorientiert_implementieren_mit_java/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Erklären Sie den Aufbau dieses Java Programms.

public = ist der Modifizierer

class = Deklaration der Klasse

Hello = Klassenname

static = Deutet auf eine Klassenmethode hin

void = Bedeutet, dass es keinen Rückgabewert in dieser Methode gibt

main = deklaration der main-Methode -> Hauptmethode, wird beim Starten automatisch aufgerufen

String args[] = Ist ein Array, welches Argumente als String enthalten kann.

System = Paketname

out = Klassenname

println = Methode

Was bedeutet die einzelne Syntax in diesem Javaprogramm?

public / class = Schlüsselwörter

Hello = Klassenname

{ = Start eines Blocks (Kann z.B. eine Klasse oder Methode sein).

} = Ende eines Blocks (Kann z.B. eine Klasse oder Methode sein).

; = Ende einer Anweisung

Wie ist die Konvention der Namensgebung?

Namen

  • Bezeichnen eine Klasse (Anfang mit Grossbuchstaben), eine Methode (Anfang mit Kleinbuchstaben), eine Variable (Anfang mit Kleinbuchstaben oder '$' oder '_')
  • Beliebige Folge von Zeichen, müssen mit Buchstaben beginnen.
  • Gross -und Kleinschreibung wird unterschieden
  • Konstanten bestehen nur aus Grossbuchstaben und werden bei Bedarf mit einem '_' getrennt: KEY_FIRST
  • Methoden werden in der Regel nach Verben bennant und beginnen mit einem Kleinbuchstaben: zeichneFigur
  • Paketnamen enthaltden nur Kleinbuchstaben und Ziffern

WIe können Kommentare in Java defniert werden?

Einzeilige Kommentare:

// Hallo  ich bin ein Kommentar auf einer Zeile

Mehrzeiliger Kommentar:

/*

Ich bin ein Kommentar

über mehrere Zeilen

*/

Wie ist die Definition von Variablen und Datentypen?

  • EIne Variable ist ein Speicherplatz im Arbeitsspeicher (wird manchmal auch Platzhalter genannt)
  • DIe Variable trägt einen Namen. Darüber wird sie angesprochen
  • Eine Variable enthält einen Wert
  • Eine Variable hat einen Datentyp
  • Der Datentyp bestimmt, welche Werte die Variable speichern kann.
  • Variablen müssen deklariert werden bevor sie verwendet werden können.

WIe ist das Beispiel dieser Variable aufgebaut?

  • Die Variable belegt den Platz der Adresse 0x0FEE im Speicher
  • Die Variable trägt den Namen erste_Zahl
  • Die Variable ist vom Datentyp int
  • Die Variable enthält den Wert 8754

Was sind die einfachen Datentypen, wie ist ihre Grösse in Bit und wie ist ihr Wertebereich definiert?

Siehe Bild

Welches sind sogenannte Schlüsselwörter, welche nicht als Bezeichner verwendet werden dürfen?

Siehe Bild

Was sind arithmetische Operatoren?

Siehe Bild

Was sind Relationale Operatoren?

Siehe Bild

Was sind logische Operatoren?

Siehe Bild

Was sind Bitoperatoren?

Siehe Bild

Was ist ein UpCast bzw. ein DownCast?

UpCast

- Wird bei Bedarf automatisch ausgeführt --> implizierte Typumwandlung:

byte b = 4;

int i = b;

DownCast

- Muss mit Cast Operator erzwungen werden --> Explizite Typenumwandlung. Nur verwendung, wenn zulässig!

int i = 1025;

byte b = (byte) i; // Wert von b ist 1

Alle Informationen links vom ersten Bit gehen verloren.

Welche Modfizierer gibt es und wie sind diese geschützt bzw. zugänglich?

  • Zugang mit public. Erfolgt die Deklaration eines Feldes bzw. einer Methode mit public ist der Zugang des Feldes bzw. der Methode auch von außerhalb des Pakets möglich (der Zugang innerhalb der selben Klasse ist gewährleistet).

  • Zugang mit protected. Der Zugang zu Feldern bzw. Methoden, welcher mit dem Schlüsselwort protected eingeschränkt wurde, ist innerhalb des Pakets (Klasse) gewährleistet und ist außerhalb des Pakets nur unter bestimmten Voraussetzungen möglich: Die Klasse, innerhalb derer der Zugriff stattfinden soll, befindet sich in einem anderen Paket und erweitert die Klasse, welche das protected-Feld bzw. die protected-Methode enthält.

  • Zugang mit private. Felder und Methoden können innerhalb einer Klasse als private eingestuft werden. Der Zugang derartiger Felder und Methoden ist nur innerhalb der selben Klasse möglich.

Was sind die Unterschiede und die Merkmale Globaler bzw. Lokaler Variablen?

Globale Variablen

  • Eine Variable ist Global, wenn sie ausserhalb der Methode deklariert wurde
  • Eine Globale Variable wird immer als static deklariert
  • Eine Globale Variable kann in allen Methoden benutzt werden.
  • Es wird ein Speicherplazu festgelegt, sobald das Programm gestartet ist.
  • Die globale Variable exisiterit solange das Programm läuft

Lokale Variablen

  • Lokale Variablen sind ausserhalb einer Methode nicht sichtbar
  • Der Speicherplatz wird bei jedem Methodenaufruf neu angelegt
  • Nach Beenden der Methode wird der Speicherplatz wieder freigegeben
  • Lokale Variablen leben nur während der Ausführung der Methode
  • Lokale Variablen verdecken bzw. überschreiben Globale Variablen

Wie ist eine Konstante als Globale und Lokale Variable definiert?

Global: static final float PI;

Lokal: final float PI;

Was ergibt folgende Rechnung und welcher Typ hat das Ergebnis?

a * n
 

30  | int

Was ergibt folgende Rechnung und welcher Typ hat das Ergebnis?

b * c

9.0 | double

Was ergibt folgende Rechnung und welcher Typ hat das Ergebnis?

a / b

3 | int

Was ergibt folgende Rechnung und welcher Typ hat das Ergebnis?

a / c

3.3333333333333335 | double

Was ergibt folgende Rechnung und welcher Typ hat das Ergebnis?

(double) a / b

3.3333333333333335 | double

Es macht zuerst ein UpCast der Variable a von int nach double

Was ergibt folgende Rechnung und welcher Typ hat das Ergebnis?

(int) (a / c)

3 | int

Zuerst wird 10 / 3.0 gerechnet, das gäbe 3.33333333333335 danach schreitet aber der DownCast mit (int) ein, welcher das Resultat in eine 3 umwandelt

Was ergibt folgende Rechnung und welcher Typ hat das Ergebnis?

n * b == f

true | boolean

 

Was ergibt folgende Rechnung und welcher Typ hat das Ergebnis?

(n << 1) + c > f

false | boolean

Erklärung auf dem Bild

Was ergibt folgende Rechnung und welcher Typ hat das Ergebnis?

a / c * b == f

false | boolean

Was ergibt folgende Rechnung und welcher Typ hat das Ergebnis?

a / b * c == f

true | boolean