Technische Universität München Institut für Informatik Lehrstuhl für Bioinformatik Einführung in die Programmierung für Bioinformatiker Prof. B. Rost, L. Richter WS 2013/14 Aufgabenblatt 1 4.11.2013 Linux, Shell-Kommandos, Vim, Java 1.1 (Ü) Einführung Ziel der heutigen Übung ist es, sich mit den Rechner und den installierten Programmen vertraut zu machen. Es wird auch schon kleine Programmieraufgaben geben. Machen Sie sich mit dem Rechner vertraut: • EInloggen • Finden und starten Sie einen Internet-Browser — auf den Rechnern ist Firefox installiert. • Finden und öffnen Sie ein Kommandozeilenterminal (Shell-Fenster) • Falls noch nicht erfolgt, bearbeiten Sie das Vim-Tutorial. Starten Sie dazu das Programm vimtutor. Machen Sie sich mit den bereits bekannten Shell-Kommandos vertraut: • Lesen Sie dazu die Manpages von man, ls, less, cp, mv, rm 1.2 (Ü) Der Editor Vi(m) In diesem Text wird die Verwendung des Editors vertieft. Um sich die Arbeit zu erleichtern, gibt es einige nützliche Einstellungen: • Zeigt die eingegebenen Kommandos: set showcmd • Anzeigen der Zeilennummer: set nu • Syntax Highlighting: syntax on • Erleichterungen bei der Suche: set hls nohls (zum Ausschalten) 1.3 (Ü) Allgemeine Fragen zu Java (a) Welche primitiven Datentypen stehen in Java zur Verfügung? (b) Wie werden Variablen deklariert? (c) Wie sieht eine Zuweisung aus? (d) Mit welchem Referenz-Datentyp werden Zeichenfolgen repräsentiert? 1 (e) Was sind Packages in Java? 1.4 (Ü) Fragen zu Funktionen in Java (a) Was versteht man unter einer Methode? (b) Wie wird eine Methode definiert? (c) Wofür ist das Schlüsselwort return gut? (d) Was ist das Besondere an der public static void main(String[] args) Methode? (e) Erweitern Sie Ihre HelloWorld-Klasse nun um eine Methode public static String greetMe(String name) , die eine Begründung mit dem übergebenen Namen als String zurückgibt. Geben Sie die Nachricht danach in der main-Methode auf der Konsole aus. 1.5 (Ü) Hello World Gegeben sei folgendes Java-Programm: class HelloWorld { public static void main ( String [] args ) { System . out . println ( " Hello World ! " ); } } • Was macht dieses Programm? • Geben Sie das Programm mit Hilfe eines Editors ein. • Speichern Sie das Programm unter dem Namen HelloWorld.java ab. • Übersetzen Sie das Programm auf der Konsole mit dem Befehl javac HelloWorld.java. • Führen Sie Ihr Programm mit dem Befehl java HelloWorld aus. • Was bedeutet Übersetzen? Diskutieren Sie die Notwendigkeit mit Ihrem Tutor. 1.6 (Ü) Java API Die Java API finden Sie unter http://docs.oracle.com/javase/7/docs/api/. Öffnen Sie die Seite und erklären Sie, die verschiedenen Bereiche der Seite. Lesen Sie die Dokumentation für die Klassen String und Math nach. Was wird dort angegeben? Welche Sektionen gibt es? Gibt es Beispiele? Eine Übersicht über die Java-Plattform mit ihren verschiedenen Komponenten und Werkzeugen findet man unter http://docs.oracle.com/javase/7/docs/. 1.7 (Ü) JavaDoc Es ist sehr wichtig, dass Quellcode lesbar und gut verständlich geschrieben wird. Hierzu gehört auch 2 eine ausführliche und prägnante Dokumentation des Codes. JavaDoc bietet eine Möglichkeit, Quellcode intuitiv und unkompliziert durch kontextsensitive Kommentare zu erweitern. Dokumentieren Sie in Zukunft Ihre Lösungen mithilfe von JavaDoc! Anmerkung: Sie werden feststellen, dass alle in Java eingebauten Klassen und Methoden englische Namen haben. Um Quellcode möglichst lesbar zu halten, gehört es zum guten Ton, für die eigenen Bezeichner ebenfalls englische Namen zu wählen. Vermeiden Sie insbesondere Umlaute! 1.8 (H) Interpretation und Verstehen von Compiler-Meldungen (+) Sie bekommen ein kleines Java-Programm mit eingebauten kleinen Syntaxfehlern. Ziel ist es, diese zu beheben und das Programm fehlerfrei zu übersetzen. 1.9 (H) Implementieren eines Klassendiagramms (+) Ziel ist es, aus dem bereit gestellten Klassendiagramm, eine entsprechende Implementierung in Java zu erstellen. 3