Einführung in die Programmierung mit Java - Lukas Fässler - E-Book

Einführung in die Programmierung mit Java E-Book

Lukas Fässler

0,0

Beschreibung

Dieses Buch enthält die Begleitunterlagen zum kostenlosen Onlinekurs Programmieren mit Java. Die sechs aufeinander aufbauenden Module wurden an der ETH Zürich entwickelt und behandeln die wichtigsten Basiskonzepte der Programmierung in einer höheren Programmiersprache. Die Lernenden schreiben, angeleitet durch ein elektronisches Tutorial, eigenständig 20 Programme mit steigendem Realitätsbezug und Schwierigkeitsgrad. Dieser 2018 mit dem KITE-Award ausgezeichnete Kurs ist geeignet für die Programmiereinführung an Gymnasien, Berufsschulen Fachhochschulen sowie für Studierende aller Fächer auf Universitätsstufe. Es werden keine Vorkenntnisse vorausgesetzt.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 74

Veröffentlichungsjahr: 2018

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Inhaltsverzeichnis

Wie soll dieses Buch verwendet werden?

0 Programme erstellen in Java

Theorieteil

0.1 Modulübersicht

0.2 Schreiben von Computerprogrammen

0.2.1 Computerprogramme bestehen aus Daten und Instruktionen

0.2.2 Programme müssen übersetzt werden

0.3 Anweisung

0.4 Kommentare

1 Variablen und Datentypen

Theorieteil

1.1 Modulübersicht

1.2 Darstellen von Zahlen und Zeichen im Computer

1.2.1 Binäres System

1.2.2 Darstellung von Zahlen im binären System

1.2.3 Darstellung von Zeichen im binären System

1.3 Datentypen

1.4 Variablen und Konstanten

1.4.1 Deklaration

1.4.2 Initialisierung und Wertzuweisung

1.4.3 Konstanten

1.5 Operatoren und Ausdrücke

1.5.1 Operatoren (Teil I)

1.5.2 Ausdrücke

1.5.3 Weitere Arithmetische Operatoren

1.6 Der Datentyp String

1.7 Ein- und Ausgabe von Daten

1.7.1 Ausgabe in die Konsole

1.7.2 Eingabe über die Tastatur

Selbstständiger Teil

1.8 Bremsweg-Berechnung

1.8.1 Einführung

1.8.2 Aufgabenstellung und Programmanforderungen

1.9 Zinseszins-Berechnung

1.9.1 Einführung

1.9.2 Aufgabenstellung und Programmanforderungen

1.9.3 Erweiterung

1.10 Geldautomat

1.10.1 Einführung

1.10.2 Aufgabenstellung

1.10.3 Zwischenschritte

1.10.4 Erweiterungen

2 Kontrollstrukturen und Logik

Theorieteil

2.1 Modulübersicht

2.1.1 Anweisungen und Blöcke

2.2 Operatoren (Teil II)

2.2.1 Relationale Operatoren

2.2.2 Logische Operatoren

2.3 Verzweigungen

2.3.1 Einseitige Verzweigung: bedingte Programmausführung

2.3.2 Zweiseitige Verzweigung

2.3.3 Mehrstufige Verzweigungen

2.3.4 Fallauswahl (Switch)

2.4 Schleifen (Loops)

2.4.1 for-Schleife

2.4.2 while-Schleife

2.4.3 do-while Schleife

2.4.4 Geschachtelte Schleifen

Selbstständiger Teil

2.5 Notendurchschnitt

2.5.1 Aufgabenstellung

2.5.2 Programmanforderungen

2.5.3 Zwischenschritte

2.6 Zinseszins mit Schleifen

2.6.1 Einführung

2.6.2 Aufgabenstellung und Programmanforderungen

2.6.3 Zwischenschritte

2.7 Zahlen raten

2.7.1 Aufgabenstellung

2.7.2 Programmanforderungen

2.7.3 Zwischenschritte

2.7.4 Erweiterungen

2.8 Pokern

2.8.1 Einführung

2.8.2 Ausgangssituation und Programmanforderungen

2.8.3 Zwischenschritte

2.8.4 Erweiterungen

3 Arrays

Theorieteil

3.1 Modulübersicht

3.2 Eindimensionale Arrays

3.2.1 Arrays deklarieren

3.2.2 Arrays erzeugen

3.2.3 Arrays initialisieren

3.2.4 Auf Array-Elemente zugreifen

3.2.5 Array-Durchlauf mit Schleifen

3.2.6 Länge eines Arrays bestimmen

3.3 Zwei- und mehrdimensionale Arrays

3.3.1 Initialisieren und Erzeugen eines zweidimensionalen Arrays

