Kapitel 2. Programmierkurs. Fehlerhafte Programme. 2.1 Was macht ein Java Programm aus?
|
|
|
- Magdalena Mann
- vor 9 Jahren
- Abrufe
Transkript
1 Kapitel 2 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln WS 07/08 Grundlagen der Java Programmierung Was macht ein Java Programm aus? Sprachbestandteile Ein erstes Programm Hauptbestandteile eines Java-Programms Vom Programmtext zur Ausführung Lesbarkeit des Programmtextes/Programmierstil Einfache Ein- und Ausgabe (Text) Import-Anweisung Ein Programm mit Ein- und Ausgabe 1 / Was macht ein Java Programm aus? Fehlerhafte Programme Ein Java-Programm ist zunächst eine Textdatei, die mit einem Texteditor erstellt und bearbeitet wird und die Endung.java besitzt. Da Java eine Sprache darstellt, unterscheiden wir: Syntax: Formale Regeln bzw. Grammatik, nach denen zwischen zulässigem und ungültigem Programmcode unterschieden wird. Semantik: Inhalt des Programms, d.h. Bedeutung des Programmcodes. Syntaxfehler: Der Compiler kann den Programmcode nicht korrekt übersetzen. Meist gibt der Compiler Hinweise auf den formalen Fehler. Deshalb sind diese Fehler meist einfach zu finden und zu beseitigen. Semantikfehler: Der Compiler übersetzt das Programm korrekt. Das übersetzte Programm arbeitet aber nicht so wie beabsichtigt. Semantikfehler sind i.a. schwieriger zu beseitigen, insbesondere bei großen Programmen. Fehlersuche durch genaue Analyse und Tests des Programms. 3 / 69 4
2 2.2 Sprachbestandteile Reservierte Schlüsselwörter Wie jede höhere Programmiersprache besteht Java aus: Schlüsselwörtern ( Wortschatz ) reservierten Zeichen ( Satzzeichen ) Namen vordefinierter Datenstrukturen, Objekte Namen selbst definierter Datenstrukturen, Objekte und Funktionen/Methoden Kommentaren abstract double interface switch assert else long synchronized boolean extends native this break final new throw byte finally package throws case float private transient catch for protected try char goto public void class if return volatile const implements short while continue import static default instanceof strictfp do int super 5 / 69 6 Reservierte Zeichen Regeln für selbstdefinierte Namen Namen (auch Bezeichner genannt) bestehen aus: // bzw. /* */: Einleitung für Kommentare. { } : Gliederung des Programmtextes. ;: Abschluss einer Anweisung : Arithmetische Operatoren. >= <= ==: Vergleichsoperatoren. && : Logische Operatoren. << >>: Schiebeoperatoren. und weitere... Buchstaben a z, A Z Ziffern (Zahlen) 0 9 Unterstrichen Sie müssen mit einem Buchstaben oder beginnen. Namen, die mit beginnen, sollten vermieden werden. Sie dürfen nicht mit einem Schlüsselwort übereinstimmen. Die Länge ist i.a. nicht beschränkt. Zu lange oder zu kurze Namen sollten aber vermieden werden. Namen dürfen keine Leerzeichen enthalten. Zwischen Gross- und Kleinschreibung wird unterschieden! 7 / 69 8
3 Namensgebung Bedeutung der Namensgebung Beispiele: anzahl, knoten1, vertex,...: Bedeutung ersichtlich, nicht zu kurz nicht zu lang, Konvention: Kleinschreibung. anzknoten, anz knoten, noverts,...: Zusammengesetzt, aber mit Gross-/Kleinschreibung bzw. gut lesbar, spezifiziert Anzahl wegen Eindeutigkeit. anzverts, novertices,... nicht so gut, da Sprachgemisch bzw. länger als nötig. i, j, k, p x, p y : Sehr kurze Bezeichnungen für Laufvariablen, sehr kurzzeitig ( lokal ) benötigte Variablen. Mathematische Schreibweise für mathematische Objekte (Koordinaten des Punktes p). Macht die Struktur des Problems bzw. Algorithmus klarer. Macht Programme gut/intuitiv lesbar/erweiterbar/wartbar. Beides hilft semantische Fehler zu vermeiden/verbessern. 9 / Ein erstes Programm Ziele groben Aufbau eines Programms kennenlernen groben Aufbau einer Methode kennenlernen die Methode public static void main(string[] args) Abschluss eines jeden Befehls mit ; Der Programmtext Hello World! : HelloWorld.java 1. /* Programmierkurs WS * ZAIK, AFS : RS, BE, AS 3. */ 4. public class HelloWorld 5. { 6. public static void main(string[] args) 8. // Ausgabe 9. System.out.println( Hello World! ); 10. } 11. } Hello World! 11 / 69 12
4 Der Programmtext Hello World! : HelloWorld.java 1. /* Programmierkurs WS * ZAIK, AFS : RS, BE, AS 3. */ 4. public class HelloWorld 5. { Kommentare: 6. public static void main(string[] Mehrzeilig (lang/global), args) Einzeilig (kurz/lokal). 8. // Ausgabe 9. System.out.println( Hello World! ); 10. } 11. } Hello World! Der Programmtext Hello World! : HelloWorld.java 1. /* Programmierkurs WS * ZAIK, AFS : RS, BE, AS 3. */ 4. public class HelloWorld 5. { 6. Einleitung der Klassendefinition + öffnende args) und. public static void main(string[] schließende Klammer 8. // Ausgabe 9. System.out.println( Hello World! ); 10. } 11. } Hello World! 13 / Der Programmtext Hello World! : HelloWorld.java 1. /* Programmierkurs WS * ZAIK, AFS : RS, BE, AS 3. */ 4. public class HelloWorld 5. { 6. public static void main(string[] args) 8. // Ausgabe 9. System.out.println( Hello World! ); 10. } 11. } Hello World! Methode main gibt es in jedem Java Programm genau einmal (wieder mit öffnender und schließender Klammer). Der Programmtext Hello World! : HelloWorld.java 1. /* Programmierkurs WS * ZAIK, AFS : RS, BE, AS 3. */ 4. public class HelloWorld 5. { Einziger richtiger Befehl: Veranlasstargs) Ausgabe. 6. public static void main(string[] 8. // Ausgabe 9. System.out.println( Hello World! ); 10. } 11. } Hello World! Befehle enden mit Semikolon ;. 15 / 69 16
5 Der Programmtext Hello World! : HelloWorld.java 1. /* Programmierkurs WS * ZAIK, AFS : RS, BE, AS 3. */ 4. public class HelloWorld 5. { 6. public static void main(string[] args) 8. // Ausgabe 9. System.out.println( Hello World! ); 10. } 11. } Output auf dem Bildschirm Zeilennummern und Output Zeilennummern dienen lediglich der Orientierung auf den Folien werden im Editor nicht mit eingegeben Output dient lediglich der Erläuterung des Programms auf den Folien wird im Editor nicht mit eingegeben Hello World! 17 / Klassendefinition Hauptmethode public class HelloWorld {...} Objektorientierung: Ein Objekt ist für uns zunächst konkret eine Klasse. (Feinheiten später!) Daher muss jedes Programm von einer Klasse, hier class HelloWorld umgeben sein, d.h. der Programmtext steht zwischen den geschweiften Klammern der Klassendefinition. Schlüsselwort public (öffentlich) bedeutet, dass diese Klasse von beliebigen anderen benutzt werden darf. Eine (öffentliche) Klasse sollte in einer gleichnamigen Datei, hier HelloWorld.java gespeichert sein. Ein Klassenname sollte mit einem Grossbuchstaben beginnen. public static void main(string[] args){} Eine Klasse kann viele Methoden umfassen, deren Aufbau prinzipiell immer gleich ist, jedoch nur eine Hauptmethode mit dem Methodennamen main. Hinter dem Methodennamen folgt in Klammern eine Argumentliste. Hinter der Argumentliste folgt ein Paar geschweifte Klammern, die Anweisungen umschließen. Besonderheit von main : Soll die JVM ein Programm in Form einer Klasse X ausführen, so wird genau die Hauptmethode der Klasse gesucht und abgearbeitet. 19 / 69 20
6 Schlüsselworte Befehl/Anweisung Die genaue Bedeutung und Verwendung einiger Schlüsselworte wird später behandelt, daher werden sie hier nur kurz erwähnt. Schlüsselwort public (öffentlich) bedeutet, dass diese Methode von beliebigen anderen Klassen benutzt werden darf. Schlüsselwort void (leer) bedeutet, dass die Methode keinen Rückgabewert hat. Schlüsselwort static (statisch) bedeutet, dass dies eine Klassenmethode ist. System.out.println( Hello World! ); Ist hier der Aufruf einer Methode println mit dem Argument Hello World!. Veranlasst die Ausgabe von Hello World! in einer Zeile gefolgt von einem Zeilenumbruch auf die Konsole (Standardausgabe). println besteht wieder aus einer Menge von Anweisungen, die wir nicht sehen, da es eine vordefinierte Methode ist. 21 / Zugriffsoperator Ein weiteres (besonderes) reserviertes Zeichen in Java ist der Punkt. als sogenannter Zugriffsoperator. Beispiel System.out.println( Hello World! );: Die Methode println muss wie jede Methode innerhalb einer Klasse definiert sein. Diese Klasse ist die Klasse out (verantwortlich für Ausgabe): out[.=etwas aus der Klasse]println(). Die Klasse out ist innerhalb der Klasse System (Systemaufgaben) definiert: System.(= besitzt die Methode/Klasse)out.(= besitzt die Methode/Klasse)println(). System.out.println() ist voll qualifizierter Name der Methode println(). Um Methoden der eigene Klasse aufzurufen, reicht der einfache Methodenname. 2.5 Vom Programmtext zur Ausführung Wir nutzen zur Eingabe des Programmtextes einen Editor (Nutzung klar :) und zum Kompilieren/Ausführung des Programms eine zeileneingabe: 1. Bearbeiten und Speichern des Programms unter <Klassenname>.java. 2. Übersetzen (Kompilieren) des Programms (einfachste Möglichkeit) mit javac <Klassenname>.java. Es entsteht eine (unleserliche) Datei <Klassenname>.class. 3. Ausführen des Programms mit java <Klassenname>. 23 / 69 24
7 Arbeiten auf der Konsole unter Linux Nützliche Befehle I Kompilieren/Ausführung des Programms durch zeileneingabe: Öffnen einer Konsole. entspricht: Eingabeaufforderung, Terminal,... spezieller: Shell, noch spezieller Bash,... Eingabe eines Befehls (ggf. mit Optionen, Parametern). Abschluss mit Return. ls cd path cd \path cd.. cd $HOME Listet alle Dateien in diesem Verzeichnis auf. Wechselt in den mit path angegebenen Ordner. Der Pfad wird immer vom aktuellen Verzeichnis aus interpretiert. Wechselt in den mit path angegebenen Ordner. Der Pfad wird jetzt von der Verzeichniswurzel ausgehend interpretiert. Wechselt in den Elternordner des aktuellen Ordners. Wechselt in das Home(-Verzeichnis) des Benutzers. 25 / Nützliche Befehle II Nützliche Befehle III mkdir name cp file path cp file file1 cp -r/r path path1 cp -r/r path. Legt im aktuellen Verzeichnis einen neuen Ordner namens name an. Kopiert die Datei file an die Stelle path. Legt eine Kopie der Datei file unter dem Namen file1 an. Kopiert das ganze Verzeichnis path samt Inhalt nach path1. Kopiert das ganze Verzeichnis path nach hier, d.h. in das akltuelle Verzeichnis. rm file rm -r/r name rmdir name mv file file1 mv file path mv name name1 Die Datei file wird gelöscht. Das Verzeichnis name wird mit allen Unterverzeichnissen und Dateien gelöscht. Das leere (!) Verzeichnis name wird gelöscht. Benennt die Datei file in file1 um. (Die Endung wird nicht automatisch beibehalten Verschiebt die Datei die Datei file an die Stelle path. Benennt das Verzeichnis name in name1 um. 27 / 69 28
8 Hilfsoptionen Tipps Hilfsoptionen zu einzelnen Befehlen (nicht bei allen verfügbar): man command command -h/-help/- -help Zeigt Manual Page (Handbuch) des Befehls command an. Zeigt Optionen/Benutzung des Befehls command an. Durch Drücken der Tab-Taste werden unvollständig eingegebene Befahle ergänzt, falls eindeutig möglich. (Sonst werden mehrere Möglichkeiten oder gar nichts angezeigt.) Pfeiltasten (, ) können vorherige/ spätere s wieder ausgewählt werden. Soll das gleiche für viele Dateien mit ähnliche Namen ausgeführt werden, können sogenannte wild cards Platzhalter, z.b. * benutzt werden, um die unterschiedlichen Namensteile zu ersetzen. Der Befehl, wird dann für alle Dateien ausgeführt, die in das Namensmuster passen. Beispiel: cp java/*.java. Kopiert alle Dateien mit Endung.java nach hier. 29 / Java-s Das SSH- javac file.java java file Kompiliert file.java. Erzeugt Datei file.class. Führt die kompilierte Datei file.class aus. Das Secure Shell (ssh) dient dem Einloggen auf Rechnern über das Netzwerk. Wird zur Zeit im Pool selbst verwendet, um sich vom eigenen Arbeitsplatzrechner auf einen Server einzuloggen. Kann auch von eigenem Rechner mit entsprechendem Netzzugang genutzt werden, um auf den Server zu gelangen. : ssh username@servername Erzeugt (nach Passworteingabe für username) eine Konsole auf dem Server servername. 31 / 69 32
9 SSH von zu Hause/Server Das SCP- Unter Linux ist meist ssh standardmässig installiert, d.h. auf der heimischen Konsole kann man sich mit ssh- auf den Uni-Server einloggen. Unter Windows installiert man meist einen SSH-Client extra (siehe Website). Servernamen: sunfire.rrz.uni-koeln.de dialog.rrz.uni-koeln.de Das SCP (scp) ist das Netzwerk-Pendant zum einfachen Kopier- (cp). Kann auf einer heimischen Linuxkonsole (standard mässig) direkt zum kopieren von Dateien in sein Uni-Home auf dem Uni-Server verwendet werden. Wird unter Windows meistens von graphischen Oberflchen benutzt/unterstützt (siehe SSH-Client, Website). 33 / Verwendung von scp Hinweis zu scp scp username@servername : path/file. scp file username@servername : path. Lädt die Datei file vom Server auf den eigenen Rechner. Lädt die Datei file vom eigenen Rechner auf den Server. Liegt die Datei file direkt im Uni-Home entfällt path. Der Pfad path wird ansonsten relativ zum Home-Verzeichnis angegeben Beispiel: xxx.java liegt im Homeverzeichnis, Unterverzeichnis JavaKram. Folgender Befehl kopiert die Datei auf den eigenen Rechner: scp username@servername : JavaKram/xxx.java. Bei Benutzung von ssh im PC-Pool müssen Dateien nicht hin und her kopiert werden!!! Auf dem Server stehen die gleichen Dateien (Home-Verzeichnis) zur Verfügung wie am Arbeitsplatzrechner!!! 35 / 69 36
10 2.5 Vom Programmtext zur Ausführung Wir nutzen zur Eingabe des Programmtextes einen Editor (Nutzung klar :) und zum Kompilieren/Ausführung des Programms eine zeileneingabe: 1. Bearbeiten und Speichern des Programms unter <Klassenname>.java. 2. Übersetzen (Kompilieren) des Programms (einfachste Möglichkeit) mit javac <Klassenname>.java. Es entsteht eine (unleserliche) Datei <Klassenname>.class. 3. Ausführen des Programms mit java <Klassenname>. Erste Hindernisse Falls bei Schritt 2 Fehler auftreten: Command not found oder Ähnliches: Kein Java-Compiler installiert oder javac wird nicht gefunden (liegt nicht im vordefinierten Pfad). Abhilfe: Mit which javac (Linux) bzw. where javac (Windows) den Pfad suchen und mit Pfad aufrufen bzw. Pfad setzen. Falls kein Java-Compiler gefunden: Installation... cannot read: <Klassenname>.java oder Ähnliches: Die zu kompilierende Datei liegt nicht im aktuellen Verzeichnis. Abhilfe: Mit cd <Pfad> in das entsprechende Verzeichnis wechseln oder mit javac -classpath <Pfad> <Klassenname>.java kompilieren. Letztere Möglichkeit wird auch beim Verwenden von Paketen (später) angewendet. 37 / Kompilier-Fehler Laufzeit-Fehler Am häufigsten treten jedoch vom Compiler gemeldete Syntaxfehler auf. Diese sind meist mit Zeilenangabe versehene Kurzbeschreibung zur Fehlersuche im Programmtext. Häufige Fehler sind: Tippfehler Vergessene ; { } Fehlende/Mehrfache Deklaration (später) Falscher Methodenaufruf (später) Auch bei Schritt 3 treten Fehler auf: Class definition not found oder Ähnliches: Pfadprobleme oder Ähnliches (s.o.) Fehler beim Linken/Einbinden von mehreren selbsdefinierten Klassen (mehrere Dateien), Pfadprobleme, Bibliotheken (Später). Semantikfehler: Unerwartetes Ergebnis, Programm stürzt ab. Hinweise zur Benutzung des Compilers (Optionen, Linken, etc.) mit: javac --help 39 / 69 40
11 2.6 Lesbarkeit des Programmcodes Kürzere Formulierung möglich Kommentare erläutern Programm verbessern Lesbarkeit werden vom Compiler ignoriert einzeilige Kommentare werden mit // eingeleitet mehrzeilige Kommentare beginnen mit /* und enden mit */ Wichtig: In eigenen Programmen oft und ausführlich kommentieren! Java-Programme werden durch die Zeilenstruktur und Extra-Leerzeichen nicht beeinflußt. Ausnahme: Mit // eingeleitete Kommentare enden mit dem Zeilenumbruch! Daher: Obige Funktion könnte man kürzer formulieren: public class HelloWorld { public static void main(string args) { System.out.println( Hello World! ); }} Nicht empfehlenswert! 41 / Lesbarkeit Groß- und Kleinschreibung Durch Einfügen von Leerzeilen und durch Einrückung kann die Lesbarkeit stark gesteigert werden. Deshalb sollte man Folgendes beachten: Durch Leerzeilen sinnvoll gliedern Nur ein Befehl je Zeile Jedes { und } in eine eigene Zeile Nach jedem { um 2 Zeichen einrücken Geht ein Befehl über mehrere Zeilen, die folgenden Zeilen einrücken Java ist case-sensitive, unterscheidet also zwischen Großund Kleinbuchstaben! X ist nicht dasselbe wie x, Main() ist nicht dasselbe wie main() 43 / 69 44
12 2.7 Einfache Ein- und Ausgabe Schon bekannt: Ein Ausgabe-Befehl: System.out.println( Ausgabe und Zeilenumbruch ) System: Automatisch in jedem Java-Programm verfügbare Klasse (Standardbibliothek). out: Instanz der Klasse PrintStream, automatisch in System enthalten, Verknüpft mit Standardausgabe (Bildschirm). Abgewandelte Ausgabe-Befehle: Ausgabe - Tipps System.out.println( Die Zeile ist zuuuuuu + lang. ): Die Zeile ist zuuuuuu lang. int var=1; System.out.println( var= +var+ Okay. ): var=1 Okay. System.out.println(): Zeilenumbruch System.out.print( Ausgabe ): Ausgabe System.out.print( \ n ): Zeilenumbruch Ausgaben sind einfache Mittel zur Suche nach logischen Fehlern: Ausgabe einer Variablen: Hat sie den richtigen Wert? Ausgabe in bestimmter Zeile: Wird das Programm bis hierhin abgearbeitet? 45 / Eingabe 2.8 Import-Anweisung Um eine Eingabe von der zeile einzulesen und in unserem Programm zu verarbeiten, benötigen wir weitere vordefinierte Java-Klassen: BufferedReader, InpuStreamReader: 2 Klassen, um Zeichenketten (gepuffert) einzulesen. System.in: Das Objekt in aus der Klasse System. Ein vorbereitendes Programmstück: BufferedReader in = new BufferedReader ( new InputStreamReader(System.in) ); Eigentlicher Einlese-Befehl: String name = in.readline(); Die beschriebene Eingabe-Klassen, gehören nicht zu den automatisch ansprechbaren Klassen. Sie gehören zum Paket java.io Diese Paket muss explizit im Programmtext angegeben werden, um die Eingabe-Klassen zu verwenden. Alle Elemente dieses Paketes werden mit folgender Anweisung (Importanweisungen) eingebunden: import io.*; 47 / 69 48
13 Import-Anweisung 2.9 Ein Programm mit Ein- und Ausgabe Sogenannte Importanweisungen stehen immer als erstes (außerhalb der Klassendefinition) im Programmtext. Dort werden Sie vom (Prä)prozessor gefunden und verarbeitet. Ziele Eingabe als komplexere Anweisung anwenden können. Import-Anweisung benutzen, da für Eingabe notwendig. Erste Ausnahme/Exception. Erste Verwendung einer Variable. 49 / Ein Grussprogramm I: Greets.java Ein Grussprogramm I: Greets.java 1. /* Programmierkurs WS0708 AFS RS, BE, AS */ 2. import java.io.*; 3. public class Greets 4. { 5. public static void main(string[] args) 6. throws IOException 8. BufferedReader in = new BufferedReader 9. ( new InputStreamReader(System.in) ); 10. System.out.println( What s your name? ); 1. /* Programmierkurs WS0708 AFS RS, BE, AS */ 2. import java.io.*; 3. public class Greets Import-Anweisung vor Klassendefinition! 4. { 5. public static void main(string[] args) 6. throws IOException 8. BufferedReader in = new BufferedReader 9. ( new InputStreamReader(System.in) ); 10. System.out.println( What s your name? ); 51 / 69 52
14 Ein Grussprogramm I: Greets.java Ein Grussprogramm I: Greets.java 1. /* Programmierkurs WS0708 AFS RS, BE, AS */ 2. import java.io.*; 3. public class Greets 4. { 5. public static void main(string[] args) 6. throws IOException Ausnahme: Fehlerbehandlung Wird 8. BufferedReader in = new BufferedReader bei Verwendung der 9. ( new InputStreamReader(System.in) Eingabe- Klassen ); 10. System.out.println( What s verlangt your(später). name? ); 1. /* Programmierkurs WS0708 AFS RS, BE, AS */ 2. import java.io.*; 3. public class Greets 4. { 5. public static void main(string[] args) 6. throws IOException Lange Befehle: 2-zeilig und eingerückt. 8. BufferedReader in = new BufferedReader 9. ( new InputStreamReader(System.in) ); 10. System.out.println( What s your name? ); 53 / Grussprogramm II Grussprogramm II Einlesen in Variable name vom Typ String. 1. // Tastatureingabe einlesen! 2. String name = in.readline(); 3. System.out.println(); 4. System.out.println( Buon Giorno, + name); 5. } 6. } 1. // Tastatureingabe einlesen! 2. String name = in.readline(); 3. System.out.println(); 4. System.out.println( Buon Giorno, + name); 5. } 6. } 55 / 69 56
15 Grussprogramm II Grussprogramm II 1. // Tastatureingabe einlesen! 2. String name = in.readline(); 3. System.out.println(); 4. System.out.println( Buon Giorno, + name); 5. } 6. } What s your name? 1. // Tastatureingabe einlesen! 2. String name = in.readline(); 3. System.out.println(); 4. System.out.println( Buon Giorno, + name); 5. } 6. } What s your name? Nemo 57 / Grussprogramm II 1. // Tastatureingabe einlesen! 2. String name = in.readline(); 3. System.out.println(); 4. System.out.println( Buon Giorno, + name); 5. } 6. } What s your name? Nemo Buon Giorno, Nemo 59 / 69
Einstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
Einstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 2.0 Einfache Java Programme Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.0 Einfache Java Programme Struktur Namen Output 2 Graphische Darstellung
Kapitel 3. Programmierkurs. Arten von Anweisungen. 3.1 Was sind Anweisungen?
Kapitel 3 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln Anweisungen, Variablen Arten von Anweisungen Variablen Konstanten Höchste Zeit für ein Programm Gültigkeitsbereich von Variablen
5 Grundlagen der Java-Syntax
5 Grundlagen der Java-Syntax Es sollen nun einige Grundregeln besprechen, die in jeder Java-Programmdatei berücksichtigt werden müssen. 5.1 Grundsätzliches zur Syntax von Java Programmen Zunächst sollten
Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen
Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für
Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29
Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente
Grundlagen der Modellierung und Programmierung, Übung
Grundlagen der Modellierung und Programmierung Übung Prof. Wolfram Amme LS Softwaretechnik Prof. Klaus Küspert LS Datenbanksysteme Prof. Birgitta König-Ries LS Verteilte Systeme Prof. Dr. Wilhelm Rossak
Java Lexikalische Struktur
Informatik 1 für Nebenfachstudierende Grundmodul Java Lexikalische Struktur Kai-Steffen Hielscher Folienversion: 19. Dezember 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel
Java-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
1. Der Einstieg in Java. Was heißt Programmieren?
1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen und ausführen können, Möglichkeiten der Kommentierung
Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel
Java für Anfänger Teil 2: Java-Syntax Programmierkurs 11.-15.10.2010 Manfred Jackel 1 Syntax für die Sprache Java public class Welcome { } Schlüsselworte Reservierte Worte Keywords Wortsymbol Syntax: griech.
Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel
Java für Anfänger Teil 2: Java-Syntax Programmierkurs 06.-10.10.2008 Manfred Jackel 1 Syntax für die Sprache Java public class Welcome { } Schlüsselworte Reservierte Worte Keywords Wortsymbol Syntax: griech.
Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015
Java Crashkurs Kim-Manuel Klein ([email protected]) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
Programmieren I + II Regeln der Code-Formatierung
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden
Programmieren I + II Regeln der Code-Formatierung
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2012/2013, SS 2013 Programmieren I + II Regeln der Code-Formatierung Die hier vorgestellten
3. Java - Sprachkonstrukte I
Namen und Bezeichner Ein Programm (also Klasse) braucht einen Namen 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken,
II.1.1. Erste Schritte - 1 -
! 1. Grundelemente der Programmierung! 2. Objekte, Klassen und Methoden! 3. Rekursion und dynamische Datenstrukturen! 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1
Übungen zur Vorlesung Wissenschaftliches Rechnen I
Übungen zur Vorlesung Wissenschaftliches Rechnen I Nicolas Gauger, René Lamour, Hella Rabus Wintersemester 2007/2008 Programmierung - Einführung Programmierung - Einführung Berechnung einer Formel y =
1. Der Einstieg in Java
1. Der Einstieg in Java Was heißt Programmieren? 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen
Aufgabenblatt 1: - Präsenzübung für die Übungen Do Mi Ausgabe Mi
Grundlagen der Programmierung 1 WS 2012/2013 Prof. Dr. Stefan Böttcher Aufgabenblatt 1: - Präsenzübung für die Übungen Do. 11.10.- Mi. 17.10.2012 Ausgabe Mi. 10.10.2012 1.1. Zahlen vertauschen mit wenigen
Übungsblatt 1. Java Vorkurs (WS 2017)
Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die
Java - Programmierung - Prozedurale Programmierung 1
Java - Programmierung - Prozedurale Programmierung 1 // elementare Datentypen public class el_dt public static void main(string args []) byte b = 127; short s = 32767; int i = 2147483647; long l = 9223372036854775807L,
3. Java - Sprachkonstrukte I
Lernziele 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken, Typkonversionen Sie kennen die grundlegensten Bausteine
3. Java - Sprachkonstrukte I
84 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken, Typkonversionen Namen und Bezeichner 85 Ein Programm (also Klasse)
MiniJava-Sprachbericht Version 3.1
MiniJava-Sprachbericht Version 3.1 Matthias Braun Jürgen Graf 26. April 2010 1 Einleitung MiniJava ist eine Untermenge der Programmiersprache Java. Daher können Programme in MiniJava von jedem Java Übersetzer
Einführung in die Programmierung
Einführung in die Programmierung by André Karge Übung - Operatoren, Methoden, Primitives 25. Oktober 2018 Einführung in die Programmierung WS18/19 André Karge 1/29 Notizen Standard Linux Befehle: http://images.linoxide.com/linux-cheat-sheet.pdf
Repetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert
Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein ([email protected].
Java Crashkurs Kim-Manuel Klein ([email protected]) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
Einführung in die Programmierung. 2.1 Methoden. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung 2.1 Methoden Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.0 Einfache Java Programme 2.1 Methoden Struktur 2.2 Typen und Variable Einfache (eingebaute)
Methoden und Wrapperklassen
Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)
Funktionales C++ zum Ersten
Funktionales C++ zum Ersten WiMa-Praktikum 1, Teil C++, Tag 1 Christoph Ott, Büro: Helmholtzstr.18, E22 Tel.: 50-23575, Mail: [email protected] Institut für Angewandte Informationsverarbeitung 26.08.08
Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
Martin Unold INFORMATIK. Geoinformatik und Vermessung
Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen
Vorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
Einführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen
Themen der Übung 1 Organisatorisches Methoden und Wrapperklassen 2 Methoden 3 Wrapper-Klassen CoMa-Übung IV TU Berlin 07.11.2012 Organisatorisches: Im Pool nur auf die Abgabeliste setzen, wenn ihr wirklich
Primitive Datentypen
Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.
Klassenvariablen, Klassenmethoden
Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden
Ausnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Fehlerarten Bei der Programmierung können viele Arten von Fehlern auftreten:
Informatik I - Einstiegskurs
Informatik I - Einstiegskurs Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik Basiert auf dem Einstiegskurs im Wintersemester 2009/10 von Markus Osterhoff Wintersemester 2012/13
C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services
C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften
Übungen Informatik I. JAVA - Einführung. elga Gabler, Holger Vogelsang, Christian Pape. Übungen Informatik 1 Folie 1
Übungen Informatik I JAVA - Einführung Übungen Informatik 1 Folie 1 Warum Java? Java ist derzeit die Programmiersprache für das Internet. Java ist ein Programmierkonzept der Zukunft. Objekt-orientierte
Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1
Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur
Programmierung. Grundlagen. Tina Wegener, Ralph Steyer. 2. Ausgabe, 1. Aktualisierung, April 2014
Programmierung Tina Wegener, Ralph Steyer 2. Ausgabe, 1. Aktualisierung, April 2014 Grundlagen PG 6 Programmierung - Grundlagen 6 Grundlegende Sprachelemente In diesem Kapitel erfahren Sie was Syntax und
Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke
Java 1 Markus Reschke 06.10.2014 Überblick Einführung in die Programmierung zur Vereinfachung des Einstiegs ins Studium Erstellung von ausführbaren Programmen für den Computer Denk- und Vorgehensweisen
Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.
Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit
Einführung in die C-Programmierung
Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).
Einstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
Vorkurs Informatik WiSe 17/18
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann
Erste Schritte zum lauffähigen Java-Programm
Erste Schritte zum lauffähigen Java-Programm Diese kleine Einführung ist eine Hilfe für Studenten der Vorlesung SWT I zur Meisterung der sich ergebenden Hürden bei der Erstellung eines ersten kleinen Javaprogramms.
Ausdrucksbäume in verschiedenen Darstellungen
Ausdrucksbäume in verschiedenen Darstellungen SWE-42 Infix mit notwendigen Klammern: (a + b) / (c - d) Infix vollständig geklammert: (((a) + (b)) / ((c) - (d))) Postfix a b + c d - / Präfix / + a b - c
JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
Java für Anfänger Teil 4: Anweisungen. Programmierkurs Manfred Jackel
Java für Anfänger Teil 4: Anweisungen Programmierkurs 11.-15.10.2010 Manfred Jackel Anweisungen Werzuweisung (hatten wir schon) Verzweigung Fallunterscheidung Schleifen Methodenaufruf Wiederholung: Klassendeklaration
Java I Vorlesung Imperatives Programmieren
Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.
1. Der Einstieg in Java
1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels wirst Du wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme ü bersetzen und ausfü hren kö nnen, Mö glichkeiten der Kommentierung
Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik
Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen
AuD-Tafelübung T-B5b
6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit
hue12 January 24, 2017
hue12 January 24, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern
Erste Java-Programme (Scopes und Rekursion)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: [email protected] Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
Handbuch konsultieren!
Zeichenketten Klasse String Enthält zahlreiche Methoden z.b.: int length(): Anzahl der Zeichen in Zeichenkette String substring(int start): Unterzeichenkette ab Position start boolean equalsignorecase(string
Vorkurs Informatik WiSe 17/18
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017
Einstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4
JAVA 06: Gemischte einfache Fragen zu Java
Lernkartenkurs JAVA 06: Gemischte einfache Fragen zu Java panitz Zusammenfassung In diesem Kurs geht es um Terminologie und Grundzüge der Programmiersprache Java. Dieses betrifft sowohl Aspekte der Programmierung
3 Grundstrukturen eines C++ Programms anhand eines Beispiels
3 Grundstrukturen eines C++ Programms anhand eines Beispiels 3.1 Einige Grundbegriffe Mit Hilfe eines Programmes wird dem Computer mitgeteilt, wie er eine bestimmte Aufgabe bearbeiten soll. Es besteht
Javakurs für Anfänger
Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1
Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................
Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
2 Programmieren in Java I noch ohne Nachbearbeitung
1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe
Einführung in Java. Ausgewählte Quellen zu Java
Einführung in Java Wesentliche Eigenschaften und Merkmale der Programmiersprache Java Prof. Dr. Stefan Böttcher Universität Paderborn im Rahmen der Vorlesung: Webbasierte Informationssysteme SS 2004 Einführung
Java. CoMa-Übung II TU Berlin. CoMa-Übung II (TU Berlin) Java / 28
Java CoMa-Übung II TU Berlin 24.10.2012 CoMa-Übung II (TU Berlin) Java 24.10.2012 1 / 28 Themen der Übung 1 Java-Installation 2 Hello World 3 Temperature CoMa-Übung II (TU Berlin) Java 24.10.2012 2 / 28
Primitive Datentypen. Dr. Wolfgang Süß Thorsten Schlachter
Dr. Wolfgang Süß Thorsten Schlachter Java-Bezeichner Für Variablen, Methoden, Klassen und Schnittstellen werden Bezeichner auch Identifizierer (von engl. identifier) genannt vergeben. Ein Bezeichner ist
Grundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
