Transcription of Java Grundlagen - Uni Ulm Aktuelles
1 Java GrundlagenSkript zum Kurs der ProgrammierstarthilfeFakult t f r Ingenieurwissenschaften und InformatikUniversit t UlmJan-Patrick Elsholz und das Programmierstarthilfe-Team2009 ber dieses SkriptDieses Skript ber die Programmiersprache Java wurde f r die Programmierstarthilfe an derUniversit t Ulm unter Verwendung von Studiengeb hren geschrieben. Es richtet sich insbesonderean Programmierneulinge und kann auch unabh ngig von den Materialien der Programmierstarthilfezum Selbststudium verwendet werden. Thematisch beginnt das Skript bei den absoluten Grundlagenund leitet den Leser sehr ausf hrlich durch die Programmierkenntnisse die ein Informatikstudent imersten Semester vermittelt gefunden?Wenn du in diesem Skript einen Fehler findest oder etwas von der Formulierung her schwerverst ndlich findest, dann melde dich bitte bei uns.
2 Wir sammeln alle Fehler und verbessern diekommende Version des Skripts. Schicke einfach eine Mail 14. Oktober 2010, enth lt Korrekturen aus WS 2008/09 Revision 441 NameKapitelsonstigesGuido de Melo1, 2, 4, 5, 6, 7, 8 LATEXen, Bilder, EndredaktionBenjamin Erb8, 9, C, EKorrekturenPeter Lobner7, 8 KorrekturenRobert Schmitz3, 4, DIDEs, KorrekturenFinn Steglich4, 5, 6 KorrekturenJuliane WessalowskiKorrekturenMarcus Bombe0, 5, 8, A, BSyntax bersicht, KorrekturenLeonhard MartinKorrekturenJan-Patrick ElsholzKorrekturenThis work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike To view a copy of this license, send a letter toCreative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, : PDF-LATEX 2 Inhaltsverzeichnis0 der Einleitung .. ufige Irrt mer.
3 Ber Java .. erste Programm: Hello World .. bersetzen und Ausf hren .. bersetzungsfehler und andere T cken .. , Einr cken und Formatieren .. 161 und Ausgabe .. und Zahlen .. Rest: byte, short, char, long, float .. 222 cke .. mit mehreren M glichkeiten .. 253 .. Schleifen .. 294 Arrays .. Arrays .. 325 als R ckgabetyp .. Parameter .. berladen von Methoden .. von Methoden .. 376 G cke .. cke im Kleinen .. cke bei Methoden .. cke bei Klassen .. 413 Inhaltsverzeichnis7 von Rekursion .. bei Rekursion .. 448 als Typen .. ltigkeit und statische Attribute .. und private .. 519 Einfache abstrakte .. ume.
4 55A Fehler abfangen mit try-catch .. Exceptions erzeugen und weiterreichen .. 64B Einfaches Einlesen von der Tastatur .. 67C Weiterf hrende Konzepte und Objektorientierung .. Weiterf hrendes zu Datentypen .. Grafische Benutzeroberfl chen .. Thread-Programmierung mit Java .. 85D Integrierte Notepad + Compiler .. Vorteile von IDEs .. Nachteile von IDEs .. Welche IDE soll ich benutzen? .. 91E API - Dokumentation93 Syntax bersicht9540 EinleitungHallo Informatik-Studenten und Java-Interessierte,dieses Skript behandelt die Grundlagen der Programmiersprache Java. Es wurde von denVeranstaltern der Programmierstarthilfe der Universit t Ulm geschrieben und behandeltziemlich genau den Stoff, der im ersten Semester in der Vorlesung Praktische Informatikzum Thema Java behandelt wird.
5 Es handelt sich folglich nicht um ein umfassendes Werk ber Java welches jedes Thema in allen Details behandelt - f r diesen Zweck gibt es schonhunderte andere B cher. Vielmehr ist es eben eine Zusammenfassung der Grundlagen . Ausdiesem Grund ist dieses Skript auch so geschrieben, dass auch Anf nger damit umgehenk nnen und Spa am Programmieren entwickeln k nnen. Hierzu kl ren wir in der Einlei-tung erst einmal alles Grunds tzliche was man noch vor der ersten eigenen Zeile Java-Codewissen sollte. Im Nachfolgenden kommen wir dann zu teilweise aufeinander aufbauendeKapitel mit den Java- Grundlagen . Ein etwas gr erer Anhang rundet das Skript ab undenth lt Hilfsmittel und zudem einen Ausblick auf Themen jenseits der Skript wurde f r die Programmierstarthilfe an der Universit t Ulm geschrieben. Ur-spr nglich wurden die Java- Grundlagen auf den Aufgabenbl ttern der Programmierstart-hilfe vermittelt, allerdings sind wir der Meinung eine Trennung von Theorie und Aufgabenerh ht die Lesbarkeit und somit auch die Benutzbarkeit sowohl von Aufgabenbl ttern alsauch des Skriptes.
6 Damit Aufgaben und hiermit zusammenh ngendes Wissen allerdingstrotzdem zusammenfinden, verweisen die Aufgabenbl tter der Programmierstarthilfe aufdie einzelnen Kapitel und Unterkapitel dieses Skriptes. Das Skript hingegen wurde bewusstso geschrieben, dass es unabh ngig von der Programmierstarthilfe und den Aufgabenbl t-tern verwendet werden Spa mit der Programmiersprache Java!Euer Zweck der EinleitungWir besprechen in dieser Einleitung alle grundlegenden Dinge, die man wissen sollte nochbevor man berhaupt Befehle der Programmiersprache Java erlernt. Beginnen werden wirmit einer Kl rung des Begriffs des Programmierens, dann werden wir uns ansehen, wasJava eigentlich f r eine Programmiersprache ist und welche Voraussetzungen es gibt, umJava zu verwenden. Sobald wir das wissen, sehen wir uns ein kleines Programm in Javaan und besprechen Zeile f r Zeile was dort eigentlich steht und was das bedeutet.
7 Es giltweiterhin zu erfahren, wie man sein eigenes Programm am besten eingibt und wie manden Computer dazu bringt dieses Programm dann zu starten. Zum Ende der Einleitungbehandeln wir zudem noch, was man bei Problemen tun kann und wie man verst ndlicheProgramme Einleitung ist zudem nicht nur f r absolute Anf nger interessant. Auch wer schoneinmal programmiert hat und daher schon die ein oder andere Erfahrung mitbringt wird indieser Einleitung Wichtiges erfahren k nnen. Daher sei es jedem nahe gelegt die Einleitungzumindest einmal aufmerksam zu lesen um dann bei auftretenden Fragen oder Problemenw hrend des Programmierens hierher zur ckkehren zu k nnen um nochmals nach schauenzu k nnen, wie man ein Java-Programm bersetzt und ausf hrt oder was bei Fehlern zu EinleitungNoch bevor wir allerdings all das oben beschriebene angehen, m ssen wir zun chst noch ber zwei h ufig auftretende Irrt mer sprechen um mit falschen Vorstellungen von vorneherein aufzur H ufige Irrt Irrtum Nr.
8 1: Informatiker gleich ProgrammiererWenn man beispielsweise auf der n chsten Familienfeier seinen Verwandten erz hlt, manhabe sich nun f r Informatik eingeschrieben, so kommt bei den meisten sofort die Vorstel-lung auf Informatiker? Das sind doch die, die Computerprogramme schreiben! . DieseVorstellung ist gr tenteils falsch, denn Informatiker und Programmierer sind unterschied-liche Berufsgruppen. Der Programmierer ist derjenige, der die Programme schreibt. Zumberuflichen Programmierer wird man beispielsweise ber die Ausbildung zum hingegen studiert man an einer Hochschule und die Hochschulen behauptenhin und wieder sogar, dass Programmierkenntnisse f r einen Abschluss in einem Informa-tikstudiengang nicht zwingend erforderlich sind. Diese Aussage mag einem wenig helfen,wenn man gerade versucht, die Pr fung zur praktischen Informatik zu bestehen.
9 Richtigist aber trotzdem, dass man als Informatiker haupts chlich nicht programmiert und derComputer f r den Informatiker nur ein Werkzeug darstellt. Informatiker besch ftigen sichvielmehr mit strukturierten, systematischen Planungen, berwachung der Ausf hrung undVerifizierung der Ergebnisse, im Kontext von Informationen. Das sind dann zum Beispieldie Planung oder Leitung von Software-Projekten oder die Anfertigung von Spezifikatio-nen, die andere Hardware oder Software in einem Projekt einzuhalten auch wenn der Informatiker sp ter eher wenig programmieren muss, ist ein genauesVerst ndnis ber die Funktionsweise von Computerprogrammen bei sehr vielen Aufgabenunerl sslich. Aus diesem Grund bekommt man auch die Grundlagen einer Programmier-sprache im Studium vermittelt, denn wie k nnte man besser ein genaues Verst ndnis er-werben als durch selbst zu programmieren?
10 Besch ftigen wir uns in diesem Zuge mit demzweiten Irrtum, dem man m glicherweise aufsitzen k Irrtum Nr. 2: Programmieren lernen hei t 3D-Spiele bauenWenn man nun als Informatikstudent aus oben genannten Gr nden eine Programmierspra-che beigebracht bekommt, produziert man deshalb noch lang keine 3D-Spiele. Stattdessenreichen die Grundlagen um textbasierte Programme zu schreiben, das bedeutet, dass wenndas Programm gestartet wird kein buntes Fenster aufgeht und man auf irgendetwas klickenkann. Aber das ist auch berhaupt nicht das Ziel, wenn es darum geht die Grundlagen zuerarbeiten. Es geht beispielsweise darum zu erlernen, wie man ein Programm so schreibt,dass es die einzelnen Arbeitsschritte sinnvoll hintereinander ausf hrt und zwar gerade sound so oft wie die Situation es erfordert. Wir werden zum Beispiel lernen, wie man Befehlenur unter gewissen Bedingungen ausf hrt oder Dinge sooft tut, solange nicht eine andereBedingung eintritt.