3.3.2 Werte ins zweidimensionale Array ein- und auslesen

3.3.3 Mehrdimensionale Arrays

3.4 Zeichenketten (Strings) als Arrays

Selbstständiger Teil

3.5 Bowling

3.5.1 Einführung

3.5.2 Aufgabenstellung

3.5.3 Zwischenschritte

3.5.4 Erweiterungen

3.6 Tic Tac Toe

3.6.1 Einführung

3.6.2 Aufgabenstellung

3.6.3 Zwischenschritte

3.6.4 Erweiterungen

3.7 Such- und Sortieralgorithmen

3.7.1 Einführung

3.7.2 Suchalgorithmen

3.7.3 Erweiterungen

3.7.4 Sortieralgorithmen

4 Methoden und Funktionen

Theorieteil

4.1 Modulübersicht

4.2 Methoden

4.2.1 Methoden ohne Rückgabewert (Prozeduren)

4.2.2 Methoden mit Rückgabewert (Funktionen)

4.2.3 Methoden mit Parametern

4.3 Methoden aus der Klasse Math

4.4 Überladen von Methoden

4.5 Gültigkeitsbereiche von Variablen

4.6 Rekursion

4.6.1 Beispiel 1: Fakultät

4.6.2 Beispiel 2: Fibonacci

4.7 Fehlerbehandlung mit Exceptions

4.7.1 Werfen einer Exception

Selbstständiger Teil

4.8 Erweiterungen Pandemie-Simulation

4.8.1 Einführung

4.8.2 Setzen der Startbedingungen

4.8.3 Erweiterungen

5 Objekte

Theorieteil

5.1 Modulübersicht

5.2 Klassen und Objekte

5.2.1 Klassen

5.2.2 Objektvariablen und Methoden

5.2.3 Erstellen von Objekten unter Verwendung einer Klasse

Selbstständiger Teil

5.3 Hotel-Verwaltung

5.3.1 Aufgabenstellung

5.3.2 Zwischenschritte

5.3.3 Erweiterungen

Wie soll dieses Buch verwendet werden?

Das vorliegende Buch enthält alle Begleitunterlagen zum Onlinekurs Programmiergrundlagen mit Java. Für den kostenlosen Kurs können Sie sich über folgende URL registrieren und einschreiben:

https://et.ethz.ch

Der Kurs besteht aus folgenden 6 Modulen:

Programme erstellen in Java

Variablen und Datentypen

Kontrollstrukturen

Arrays

Methoden

Objekte

Jedes Modul dauert abhängig von Ihrem Vorwissen 4 bis 8 Arbeitsstunden. Die Materialien in diesem Buch und auf der Webseite begleiten Sie von der Einführung der Begriffe und Konzepte, über deren Verwendung in einfachen Programmier-Beispielen bis hin zur selbstständigen Anwendung der Programmier-Konzepte in kleinen Programmier-Projekten.

Jedes Modul ist in folgenden 4 Phasen organisiert:

SEE

: Kurze Einführung in die wichtigsten Begriffe und Programmier-Konzepte des Moduls.

TRY

: Computerbasierte Einführung an einfachen Programmier-Beispielen direkt in einer Programmierumgebung. Angeleitet werden Sie dabei von einem elektronischen Tutorial (E.Tutorial

®

).

DO

: Selbstständige Umsetzung kleiner Programmier-Projekte. Verknüpfung der neuen Programmier-Konzepte mit den bereits bekannten.

EXPLAIN

: Diskussion der individuellen Resultate aus Phase 3 mit Fokus auf die neuen Konzepte aus Phase 1.

Dieses Buch enthält alle Begleitmaterialien für die Phasen 1 und 3.

Das Unterrichtskonzept dieses Kurses wurde 2018 an der ETH Zürich mit dem KITE-Award (Key Innovation in Teaching at ETH) ausgezeichent.

Danksagung

Wir danken Dennis Komm und Jens Maue für das Korrekturlesen.

Programmieren mit Java Modul 0

Programme erstellen in Java

Theorieteil

Autoren:

Lukas Fässler, Barbara Scheuner

Begriffe

Programmiersprache

Bytecode

Programm

Klasse

Programmierumgebung

Kommentar

Editor

Algorithmus

Syntax

Quelltext

Semantik

Compiler

Anweisung

Theorieteil

0.1 Modulübersicht

