0% fanden dieses Dokument nützlich (0 Abstimmungen)
65 Ansichten9 Seiten

Java Start

Das Dokument bietet eine umfassende Einführung in die Programmiersprache Java, einschließlich Namenskonventionen, Variablen, Datentypen, Kontrollstrukturen wie if-else und switch, Schleifen, sowie Arrays. Es behandelt grundlegende Programmierkonzepte und gibt Beispiele für die Deklaration, Initialisierung und Verwendung von Variablen und Datentypen. Zudem enthält es Lernzielkontrollen und Programmierübungen zur Vertiefung des Wissens.

Hochgeladen von

takamura87m
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
65 Ansichten9 Seiten

Java Start

Das Dokument bietet eine umfassende Einführung in die Programmiersprache Java, einschließlich Namenskonventionen, Variablen, Datentypen, Kontrollstrukturen wie if-else und switch, Schleifen, sowie Arrays. Es behandelt grundlegende Programmierkonzepte und gibt Beispiele für die Deklaration, Initialisierung und Verwendung von Variablen und Datentypen. Zudem enthält es Lernzielkontrollen und Programmierübungen zur Vertiefung des Wissens.

Hochgeladen von

takamura87m
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen

Java-Start.

md 2023-09-24

Zusammenfassung Einführung in Java


1 Namenskonventionen
1.1 Allgemeine Regeln

keine Umlaute oder Sonderzeichen


keine Leerzeichen
CamelCase - Schreibweise
keine Java-Wörter verwenden (public, main, private, int, ...)
vermeiden sie Unterstriche zu Beginn oder Ende
sinnvolle Namensgebung
nutzen sie die Kommentarfunktion

1.2 Spezielle Namensgebung

Klassen: Groß geschrieben in Camelcase z.B.: HelloWorld


Variablen & Methoden: Klein geschrieben in Camelcase z.B.: meineZahl
Konstanten: Nur Großbuchstaben mit _ als Trenner z.B.: MAX_WERT
Package-Namen: Nur Kleinbuchstaben mit . als Trenner, keine Zahlen als erstes Zeichen z.B.: at.htlle.it

2 Variablen in Java
Jede Variable in Java hat einen Datentyp!

2.1 Deklaration und Initialisierung

Beispiel für eine int-Variable:

int zahl; //Deklaration einer Variable


int zahl = 2; //Deklaration und Initialisierung einer Variable
zahl = 8; //Wertzuweisung

2.2 Datentypen

2.2.1 primitive Datentypen

Primitive Datentypen werden immer klein geschrieben! Sie besitzen keine Methoden oder Konstanten,
sondern nur einen Wert!

GANZZAHLIGE TYPEN:

byte: 8 Bit (-128 bis +127) z.B.: byte b = 5;


short: 16 Bit (-32768 bis 32767) z.B.: short s = 5;
int: 32 Bit (-2.1 bis 2.1 Mrd) z.B.: int i = 5;
long: 64 Bit (-9.2 bis 9.2 Trilliarden) z.B.: long l = 5;

1/9
Java-Start.md 2023-09-24

GLEITKOMMATYPEN:

float: 32 Bit (-3.4x10^38 bis 3.4x10^38) z.B.: float f = 3.54;


double: 64 Bit (-1.7x10^308 bis 1.7x10^308) z.B.: double d = 3.54;

ZEICHENDATENTYP:

char: einzelnes Zeichen z.B.: char c = 'a';

BOOLSCHERDATENTYP:

boolean: Wahrheitswert true oder false z.B.: boolean b = true;

2.2.2 Objekt-Datentypen

Objekt-Datentypen werden immer groß geschrieben! Sie besitzen auch Methoden und bieten mehr
Möglichkeiten als primitive Datentypen. Primitive Datentypen haben alle einen äquivalenten Objekt-Datentyp.
Diese können auch als Hilfsklassen verwendet werden. (z.B. beim Parsen von Strings)

Beispiele für Objekt-Datentypen:

String
Byte
Short
Integer
Long
Float
Double
Character
Boolean
Scanner

Die Methoden der Objekte können mit Punkt nach der Variable oder der Klasse in der IDE (Eclipse) eingesehen
werden.

2.3 Typumwandlung

2.3.1 Implizites Casting von Zahlen

Beim impliziten Umwandeln gibt es keinen potentiellen Wertverlust. Das heißt der Empfänger kann alle
Informationen aufnehmen und muss somit größer sein. Dabei ist kein zusätzlicher Befehl notwendig.

