Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Arrays und Schleifen) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
Arrays Ein Array ist eine einfache Liste. Dieses wird mit einem Datentypen deklariert, d.h. Alle Werte, die in diesem Array gespeichert werden sollen, müssen von demselben Datentyp sein. Allgemein: Speziell für z.b. ein Integer Array der Länge 10: Konstantin Pelz, 13.11.2018 # 1
Arrays Es erhält eine festgelegte unveränderbare Größe, welche im Attribut length gespeichert wird. Schematische Darstellung des firstarray : Index 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 Wird noch kein spezifischer Wert angegeben, so wird jedes Feld mit dem Standardwert des Datentyps initialisiert. Integer 0 Boolean false String null Konstantin Pelz, 13.11.2018 # 2
Zugriff auf Arrays Verändern der Werte in einem Array: Index 0 1 0 0 4 0 0 0 8 0 0 1 2 3 4 5 6 7 8 9 Wichtig: 0 - basiert! Wird z.b. auf ein 11. Element zugegriffen, das Array wurde aber mit der Länge 10 initialisiert, wird eine sog. java.lang.arrayindexoutofboundsexception geworfen. Konstantin Pelz, 13.11.2018 # 3
Zugriff auf Arrays Verändern der Werte in einem Array: Index 0 1 0 0 4 0 0 0 8 0 0 1 2 3 4 5 6 7 8 9 Wichtig: 0 - basiert! Wird z.b. auf ein 11. Element zugegriffen, das Array wurde aber mit der Länge 10 initialisiert, wird eine sog. java.lang.arrayindexoutofboundsexception geworfen. Konstantin Pelz, 13.11.2018 # 4
Exceptions Fehler (sogenannte Exceptions) führen in Java direkt zu Programmabstürzen. Exceptions treten immer erst zur Laufzeit auf, d.h. erst bei der Ausführung des Programms. Man kann aus einer Exception viele Informationen gewinnen, welche bei der Fehlerbeseitigung helfen können. Eine Exception liefert in der Regel die Zeilennummer und Klasse, in der der Fehler aufgetreten ist. Da es verschiedene Arten von Exception gibt, kann man oft an der Art vermuten was der Fehler ist und wie man ihn beheben kann. Konstantin Pelz, 13.11.2018 # 5
Exceptions ArrayIndexOutOfBoundsException Zeile im Code, bei der die Exception entstanden ist Das Array ist offensichtlich kleiner als 11 Konstantin Pelz, 13.11.2018 # 6
Arrays Wie befüllt man möglichst einfach ein Array? Aufgabe: Befülle ein Array der Länge 5 mit den Werten von 1 bis 5. Konstantin Pelz, 13.11.2018 # 7
Arrays Wie befüllt man möglichst einfach ein Array? Aufgabe: Befülle ein Array der Länge 5 mit den Werten von 1 bis 5. Konstantin Pelz, 13.11.2018 # 8
Arrays Wie befüllt man möglichst einfach ein Array? Aufgabe: Befülle ein Array der Länge 5000 mit den Werten von 1 bis 5000. Konstantin Pelz, 13.11.2018 # 9
Arrays Wie befüllt man möglichst einfach ein Array? Aufgabe: Befülle ein Array der Länge 5000 mit den Werten von 1 bis 5000. Konstantin Pelz, 13.11.2018 # 10
Schleifen for - Schleife: Allgemein: Code: while - Schleife: Allgemein: Code: Konstantin Pelz, 13.11.2018 # 11
Schleifen Was passiert? Konstantin Pelz, 13.11.2018 # 12
Schleifen Was passiert? Ist immer wahr Schleife bricht nie ab Programm terminiert nicht Konstantin Pelz, 13.11.2018 # 13
Schleifen Wie befüllt man möglichst einfach ein Array? Aufgabe: Befülle ein Array der Länge 5000 mit den Werten von 1 bis 5000. oder Konstantin Pelz, 13.11.2018 # 14
Arrays Mehrdimensionale Arrays: Verschachtelte for - Schleife: 0,0 0,1 0,2 0,3 0,4 1,0 1,1 1,2 1,3 1,4 2,0 2,1 2,2 2,3 2,4 3,0 3,1 3,2 3,3 3,4 4,0 4,1 4,2 4,3 4,4 5,0 5,1 5,2 5,3 5,4 Konstantin Pelz, 13.11.2018 # 15
Arrays Mehrdimensionale Arrays: Verschachtelte for - Schleife: 0,0 0,1 0,2 0,3 0,4 1,0 1,1 1,2 1,3 1,4 2,0 2,1 2,2 2,3 2,4 3,0 3,1 3,2 3,3 3,4 4,0 4,1 4,2 4,3 4,4 5,0 5,1 5,2 5,3 5,4 Konstantin Pelz, 13.11.2018 # 16
Arrays Mehrdimensionale Arrays: Verschachtelte for - Schleife: 0,0 0,1 0,2 0,3 0,4 1,0 1,1 1,2 1,3 1,4 2,0 2,1 2,2 2,3 2,4 3,0 3,1 3,2 3,3 3,4 4,0 4,1 4,2 4,3 4,4 5,0 5,1 5,2 5,3 5,4 Konstantin Pelz, 13.11.2018 # 17
Exkurs: Methoden Wie sieht eine Methode allgemein aus? Wo im Code stehen Methoden? Was sind Rückgabewerte? - int, double, String, char, Alle Datentypen - void Dann gibt die Methode nichts zurück Konstantin Pelz, 13.11.2018 # 18
Exkurs: Methoden Eine Methode namens getarray soll als Übergabeparameter eine Zahl n erwarten, ein Array der Größe n erzeugen, mit Zahlen von 1 bis n füllen und zurückgeben. Wie benutzt man diese Methode? Konstantin Pelz, 13.11.2018 # 19
Exkurs: String Länge des Strings Character an einer Stelle im String Substring von / bis von inklusive bis exklusive Selbst überlegen ;) Konstantin Pelz, 13.11.2018 # 20