Programmieren in Java
|
|
- Andreas Adler
- vor 6 Jahren
- Abrufe
Transkript
1 Einführung in die (imperative) Programmierung
2 2 Programmierung Ziel: 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,...)... Problemstellung: 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 Er beinhaltet den Befehl (Opcode) sowie evtl. Daten Sätze haben eine von der Maschine abhängige Maximallänge (hier: 8Bit) 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 Bits auf verschiedenen Zielsystemen verschieden interpretiert
4 4 Assembler mnemonische Symbole (Mnemonics) für mehr Lesbarkeit: movb $0x61, %al Quelle: Der hexadezimal Wert 61(= 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 Assembler? Der mnemonische Code muss in Maschinencode übersetzt werden Das Übersetzungsprogramm wird Assembler genannt
5 5 Compiler Übersetzt Code einer bestimmten Sprache in eine andere Sprache Der Quellcode: Source-Program Ergebnis: Object-Program Source Object movb $0x61, %al Den Übersetzungsprozess bezeichnet man als Compilieren Der Compiler überprüft jeden Satz den richtigen Satzbau Falscher Satzbau führt zu einem Compile-Fehler Nach dem 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 dem Zielsystem entsprechend compiliert Interpreter: Source-Program wird zur Laufzeit analysiert, übersetzt (Object-Program) und dann ausgeführt Nachteil: Interpreter muss zum Ausführen mitgeliefert werden Analyse und Übersetzung zur Laufzeit kostet eben diese Vorteil: 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 Code-Einheiten 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 Closes 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 die Konvention im Umgang mit Code geschrieben in Java!
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 _ $ ZIFFER= BEZEICHNER=<ZEICHEN>,{ZEICHEN ZIFFER} myvariable my_variable myvariable_2 2_variable!&variable variable!_2 Literale: Boolesch: 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: = Zuweisung + Addition - Subtraktion * Multiplikation! Negation == Vergleich!= Nicht-Gleich > Größer && Logisch-Und Logisch-Oder?: Vergleich ~ Bit-Komplement Bit-Oder (inklusiv) ^ Bit-Oder (exklusiv) / Division < Kleiner << Shift-Links % Modulo >= Größer-Gleich >> Shift-Rechts ++ Inkrement <= Kleiner-Gleich >>> " (unsigned) -- Dekrement instanceof Typ-Check & Bit-Und Jeder Operator hat eine Priorität (vgl. Punkt vor Strich -Rechnung)
20 20 Beispiel (Java-Code) Zuweisung eines einfachen konstanten Wertes: int mynumber = 27 ; <Schlüsselwort Bezeichner> Bezeichner Operator Literal Separator Das Schlüsselwort int steht für den Datentyp ganze Zahlen Syntax: = erwartet auf der linken Seite einen Bezeichner, rechtes einen Wert Wenn ein Datentyp angegeben wird Es darf noch keinen Bezeichner mit gleichem Namen existieren Der Wert rechts muss ein Wert des Datentyps links sein Wird kein Datentyp angeben Der Bezeichner muss bereits existieren Der Wert rechts muss vom Datentyp der ersten Zuweisung sein Semantik: Bis zur nächsten Zuweisung steht mynumber im Programmcode für 27 und für immer für eine ganze Zahl vom Typ int
21 21 Werte und Ausdrücke Eine Konstante ist ein konkreter Wert eines bestimmten Typs Teile eines Satzes, die zusammengenommen einen Wert ergeben, werden als Ausdruck bezeichnet Überall dort wo die Syntax einen Wert erwartet, kann demnach ein Ausdruck definiert werden mynumber = mynumber * ; Bezeichner = Ausruck ; Ausruck Op. Ausruck ; Bezeichner Op. Aus. Op. Aus. ; Bezeichner Op. Lit. Op. Lit. ; Die Auflösung entspricht nicht der Reihenfolge der mathematischen Auswertung!
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 befindet sich in einer Datei mit folgenden Namenskonventionen: Dateiname: Gleich der Angabe nach dem Schlüsselwort class Dateiendung:.java Hier: MyProgram.java Compilieren des Programmes: javac MyProgram.java Ausführen des Object-Program: Falls Classpath nicht selbst gesetzt: 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ß Variablen/Methoden: aller erster Buchstabe klein, ansonsten wie oben
25 25 Code-Blöcke Nach dem bisherigen Wissen enthält der Hello World -Code 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 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ß, muss (nach Namenskonvention) also eine Klasse sein out/println beginnen klein und sind daher entweder Methode/Variable Der Satz endet mit dem geklammerten Literal "Hello World" Klammerung nach einem Bezeichner: Methodeaufruf Alles innerhalb der Klammerung: Parameter zum Aufruf der Methode Bei mehreren jeweils getrennt durch ein Komma 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 Alles innerhalb des main-blockes wird ausgeführt Mit System.out.println(AUSDRUCK); wird alles in Ausdruck beschriebene auf der Konsole ausgegeben
Programmieren in Java
Einführung in die (imperative) Programmierung 2 Programmierung Wunsch: Ein Zielsystem soll eine bestimmte Aktion ausführen Zielsystem: Eine Plattform wie Windows oder MacOS oder auch ein bestimmter Prozessor
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:
MehrEinstieg 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
MehrEinstieg 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
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,
Mehr3. 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)
MehrTeil 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
MehrGrundlagen 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
Mehr3. 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
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,
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
MehrWintersemester 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
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
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
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
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: Allgemein Hohe Programmiersprache Compiler Interpreter Maschinensprache Zielsystem 3 Wiederholung: Java Java Compiler Bytecode JRE Just-In-Time
MehrProgrammieren in Java
Einführung in die (imperative) Programmierung 2 Wiederholung Wozu Programmiersprachen? Maschinencode Assembler Compiler Höhere Programmiersprachen Syntax: Programmiersprachen gehorchen einer Grammatik
MehrVorkurs 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
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
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
MehrJava 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
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
MehrMartin 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
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.
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
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
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.
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.
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
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
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
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
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.
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
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
MehrProgrammiervorkurs Einführung in Java Tag 1
Programmiervorkurs Einführung in Java Tag 1 Sebastian Glutsch SS 2018 namen Inhaltsübersicht Vorkurs Tag 1:,, en,, Einführung Tag 2: Boolesche Ausdrücke,, If-Abfragen, Switch-Case Tag 3: Arrays, (Do-)While-Schleife,
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)
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
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
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
MehrEinfü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
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
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.
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,
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 /
MehrProgrammieren 1 C Überblick
Programmieren C Überblick. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen
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
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
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
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.
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
MehrDie Klasse MiniJava ist in der Datei MiniJava.java definiert:
Die Klasse MiniJava ist in der Datei MiniJava.java definiert: import javax.swing.joptionpane; import javax.swing.jframe; public class MiniJava { public static int read () { JFrame f = new JFrame (); String
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
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.
MehrGedä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
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
MehrEinfü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)
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
MehrÜ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 =
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
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
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
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
MehrVorkurs Informatik WiSe 16/17
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 04.10.2016 Technische Universität Braunschweig, IPS Überblick Organisatorisches Hello! 04.10.2016 Dr. Werner Struckmann / Stephan Mielke,
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
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
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
MehrInhaltsverzeichnis. 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...........................
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
MehrErste Java-Programme (Scopes und Rekursion)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
MehrJavakurs 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
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
MehrInstitut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
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
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
MehrInformatik Vorkurs - Vorlesung 2
Informatik Vorkurs - Vorlesung 2 Variablen, Arrays, Zahlensysteme Torben Achilles, 9. Oktober 2018 Inhalt Variablen & Datentypen Arrays Zahlensysteme 9. Oktober 2018 Torben Achilles Informatik Vorkurs
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/
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
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
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.
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
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
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)
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
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)
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
MehrHello World! Eine Einführung in das Programmieren Variablen
Hello World! Eine Einführung in das Programmieren Variablen Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Wie werden Daten in Programmen gespeichert und manipuliert?
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
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
MehrPROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy
PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion
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
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
MehrProgrammiervorkurs. Wintersemester 2013/2014
Programmiervorkurs Wintersemester 2013/2014 Programmiervorkurs Wintersemester 2013/2014 Organisation: Tutoren: Steffen Gebert, Alexander Wolff Johannes Grohmann, Anna Seufert, Anna Aumann, Nicolas Färber,
MehrEinführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz
Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public
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
Mehr