int kleineZahl = 3;
double kommaZahl = kleineZahl; //implizites Casting

2.3.2 Explizites Casting von Zahlen

Beim expliziten Umwandeln gibt es einen potentiellen Wertverlust. Dies ist unbedingt zu berücksichtigen, da
ohne Rückmeldung des Compilers die Zahl beispielsweise abgeschnitten wird. Der Empfänger kann also nicht

2/9
Java-Start.md 2023-09-24

alle Informationen der Quelle aufnehmen. Dabei ist es auch notwendig anzugeben, zu welchem Typ
umgewandelt werden soll.

double kommaZahl = 3.67;


int kleineZahl = (int) kommaZahl; //exlizites Casting

2.3.3 Parsen von Strings (Textumwandlung)

Wenn in einem String der Wert eines anderen Datentyps steht (z.B. eine Zahl), kann dieser ebenso
umgewandelt werden. Dafür werden immer die parse-Methoden der Klasse verwendet, in die umgewandelt
werden soll.

String eingabeKommazahl = "264.32";


double zahl = Double.parseDouble(eingabeKommazahl); //Zieldatentyp ist ein Double,
daher wird die Double-Klasse verwendet

String eingabeGanzzahl = "43534";


int ganzZahl = Integer.parseInteger(eingabeGanzzahl); //Zieldatentyp ist ein int,
daher wird die Integer-Klasse verwendet

String wahrheit = "true";


boolean emotion = Boolean.parseBoolean(wahrheit); //Zieldatentyp ist ein boolean,
daher wird die Boolean-Klasse verwendet

Sollte der String etwas anderes beinhalten (z.B. Zeichen bei einem parseInteger) entsteht ein Fehler
(Exception). Diese werden erst später behandelt.

3 Grundlagen Strings
3.1 Vergleich von Strings

Ein String ist ein Objekt-Datentyp. Objekte werden mit der equals-Methode verglichen. Bei einem Vergleich
mit dem Operator == wird nicht der Inhalt, sondern die Speicheradressen verglichen!

3.2 Verkettung von Strings

2 Möglichkeiten:

Verbindung durch die Methode concat


Verbindung durch das Zeichen '+'

4 Konsole-Ausgaben & -Eingaben


4.1 Konsolen-Ausgaben

Ausgaben finden mit dem Befehl System.out.println(); statt. Dabei gilt es nur zu berücksichtigen, dass
mit println eine ganze Zeile ausgegeben wird (inkl. Zeilenumbruch). Ändert man den letzten Teil zu print

3/9
Java-Start.md 2023-09-24

wird kein Zeilenumbruch ausgegeben (der Cursor bleibt in der Zeile).

4.2 Konsolen-Eingaben

Für die Konsoleneingabe verwenden wir die Klasse Scanner. Diese verwendet den sogenannten Inputstream
der Konsole System.in. Mit der Methode System.out.println() wird der Outputstream bedingt. So kann
Java auf die Konsole etwas ausgeben. Um etwas einzulesen wird also ein Inputstream gebraucht, in diesem
Fall System.in. So wird der Scanner angelegt und eine Zeile als String gelesen:

Scanner s = new Scanner(System.in);


String eingabe = s.nextLine();

5 Verzweigungen
5.1 IF-ELSE

Die if-Verzweigung benötigt immer einen Wahrheitswert (boolean) um zu entscheiden, welcher Zweig (if oder
else) ausgeführt werden soll. Theoretisch wäre es auch möglich, die Verzweigung mit weiteren
Wahrheitswerten (Bedingungen) immer weiter zu führen (mit else if).

int alter = 17;


if (alter >= 18) {
System.out.println("Du bist volljährig.");
} else if (alter >= 16) {
System.out.println("Du bist fast volljährig.");
} else {
System.out.println("Du bist minderjährig.");
}

5.2 SWITCH

Mit switch können Werte leicht verglichen werden, ohne lange if-else Verzweigungen schreiben zu müssen.

int jahreszeit = 2;
switch (jahreszeit) {
case 0:
System.out.println("Es ist Frühling!");
break;
case 1:
System.out.println("Es ist Sommer!");
break;
case 2:
System.out.println("Es ist Herbst!");
break;
case 3:
System.out.println("Es ist Winter!");
break;

4/9
Java-Start.md 2023-09-24

default:
System.out.println("Ungültig! Es wird eine Zahl zwischen 0-3 erwartet.");
}