Die Entwicklung des Computers ermöglicht uns, Rechenarbeit durch Maschinen erledigen zu lassen. Der Computer kann jedoch allein keine Probleme lösen, sondern ihm muss ein Lösungsweg (eine Bearbeitungsvorschrift) gegeben werden. Dieser Lösungsweg wird ihm in Form eines Programms mitgeteilt. Dies geschieht wiederum in einer speziellen Sprache, der Programmiersprache. Eine Bearbeitungsvorschrift zur Lösung einer Aufgabe wird Algorithmus genannt. Hierbei fordern wir, dass ein Algorithmus seine Arbeit immer beendet, also nicht unendlich lange braucht, wenn er ausgeführt wird und für jede Eingabe eine sinnvolle Ausgabe generiert. Algorithmus ist somit ein recht abstrakter Begriff. Wir können z.B. ein Kuchenrezept oder eine Wegbeschreibung als einen Algorithmus verstehen. Wir betrachten hier hingegen nur Alogrithmen, die konkret in einer Programmiersprache ausformuliert worden sind.

0.2 Schreiben von Computerprogrammen

Wenn zwei Menschen miteinander kommunizieren, wird dies von vielen Dingen, wie beispielsweise Mimik und Gestik, begleitet. Auf die Frage „Wie geht es dir?“ kann eine Antwort „Gut.“ ganz unterschiedlich interpretiert werden, abhängig davon, wie der Antwortende dies zum Beispiel betont. Menschen besitzen einen Intellekt, der es ihnen ermöglicht, einen Dialog zu interpretieren und in einen Kontext zu setzen. Computer haben diese Fähigkeit nicht. Um mit einem Rechner zu kommunizieren, müssen wir uns exakt ausdrücken. Der Computer weiss nicht, was wir eigentlich gemeint haben, sollten wir uns falsch ausgedrückt haben. Für die ersten Computer war dies eine sehr mühselige Aufgabe, denn die Sprache, die ein Computer versteht, ist für Menschen nicht sehr intuitiv. Deshalb wurden sogenannte Hochsprachen entwickelt, die unserer natürlichen Sprache näher sind. In diesem Kurs werden Sie eine solche Sprache, nämlich Java, verwenden, um Algorithmen als Computerprogramme umzusetzen.

0.2.1 Computerprogramme bestehen aus Daten und Instruktionen

Ein Computerprogramm ist im Wesentlichen eine Auswahl von Daten und eine Folge von Instruktionen, die – wenn sie ausgeführt werden – jeweils eine bestimmte Funktion erfüllen. Eine Instruktion kann beispielsweise eine Berechnung ausführen. Zum besseren Verständnis können Sie sich, wie oben erwähnt, ein Kochrezept vorstellen. Es enthält als erstes die Mengenangaben der Zutaten (Daten) und danach die Reihenfolge der Schritte (Instruktionen), die man ausführen muss, um ein bestimmtes Gericht zu kochen. Das Grundschema eines Rezepts ist meistens dasselbe: zuerst die Zutaten, danach die einzelnen Arbeitsschritte.

Mit einem Computerprogramm verhält es sich ähnlich. Jedes Programm folgt ebenfalls einem Grundschema. Bei der Programmierung spricht man allerdings nicht von Schema, sondern von der Syntax einer Programmiersprache, d.h. von den Regeln, die für den Aufbau eines Programms befolgt werden müssen. Wie bereits erwähnt, gibt es allerdings einen wesentlichen Unterschied zu den Schritten in einem Kochrezept. Bei den Instruktionen müssen wir präzise sein. Vorschriften analog zu „nach eigenem Ermessen würzen“ werden wir hier nicht finden, da der Computer sie nicht eindeutig auswerten kann.

Folgende Zeilen zeigen ein sehr einfaches Beispiel für ein Programm in der Programmiersprache Java:

public class HalloWelt {

public static void main(String[] args) {

System.out.println("Willkommen zur Javaprogrammierung.");

}

}

Unser Programm enthält in diesem Fall

ein

Grundgerüst

, bestehend aus einer Klasse mit dem Namen „

HalloWelt

“. Der Name der Klasse muss zwingend mit dem Namen der Datei übereinstimmen, in der das Programm gespeichert ist. Unser Code wird deshalb in der Datei

HalloWelt.java

gespeichert. Die Klasse enthält eine Methode, die „Hauptmethode“ (

main

) genannt wird.

eine

Instruktion

in der Hauptmethode (

System.out.println()

als Anweisung).

die

Daten

(hier den Text

Willkommen zur Javaprogrammierung.

).

Wird dieses Programm nun ausgeführt, wird folgende Zeile in die Konsole ausgegeben:

Willkommen zur Javaprogrammierung.

Das, was ein Programm ausführt, also seine Bedeutung, nennt man die Semantik des Programms.

0.2.2 Programme müssen übersetzt werden