Programmieren in Java
|
|
- Carsten Böhmer
- vor 7 Jahren
- Abrufe
Transkript
1 Einführung in die (imperative) Programmierung
2 2 Programmierung Wunsch: Ein Zielsystem soll eine bestimmte Aktion ausführen Zielsystem: Eine Plattform wie Windows oder MacOS oder auch ein bestimmter Prozessor Aktion: Addiere zwei Zahlen Gebe einen Text auf dem Bildschirm aus Sende Daten (an einen Drucker, über Netzwerkverbindung,...)... Problem: Wie verständigt man sich mit dem Zielsystem Antwort: Maschinensprache
3 3 Maschienencode Ein Text geschrieben in der Sprache einer Maschine Ein Satz in Maschinencode besteht aus Folge von Nullen und Einsen beispielhaft Er beinhaltet den Befehl (Opcode) sowie evtl. Daten Sätze haben eine von der Maschine abhängige Maximallänge (hier: 8 Bit (1 Bit = 0/1)) Ein oder mehrere Sätze zusammen ergeben ein Programm Maschinencode als Kommunikationsmittel ungeeignet: Schwierig zu schreiben und ohne weitere Informationen schwer zu lesen Unterschiedlicher Sprachumfang einzelner Zielsysteme Gleiche Reihenfolge von Nullen und Einsen kann auf verschiedenen Zielsystemen zu verschiedenen Ergebnissen führen
4 4 Assembler mnemonische Symbole (Mnemonics) für mehr Lesbarkeit: movb $0x61, %al Mnemonic movb : Der hexadezimal Wert 0x61(= 97 dezimal) soll in das untere (l = low) Ende des Registers (grob: Speicherbereich) a geschoben werden Nicht ideal, aber brauchbar Heute noch von Bedeutung: Performance Das Zielsystem versteht den mnemonischen Code nicht Er muss in Maschinencode übersetzt werden Das Übersetzungsprogramm wird Assembler genannt movb $0x61, %al Assembler Quelle:
5 5 Compiler Übersetzt Code einer bestimmten Sprache in eine andere Sprache Der ursprüngliche Programmcode: Source-Program Der übersetzte Programmcode: Object-Program Source Object movb $0x61, %al Den Übersetzungsprozess bezeichnet man als Compilieren Der Compiler überprüft jeden Satz auf den richtigen Satzbau Falscher Satzbau führt zu einem Compile-Fehler Nur nach erfolgreichem Compilieren, kann das Programm auf dem Zielsystem ausgeführt werden Ausführen auf einem anderen Zielsystem ist nicht ohne weiteres möglich Vgl. Windows-Programme MacOS-Programme Ein Assembler ist demnach ein Compiler
6 6 Interpreter Laufzeit: Zeit, in der das Zielsystem das Object-Program ausführt Compiler: Object-Program wird vor dem Ausführen compiliert Interpreter: Source-Program wird zur Laufzeit analysiert, übersetzt (Object-Program) und dann ausgeführt Nachteil: Interpreter muss zum Ausführen mitgeliefert werden oder bereits vorhanden sein Analyse und Übersetzen zur Laufzeit kostet eben diese Vorteil: Compilezeit entfällt Interpreter eignen sich hervorragend zum Rapid Prototyping
7 7 Übersicht Hohe Programmiersprache Compiler Interpreter Maschinensprache Zielsystem
8 8 Höhere Programmiersprachen Sprache, die fast lesbar von Maschinensprache abstrahiert Die Anzahl solcher Sprachen ist gefühlt kaum noch aufzählbar Sprachen unterscheiden sich nicht nur in verschiedenen Dialekten Verschiedene Philosophien : Imperative Programmiersprachen (C, Pascal) Objekt-orientierte Sprachen (Java, C++, Objective-C) Funktionale Sprache (LISP, Haskell) Deklarative Programmiersprachen (SQL) Logische Sprachen (Prolog) Philosophien können durchaus vermischt werden!
9 9 Wichtig Ob eine Sprache compiliert oder interpretiert wird, ist kein Merkmal der Sprache!
10 10 Java Höhere Programmiersprache Aufgebaut auf dem Paradigma der Objektorientierten Programmierung Wie die meisten OOP-Sprachen aber auch imperativ Angelehnt an C++ Allerdings schlanker Version 1.0 erschien 1996 Mit Version 1.2 (1998) sprach man von Java 2 Version 5.0 (eigentlich 1.5) oder auch Java 5 aus dem Jahr 2004 brachte umfangreiche Änderungen, die sich bis zur Sprache selbst durchschlugen (bspw. Generics, Enums ) Die Versionen 6 (2006) und 7 (2011) brachten kleinere Erweiterungen Version 8 (März 2014) machte mit Closures wieder ein größeren Schritt in der Evolution der Sprache
11 11 Bytecode Ein Programm soll auf verschiedenen Zielsystemen lauffähig sein Probleme: Woher weiß man, auf welchem System das Object-Program ausgeführt werden wird? Für jedes potentielle System müsste ein Object-Program erzeugt werden Java-Lösung: Bytecode Ein Java-Compiler erstellt nicht Maschinen- sondern Bytecode Das JRE (Java Runtime Environment) ist eine virtuelle Maschine, die Bytecode versteht JRE nötig um Java-Programm überhaupt ausführen zu können Bytecode wird von der virtuellen Maschine für das jeweilige Zielsystem interpretiert
12 12 Just-In-Time Compiler Ist Java langsam, weil Bytecode interpretiert wird? Mit Java 2 wurde der Just-In-Time Compiler (HotSpot) eingeführt: Häufig wiederkehrende Programmabschnitte werden zur Laufzeit erkannt und dann zu Maschinencode des jeweiligen Zielsystems übersetzt Im nächsten Zyklus wird die Code-Einheit nicht mehr interpretiert, sondern der bereits fertig compilierte Maschinencode ausgeführt Für die Code-Einheiten können zum Teil Optimierungen vorgenommen werden, zu denen normale Compilier nicht in der Lage wären (Stichworte: Dynamische Optmierung oder Closed World-Annahme )
13 13 Übersicht: Java Java Compiler Bytecode JRE Just-In-Time Interpreter Maschinensprache
14 14 Wichtig Vorheriges Schaubild zeigt den gängigen Java-Ansatz. In diesem wird ein Java-Programm also compiliert und interpretiert! Aber nach Folie 8: Das ist keine Eigenschaft der Sprache Java, sondern Konvention im Umgang mit in Java geschriebenen Code!
15 15 Satzbau Jeder Satz einer Sprache kann unterteilt werden in kleinere Bausteine Klassische Satzlehre: Subjekt Prädikat Objekt Begriffe: Syntax: Regeln, nach denen ein beliebiger Satz Teil einer Sprache ist Compiler/Interpreter versteht nur syntaktisch korrekte Sätze Semantik: Bedeutung/Aussage eines Satzes der Sprache Compiler/Interpeter kann den Sinn eines Satzes nicht feststellen Token: Ein Baustein eines Satzes Separator : Trennzeichen, welche die Bausteine eines Satzes separieren Es kann bestimmte Zeichen zur Auszeichnung eines Satzendes geben Es gibt Trennzeichen mit Semantik (z.b. Klammern in math. Ausdrücken)
16 16 Token Tokens lassen sich in die folgenden Kategorien unterteilen: Bezeichner: Das Token besteht aus Buchstaben eines zuvor definierten Alphabets (bspw.: A-Z und 0-9) und stellt einen Name dar, dessen Bedeutung sich aus dem Kontext des Codes ergibt Literal: Ein Literal ist ein konstanter also unveränderbarer Ausdruck, bspw. eine Zahl Schlüsselwort: Schlüsselwörter sind die Pfeiler aller Sprachkonstruktionen und damit das Fundament einer Sprache Operator: Operatoren sind Vorschriften zur Verarbeitung einer bestimmten Anzahl von Operanden (analog zur Mathematik, bspw. + für die Addition zwei Zahlen) Auch Separatoren werden zumeist als Tokens eingestuft
17 17 Tokens in Java Bezeichner: ZEICHEN=A... Z a... z _ $ ( == oder) ZIFFER= BEZEICHNER=<ZEICHEN>,{ZEICHEN ZIFFER} ({ } == optional) myvariable my_variable myvariable_2 2_variable!&variable variable!_2 Literale: Boolesch (eine Ausgabe betreffend): true, false Ganzzahlig: 1, 27, 37, 1000 Gleitkomma: , Zeichen: 'A', '0' Zeichenketten: "Hello World" // Apostroph // Anführungszeichen Separatoren: ; Satzende, Aufzählung { } Code-Block () Klammerung (Operatoren, Methoden-Signatur, Methoden-Aufruf)
18 18 Tokens in Java II Schlüsselwörter: abstract default for package synchronized assert do if private this boolean double implements protected throw break else import public throws byte enum instanceof return transient case extends int short true catch false interface static try char final long strictfp void class finally native super volatile continue float new switch while const goto
19 19 Tokens in Java III Operatoren: Mathematsich = Zuweisung + Addition - Subtraktion * Multiplikation / Division % Modulo ++ Inkrement -- Dekrement Boolesch! Negation == Vergleich!= Nicht-Gleich > Größer < Kleiner >= Größer-Gleich <= Kleiner-Gleich instanceof Typ-Check && Logisch-Und Logisch-Oder?: Falls Ansonsten Bitweise ~ Bit-Komplement << Shift-Links >> Shift-Rechts >>> " (unsigned) & Bit-Und Bit-Oder (inklusiv) ^ Andere Bit-Oder (exklusiv) [] Index-Operator. Dereferenzierung Jeder Operator hat eine Priorität (vgl. Punkt vor Strich -Rechnung)
20 20 Beispiel (Java-Code) Zuweisung eines einfachen konstanten Wertes: mynumber = 27 ; Bezeichner Operator Literal Separator Syntax: Der Operator = erwartet auf der linken Seite einen Bezeichner sowie rechts einen Wert Regel: Der Bezeichner muss dem Bezeichner-Alphabet entsprechen Der Wert rechts muss zu mynumber passen (Datentypisierung, Vorlesung 2) Das Satzende muss durch ein ; markiert werden Semantik: Bis zur nächsten Zuweisung steht mynumber im Programmcode für 27
21 21 Werte und Ausdrücke Ein Ausdruck ist ein Teilsatz, der einen Wert beschreibt und kann somit überall dort verwendet werden, wo die Syntax einen Wert erwartet mynumber = 27 ; Erste Zuweisung mynumber = mynumber * ; Zweite Zuweisung Wert ; Ausdruck ; Ausdruck + Wert ; Wert * Wert + 1 ; Bezeichner * ; 27 * ; mynumber == 1000
22 22 Das erste Programm Klassischerweise immer Hello World Ein Programm, dass die Zeile Hello World ausgibt Als Ausgabe wird hier die Eingabeaufforderung/Konsole gewählt Was wird benötigt? Compiler, um das Source-Program zu Bytecode zu übersetzen JRE zum Ausführen des Bytecodes Oracel bietet unter dem Kürzel JDK (Java Development Kit) alles nötige
23 23 Das erste Programm Leider macht Java es dem Anfänger nicht einfach Für die simple Hello World Ausgabe ist viel Boilerplate Code nötig class MyProgram { public static void main(string[] args){ System.out.println("Hello World"); } } Der Code muss in einer Datei mit folgender Namenskonventionen stehen: Dateiname: Gleich der Angabe nach dem Schlüsselwort class Dateiendung:.java Hier: MyProgram.java Compilieren des Programmes: Ausführen des Object-Program: Falls Classpath nicht gesetzt: javac MyProgram.java java MyProgram java cp. MyProgram
24 24 Das erste Programm: Tokens class MyProgram { public static void main(string[] args){ System.out.println("Hello World"); } } Kategorie Schlüsselwort Bezeichner Tokens Operator [],. Separator {, (, ), ;, } Literal class, public, static, void, MyProgram, main, String, args, System, out, println "Hello World" Bezeichnerkonventionen (Erinnerung: kein Leerzeichen in Namen): Klassennamen: Erster Buchstabe eines jeden Wortes groß ( UpperCamelCase ) Variablen/Methoden/Attribute: aller erster Buchstabe klein ( lowercamelcase )
25 25 Code-Blöcke Da Sätze in Java mit einem ; beendet werden, ergibt sich: Der Hello World -Code enthält genau einen Satz: System.out.println("Hello World"); In Java öffnen/schließen geschweifte Klammern sogenannte Code-Blöcke class MyProgram { public static void main(string[] args){ Block I Block II System.out.println("Hello World"); } } Alles vor der {-Klammer bis zum letzten Semikolon/Block gehört zum Block Blöcke enthalten Sätze Blöcke können geschachtelt werden Konvention: Der Inhalt eines Blockes wird eine Tab-Stufe weiter eingerückt
26 26 Code-Blöcke II class MyProgram { public static void main(string[] args){ Block I Block II } } System.out.println("Hello World"); Die Semantik eines Blockes ergibt sich aus dem Teil vor { Block I class MyProgram { } Definiert eine Klasse (class) mit dem angegeben Namen (MyProgram) Block II public static void main(string[] args){ } Definiert eine statische (static), öffentliche (public) Methode, mit dem angegeben Namen (main), die Daten des Typs void zurückliefert und als Eingabe ein Datum vom Typ String[] erwartet
27 27 Code-Blöcke III Was passiert innerhalb des zweiten Blockes System.out.println("Hello World"); Wie bereits aufzeigt sind System, out und println Bezeichner System beginnt groß, sollte (nach Namenskonvention) also eine Klasse sein out/println beginnen klein und sollten daher Methode/Variable oder Attribut sein Der Satz endet mit dem geklammerten Literal "Hello World" Klammerung nach einem Bezeichner: println Methodenaufruf Alles innerhalb der Klammerung: Parameter zum Aufruf der Methode (vgl. math. Funktion) out beginnt klein und endet ohne Klammerung Attribut System beginnt groß Klasse Alle drei Bezeichner werden mit dem.-operator konkateniert Semantik insgesamt: Rufe die Methode println der zur Klasse System gehörenden Variablen out mit dem Literal "Hello World" auf Ergebnis: Hello World wird in der Eingabeaufforderung ausgegeben
28 28 Das erste Programm: Das eigentlich simple Hello World Programm beinhaltet demnach: Eine Klassendefinition Eine Methodendefinition Den Punkt-Operator (mehrfach) Einen Methodenaufruf Arrays bzw. []-Operator Kurzum: Nichts davon wurde diese Vorlesung eingehend besprochen Man kann nach einer Vorlesung Hello World nicht verstehen Zu merken für die nächsten Vorlesungen: Es wird eine Klasse benötigt, die den gleichen Namen trägt wie die Datei, in der sie definiert ist Alles innerhalb des main-blockes wird ausgeführt Mit System.out.println(AUSDRUCK); wird alles in Ausdruck beschriebene auf der Konsole ausgegeben
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
MehrProgrammieren in Java
Einführung in die (imperative) Programmierung 2 Programmierung Ziel: Zielsystem soll eine bestimmte Aktion ausführen Zielsystem: Eine Plattform wie Windows oder MacOS oder ein bestimmter Prozessor Aktion:
Mehr3. 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,
MehrEinfü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
MehrWo sind wir? Übersicht lexikale Struktur von Java
Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,
MehrJava-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
Mehr1. 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
Mehr5 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
MehrProgrammieren in Java
Einführung in die (imperative) Programmierung 2 Wiederholung Wozu Programmiersprachen? Maschinencode Assembler Compiler Höhere Programmiersprachen Syntax: Programmiersprachen gehorchen einer Grammatik
Mehr1. 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
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
MehrInstitut 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
MehrJava 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.
MehrProgrammieren in Java
Einführung in die (imperative) Programmierung 2 Wiederholung: Allgemein Hohe Programmiersprache Compiler Interpreter Maschinensprache Zielsystem 3 Wiederholung: Java Java Compiler Bytecode JRE Just-In-Time
MehrJava 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.
MehrMiniJava-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
MehrJAVA 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
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage
MehrEinfü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
MehrPrimitive 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.
MehrHello 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
MehrJava 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.
MehrDie Programmiersprache C Eine Einführung
Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert
MehrArbeitsblä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
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile
MehrAusdrücke in Scala. Funktionale Programmierung. Christoph Knabe FB VI
Ausdrücke in Scala Funktionale Programmierung Christoph Knabe FB VI 17.10.2014 Inhalt Einfache Ausdrücke Infix-Notation für Methodenaufruf Sonderzeichen in Bezeichnern Schlüsselwörter Konstanten Variablen
MehrEinführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrProgrammieren 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
MehrVorkurs 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
MehrPrimitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration
Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration CoMa-Übung III TU Berlin 30.10.2013 Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration 30.10.2013 1 /
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrJava - 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,
MehrEmpfehlenswerte Literatur
Empfehlenswerte Literatur 1 Flanagan, David: Java in a Nutshell, O Reilly, UK, 2002 (50 ) Online Referenzen unter http://www.wi3.uni-erlangen.de/lehre/ http://java.sun.com http://www.javaworld.com/ Online
MehrProgrammierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder
Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Tutoraufgabe 1 (Syntax und Semantik): 1. Was ist Syntax? Was ist Semantik? Erläutern Sie den Unterschied. 2.
MehrEinführung in C. EDV1-04C-Einführung 1
Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags
MehrMethoden 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)
MehrProgrammieren in Java
Einführung in die (imperative) Programmierung (Teil 3) 2 Wiederholung (Datentyp) Ein Datentyp beschreibt eine Menge von Werten der gleichen Art Der Datentyp legt zudem fest, welche Operationen auf seinen
MehrNeben 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
MehrJava: Eine kurze Einführung an Beispielen
Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse
MehrProgrammieren 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
MehrEinfü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
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
MehrProgrammieren in Java
Einführung in die (imperative) Programmierung: Methoden 2 Wiederholung: if-else Anweisung int number =?; if ( BEDINGUNG ) { if (number > 0) { SATZ; BLOCK System.out.println("Größer 0"); else { SATZ; BLOCK
MehrAllgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>
Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include int main() { printf( hello world\n ); return 0; } Peter Sobe 1 Verschiedene Sprachkonzepte
Mehr3 Die Programmiersprache Java
3 Die Programmiersprache Java Im letzten Kapitel haben wir die theoretischen Grundlagen der Programmierung diskutiert. Jetzt werden wir mit Java eine konkrete Programmiersprache kennen lernen. Die Sprache
MehrDie einfachsten Anweisungen
2 Die einfachsten Anweisungen 2-1 Inhalt Die einfachsten Anweisungen Einführung Datentypen Arithmetische Operatoren Mathematische Funktionen Mehrfache Zuweisungen Übungsaufgaben Einführung Wir wollen unser
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrII.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 - 1.
Mehr1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH
1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch
MehrFragenkatalog ESOP WS 16/17
Fragenkatalog ESOP WS 16/17 1. Einleitung 1.1 Was ist Programmieren? 1.2 Was ist ein Programm? 1.3 Welche Schritte werden bei der Programmerstellung benötigt? 1.4 Was ist ein Algorithmus? 1.5 Was sind
MehrC# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen
C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Leibniz Universität IT Services Anja Aue Programmabläufe grafisch abbilden
MehrPrimitive 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
MehrEinführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrAuD-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
MehrDas 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
MehrElementare Konzepte von
Elementare Konzepte von Programmiersprachen Teil 1: Bezeichner, Elementare Datentypen, Variablen, Referenzen, Zuweisungen, Ausdrücke Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Bezeichner
Mehr3. Anweisungen und Kontrollstrukturen
3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen
MehrProgrammieren in Java
Zusammenfassung: Imperative Programmierung 2 Wichtige Begriffe Syntax: Regeln nach denen ein beliebiger Satz Teil einer Sprache ist Compiler/Interpreter versteht nur syntaktisch korrekte Sätze Semantik:
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt!! 24.03.2014 ORGANISATORISCHES 09:00-10:30! Täglich Übungen zur Vertiefung! Laptop hier nicht erforderlich! Linux, OS X! Freitag: http://hhu-fscs.de/linux-install-party/
MehrWerkzeuge zur Programmentwicklung
Werkzeuge zur Programmentwicklung B-15 Bibliothek Modulschnittstellen vorübersetzte Module Eingabe Editor Übersetzer (Compiler) Binder (Linker) Rechner mit Systemsoftware Quellmodul (Source) Zielmodul
MehrEinfü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).
MehrRO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
MehrRepetitorium 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
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrEinstieg in die Informatik mit Java
1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,
MehrProgrammieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff
Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Was sind Operatoren Ein Operator ist eine in die Programmiersprache eingebaute Funktion, die
MehrProgrammierung. 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
MehrGrundlagen der Programmierung Teil1 Einheit III Okt. 2009
Grundlagen der Programmierung Teil1 Einheit III - 23. Okt. 2009 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Ausdrücke & Anweisungen
Mehr2 Imperative Sprachkonzepte
2 Imperative Sprachkonzepte Dieses Kapitel beschreibt die imperativen Sprachkonzepte von Java. Insbesondere werden einfache Datentypen, Variablen, Operatoren und Anweisungen zur Ablaufsteuerung (so genannte
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrCS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Einfache Programme: Programm-Argument, Bedingte Anweisungen, Switch, Enum Boolesche Werte und Ausdrücke Seite 1 Beispiel: Umrechnen
MehrSmalltalk vs. Java c Chris Burkert 2002. Smalltalk versus Java
Smalltalk versus Java Gliederung Einführung Geschichte sprachliche Aspekte technische Aspekte theoretische Aspekte praktische Aspekte Fazit Einführung - Merkmale Objektorientierung Einführung - Merkmale
Mehr4.4 Imperative Algorithmen Prozeduren
4.4.2 Prozeduren Der Wert eines Ausdrucks u in Zustand z Z lässt sich damit auch leicht definieren (jetzt W Z statt W σ ) Dazu erweitern wir die rekursive Definition von Folie 57 (Wert eines Ausdrucks):
MehrUrsprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java
Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert
MehrJava. 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
MehrUnterlagen. CPP-Uebungen-08/
Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen
Mehr1. 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
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
MehrÜ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
MehrAnweisungen zur Ablaufsteuerung
Anweisungen zur Ablaufsteuerung if-else switch while do-while for Ausdrücke Ein Ausdruck ist eine Folge von Variablen, Operatoren und Methodenaufrufen, der zu einem einzelnen Wert ausgewertet wird. Operanden
MehrEinstieg in die Informatik mit Java
Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und
MehrDie Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp
Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert
MehrEinführung in die Programmierung Wintersemester 2008/09
Einführung in die Programmierung Wintersemester 28/9 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Darstellung von Information Inhalt Einfache Datentypen
MehrGrundlagen der Informatik 0
Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 2. Einfache Programme
Grundlagen der Programmierung Prof. H. Mössenböck 2. Einfache Programme Grundsymbole Namen bezeichnen Variablen, Typen,... in einem Programm - bestehen aus Buchstaben, Ziffern und "_" - beginnen mit Buchstaben
MehrEinstieg in die Informatik mit Java
Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt 24.03.2014 ORGANISATORISCHES tobias.witt@hhu.de 10:30-12:00 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Aber später in den Übungen!
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 31. März 2009, c 2009 D.Rösner
MehrÜbungs- und Praktikumsaufgaben zur Systemprogrammierung Dipl.-Ing. H. Büchter (Lehrbeauftragter) FH-Dortmund WS 2001/2002 / SS 2002
1. Stellen Sie die schrittweise Verbesserung eines Compilers durch das Bootstrap- Verfahren mit Hilfe von T-Diagrammen dar. Gegeben ist ein auf der Maschine M lauffähiger Compiler C 1, der in S geschrieben
MehrProgrammierung 2. Übersetzer: Das Frontend. Sebastian Hack. Klaas Boesche. Sommersemester
1 Programmierung 2 Übersetzer: Das Frontend Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 Vom Programm zur Maschine Was passiert eigentlich mit unseren
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrSprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg
Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen
MehrInformatik 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
Mehr