Um die Vorteile von switch besser darzustellen, hier dasselbe Beispiel mit if-Verzweigungen (Beachten sie,
dass sie jede Bedingung der Reihe nach bedenken müssen, um zu wissen, welcher Teil des Codes ausgeführt
wird):

int alter = 9;
if (alter < 13) {
System.out.println("Sie sind noch sehr jung!");
} else if (alter < 16) {
System.out.println("Sie sind ein Teenager!");
} else if (alter < 18) {
System.out.println("Sie sind fast volljährig!");
} else {
System.out.println("Sie sind volljährig!");
}

6 Schleifen
Kopfgesteuerte Schleifen prüfen die Bedingung vor dem auszuführenden Code, während fußgesteuerte
Schleifen die Bedingung am Ende überprüfen. Der wesentliche Unterschied ist, dass bei fußgesteuerten
Schleifen der Code jedenfalls zumindest einmal ausgeführt wird, auch wenn die Bedingung bereits erfüllt ist.

6.1 FOR-Schleife

Kopfgesteuerte Schleife, bei der bekannt ist, wie oft sie wiederholt werden soll.

for(int i = 0; i < 20; i++) { // for (Initialisierung;Bedingung;Schritt)


System.out.println("Laufvariable i = "+i);
}

Auch wenn sie innerhalb der for-Schleife vollen Zugriff auf die Variable i haben, ist von einer Änderung
abzusehen (schlechter Programmierstil).

6.2 WHILE-Schleife

Kopfgesteuerte Schleife, die so lange wiederholt wird, bis die Bedingung erfüllt ist. Dafür muss auch gesorgt
werden, da es sonst eine Endlosschleife ist.

int i=0;
while (i<7) {
System.out.println("Variable i = "+i);
i++;
}

5/9
Java-Start.md 2023-09-24

6.3 DO-WHILE-Schleife

Fußgesteuerte Schleife, die so lange wiederholt wird, bis die Bedingung erfüllt ist. Dafür muss auch gesorgt
werden, da es sonst eine Endlosschleife ist. Der Code wird jedenfalls einmal ausgeführt!

Scanner s = new Scanner(System.in);


do {
String eingabe;
System.out.print("Bitte bestätigen sie mit [y/n]:");
eingabe = s.nextLine();
} while (eingabe.equals("y"));

7 Arrays
Arrays sind eine geordnete Sammlung von Elementen desselben Datentyps mit einer fixen Anzahl an
Elementen.

7.1 Eindimensionale Arrays

int[] zahlen; //Deklaration


zahlen = {1, 2, 3, 4, 5}; //Initialisierung

int[] andereZahlen = {2, 6, 0, 3, 4, 7}; //Deklaration und Initialisierung

int[] sonstZahlen = new int[5]; //Deklaration und Initialisierung mit 5


Ganzzahlen, standardmäßig mit Wert 0

Der Zugriff auf einzelne Elemente des Arrays findet mit dem Index statt. Dieser beginnt bei Java immer mit 0.

zahlen[0] = 9; //setzt das erste Element des Arrays auf 9 -> {9, 2, 3, 4, 5}
int element = andereZahlen[1]; //Zugriff auf das Element an Indexstelle 1 -> 6

7.2 Mehrdimensionale Arrays

Das gebräuchlichste mehrdimensionale Array ist das zweidimensionale Array. Mehr Dimensionen sind
möglich, aber für den Menschen meist zu komplex.

int[][] matrix = { //Deklaration und Initialisierung einer 3x3 Matrix


{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
}

6/9
Java-Start.md 2023-09-24

int element = matrix[1][2]; //Hier wird auf das Element in Zeile 1 Spalte 2
zugegriffen. Vorsicht: 0. Zeile und Spalte nicht vergessen

Die Größe des Arrays kann mit length abgefragt werden.

int zeilen = matrix.length; //Anzahl der Zeilen


int spalten = matrix[0].length; //Anzahl der Spalten der ersten Zeile

Das ist wichtig, um mit einer Schleife durch das Array laufen zu können.

for (int i=0; i < matrix.length; i++) { //Zeilenläufer -> i


for (int j=0; j < matrix[i].length; j++) { // Spaltenläufer -> j
System.out.print(matrix[i][j] + " ");
}
System.out.println(); //Zeilenumbruch
}

8 Lernzielkontrolle
8.1 Theoriefragen

Erklären sie primitive - und Objekt-Datentypen, und gehen sie besonders auf die Unterschiede ein.
Erklären sie den Unterschied zwischen impliziten und expliziten Casting.
Geben sie Beispiele für parse-Methoden und wofür sie verwendet werden.
Wie können Strings verkettet werden? Geben sie 2 Möglichkeiten an.
Welche Klasse verwenden sie, um Eingaben in der Konsole verarbeiten zu können?
Wie ist eine if-Verzweigung aufgebaut?
Wie ist switch aufgebaut und wozu wird switch verwendet? Zeigen sie auf, wie sich switch von der if-
Verzweigung abgrenzt.
Welche 2 Arten von Schleifen kennen sie? Geben sie jeweils ein Beispiel.
Erklären sie die for-Schleife als auch die while-Schleife und deren Unterschiede.
Wozu dient die do-while Schleife?
Erklären sie ein Array, die Deklaration, die Initialisierung und den Zugriff.
Erklären sie ein zweidimensionales Array, die Initialisierung und den Zugriff.

8.2 Programmier-Übungen

8.2.1 Pythagoras

Erstellen sie ein Programm, das den Benutzer auf der Konsole die Seitenlänge der Kathete a als auch der
Kathete b als Fließkommazahlen eingeben lässt. Die Länge der Hypothenuse soll berechnet und ausgegeben
werden.

Verwenden sie Math.sqrt(double) als Wurzelfunktion.

7/9
Java-Start.md 2023-09-24

8.2.2 Menü

Speichern sie den Namen des Benutzers (Konsoleneingabe). Erstellen sie ein Menü für den Benutzer, in dem er
zwischen folgenden Punkten auswählen kann (gestalten sie das Menü genau so):

1: Zähle von x bis y


2: Spezialzähler foobar von x bis y
3: Fibonacci-Zahlen bis x
4: Whoami?
9: Verlasse das Programm

Bei einer Fehleingabe soll der Benutzer die Rückmeldung bekommen, dass es keine gültige Auswahl war. Das
Menü erscheint weiterhin, bis der Benutzer das Programm verlassen will (9).

Details:

1. Hier wird von x bis y gezählt


2. Statt jeder Zahl die durch 3 teilbar ist wird foo ausgegeben. Statt jeder Zahl die durch 5 teilbar ist wird
bar ausgegeben. Verwenden sie den Modulo-Operator % um den Rest zu berechnen.
3. Geben sie die Fibonacci-Zahlen bis x aus
4. Begrüßen sie den Benutzer mit seinem Namen

8.2.3 Arrays

Legen sie einen Double-Array mit 4 Zahlen an, und lassen sie den Benutzer die 4 Zahlen eingeben. Danach
geben sie die Summe des Arrays aus.

Legen sie selbst einen zweidimensionalen int-Array an, und vergeben sie beliebige einstellige Werte. Er soll 5
Zeilen und 2 Spalten haben. Legen sie einen eindimensionalen Array an, indem sie die Zeilensummen des 2D-
Arrays berechnen (mit einer Schleife).

Geben sie den 2D-Array und den Summenarray so aus, dass die Formatierung mit der Summe
zusammenpasst (2-stellige Zahlen). Die Ausgabe muss mit einer Schleife erfolgen.

8.2.4 (V) Primzahlenberechnung

Schreiben sie ein Programm, das die Primzahlen bis x berechnet und ausgibt. (x wird vom Benutzer abgefragt)

8.2.5 (V) Kassenbon

Fragen sie auf der Konsole den Benutzer, wie oft er folgende Waren gekauft hat:

Milch 1.29€
Brot 3.79€
Wasser 0.39€

Aktuell gibt es 5% Rabatt im Geschäft (runden sie hier mit Math.round(double, int)). Dieser Rabatt soll
mittels einer Variable im Programm geändert werden können.

8/9
Java-Start.md 2023-09-24

Danach geben sie die Summe des Einkaufs aus, und fragen mit wieviel € der Benutzer zahlen möchte. Zum
Schluss soll eine Ausgabe erstellt werden, die einem Kassenbon gleicht und so aussieht:

Milch 3 x 1.29 EUR


3.87 EUR
Brot 2 x 3.79 EUR
7.58 EUR
Wasser 6 x 0.39 EUR
2.34 EUR
------------------------------------
Gesamt 13.79 EUR
5% Rabatt 0.69 EUR
------------------------------------
Summe 13.10 EUR
Gegeben 20.00 EUR

zurück 6.90 EUR

Sie haben heute durch unseren Rabatt


0 € und 69 c gespart!

9/9

Das könnte Ihnen auch gefallen