Let s get started with Java

Größe: px
Ab Seite anzeigen:

Download "Let s get started with Java"

Transkript

1 Let s get started with Java ChriZ 2011 Geschichte: entsteht Java aus der Programmiersprache Oak - Zwischen 1998 und 2011 gibt es insgesamt 6 Updates für Java - die Sprache an sich ist jedoch erst seit 2006 für alle zugänglich und verwendbar Merkmale: - einfache und robust - ähnlich zu C++ oder PHP - komplett objektorientiert - portabler Code -> läuft überall - Standartlibaries und Sprachkonstruktoren, um Arbeit zu sparen Grundlagen: - verschiedene Ausführungen: 1. Java SE: Standart Edition (grundlegende Edition) 2. Java EE: Enterprise Edition (Webanwendungen) 3. Java ME: Micro Edition (Mobilgeräte) - für die Entwicklung mit Java: 1. JDK = Java Development Kit (Für die Entwicklung der Applikationen) 2. JRE = Java Runtime Environment (Für die Ausführung der Applikation) Kapselung: - JVM = Java Virtual Machine sorgt dafür, dass ein Java Programm überall ausgeführt werden kann - Um Quellcode für Verwender des Programms unlesbar zu machen, wird ein Java Code als.java Datei zu einer.class Datei kompilliert. Der Compiler nennt sich javac. - Um nun eine Applikation auszuliefern muss die.class Datei jedoch noch einmal durch den jar Compiler zu einer.jar Datei - Durch die Kompillierung bleibt also das Quellcode-Geheimnis bewahrt Klassen: - Da Java durch und durch objektorientiert ist, muss bei der Arbeit mit Java immer zunächst eine neue Klasse angelegt werden. - Der Name der Klasse muss dem Namen der Datei entsprechen (!) (Zum Thema Klassen später mehr)

2 Entwicklungsumgebungen: - Für das Schreiben in Java verwenden Entwickler für gewöhnlich eine bestimmte Entwicklungsumgebung (IDE) - Eine IDE weist den Programmierer während dem Schreiben des Codes auf mögliche Fehler hin - Es gibt verschiedene IDEs, darunter: Eclipse NetBeans Intell, J IDEA Oracle JDevelopers Nachdem wir nun mehr oder weniger allgemeine Dinge zu Java dokumentiert haben, können wir nun mit den richtigen Grundlagen der Programmierung beginnen. Kommentare in einem Script: Um einen Code für Kollegen oder Freunde übersichtlich zu gestalten, verwendet man Kommentare im bestehenden Code, die meistens bestimmte Abschnitte beschreiben oder Informationen über die Denkweise geben sollen. Die Kommentare werden dabei vom Compiler nicht berücksichtigt und nicht als Code gesehen. Grundlegend gibt es zwei wichtige Möglichkeiten, Kommentare zu verwenden: - Einzeilige Kommentare: Diese können genau eine Zeile lang sein und beginnen mit // - Mehrzeilige Kommentare: Diese können beliebig lang sein und beginnen mit einem /* und enden mit */ Variablen: Der Begriff Variable ist mit einem Grundwissen in Mathematik selbsterklärend. Zunächst ist es notwendig, die Begriffe Deklaration und Definition bei der Verwendung von Variablen zu kennen. - Die Deklaration bezeichnet die Bekanntgabe einer Variable in einem Code für die spätere Verwendung Form: <Datentyp> <Name der Variable>; int i; - Die Definition hingegen beschreibt die Wertzuweisung einer Variable nach oder genau während der Deklaration. Die Wertzuweisung geschieht über ein einfaches = Zeichen

3 Form1 (nach Deklaration): <Name der Variable> = <Wert>; i = 2; Form 2 (während Deklaration): <Datentyp> <Name der Variable> = <Wert>; int a = 10; - An dieser Stelle ein wichtiger Hinweis: Das Zeilenende eines Ausdrucks, wie eine Variablenoperation muss immer durch ein Semikolon ; gekennzeichnet werden - Der Name bei der Deklaration bzw. der Variablenname darf mit einem Buchstaben oder einem Unterstrich anfangen. Alles andere ist nicht zulässig. int MeinAlter; ist möglich int _Day_a_Year; ist möglich int 555_Affe; ist nicht möglich -> Fehler - Des Weiteren möchte ich betonen, dass die Variablen case-sensitiv sind das heißt, dass zwischen Groß- und Kleinschreibung unterschieden wird, int DeinAlter; ist nicht int deinalter; - Variablendeklarationen sollten zudem keine Umlaute enthalten, auch wenn Java dies durch den Zeichensatz UTF-16 ermöglicht Datentypen: In den bisherigen Beispielen haben wir bereits den Datentyp int verwendet, was ein ganzzahliger Datentyp ist. Es gibt jedoch noch viele weitere Datentypen: - boolean ist der Wahrheitswert, der wahr (true) oder falsch (false) zurückgeben kann - Dieser Typ belegt 1 Bit Speicher - byte (Ganzzahl) mit einer Darstellungsgröße von -127 bis 128 und 1 Byte (= 8 Bit) Speichergröße - short (Ganzzahl) mit einer Darstellungsgröße von bis und 2 Byte (= 16 Bit) Speichergröße - int (Ganzzahl) mit einer Darstellungsgröße von ca. 2 Mrd und 4 Byte (= 32 Bit) Speichergröße - long (Ganzzahl) mit einer Darstellungsgröße von ca. 9 Trio und 8 byte (= 64 Bit) Speichergröße - float (Gleitkommazahl) mit 7 Stellen Genauigkeit und einer Speichergröße von 4 Byte - double (Gleitkommazahl) mit 15 Stellen Genauigkeit und einer Speichergröße von 8 Byte

4 - char (Zeichentyp) mit 16 Bit Speichergröße und UTF-16 Zeichensatz - string (Zeichentyp) mit mehr als einem Zeichen (also Zeichenkette) und UTF-16 Zeichensatz Arrays: Ein Array ist ein eher besonderer Datentyp, der mehrere Werte eines Typen zusammenfasst. Dadurch wird Deklarationsarbeit erspart. Man kann ein Array mit einem Schrank mit einer bestimmten Anzahl an Schubladen vergleichen. Ein Array steht in der Form: <Typ> [] <Name der Variable>; char [] a; Die Wertzuweisung eines Arrays, kann u.a. so passieren: char [] a; // Deklaration a = e, w, e ; // Zuweisung der Elemente in geschweiften Klammern Um auf ein bestimmtes Element des Arrays zuzugreifen, sprechen wir es über den Index an. Der Index ist die Stelle, an der das Element im Array steht. Die Indexzählung beginnt jedoch mit dem ersten Element nicht bei 1 sondern bei 0. a[0]; // Zugriff auf Element 0 also e a[1]; //Zugriff auf Element 1 also w

5 Typumwandlungen: Wir unterscheiden bei der Typumwandlung in Java zwischen der impliziten und der expliziten Umwandlung. Implizite Umwandlung: Die implizite Umwandlung erfolgt automatisch durch den Compiler. Bei Ausdrücken (z.b. Addition) wird immer vom größeren Datentyp ausgegangen. Bei der Addition würde nun der Compiler davon ausgehen, dass die Summe größer als die Maximalgröße des Typen ist, daher wird hier nun die Promotion angewandt die Umwandlung in den nächstgrößsten Datentyp: short s1 = 1; short s2 = 2; short s3 = s1 + s2; Bei diesem Beispiel würde die IDE oder der Compiler nun also meckern, da die Summe der beiden short Variablen eigentlich der nächstgrößere Typ sein muss. Daher verändern wir nun short s3 in int s3. short s1 = 1; short s2 = 2; int s3 = s1 + s2; // Und schon ist das Problem gelöst Explizite Umwandlung: Diese Umwandlung erfolgt nun nichtmehr automatisch sondern nach Bedarf vom Programmierer. Hat man eine Variable und will diese explizit umwandeln, so muss der Umwandlungstyp in runden Klammern von den Namen der Variable gesetzt werden. int i = 15; (short)i; //Umwandlung von int I in short i Es bleibt jedoch zu beachten, dass bei solchen Typumwandlungen ein Datenverlust aufkommen kann, z.b. wenn man eine Gleitkommazahl in eine Ganzzahl umwandeln möchte.

6 Operatoren: Arithmetische Operatoren (z.b. die Grundrechenarten) + (Addition) - (Subdraktion) * (Multiplikation) / (Division) Modulo Operator Der % Operator ist der Modulo Operator. Dieser gibt den Rest einer Division zurück- 5/2 = 2 REST 1 Also -> a = 5%2; //a wäre 1 Inkrement/Dekrement ++ bdeutet bdeutet -1 int a = 5; int b = 8; a++; //a wird um 1 erhöht und ist 6 b--; //b wird um 1 erniedrigt und ist 7 Verbundoperatoren += WERT; addiert zu Variable einen Wert -= WERT; subtrahiert von der Variable einen Wert *= WERT; multipliziert die Variable um einen bestimmten Wert /= WERT; teilt Variable durch einen bestimmten Wert %= WERT; gibt den Rest aus einer Division mit angegebenem Wert zurück int i = 5; int b = 6; i += 10; //i wird um 10 erhöht b *= 3; //b wird mit 3 multipliziert

7 Relationale Operatoren Dies sind Vergleichsoperatoren, die besonders bei if-else Abfragen zum Zuge kommen. Gleich: == Ungleich:!= Größer: > Größer oder gleich: >= Kleiner: < Kleiner oder gleich: <= Negierung eines Ausdrucks:! Logische Operatoren Diese Operatoren verbinden häufig Bedingungen bei Abfragen und sind oft mit den relationalen Operatoren zu verwenden. a oder b: a b short-circuit: a und b: a & b short-circuit: &&

8 Blöcke: Ein Block wird durch eine öffnende geschweifte Klammer begonnen und durch eine schließende geschweifte Klammer beendet. Innerhalb eines solchen Blocks können verschiedene Anweisungen stehen. Auch Klassen und Methoden sind Blöcke (dazu später mehr). Man kann Blöcke in Blöcken verschachteln, was die Klassen und Methoden veranschaulichen. Klasse Methode Es ist nicht zwingend notwendig, aber dennoch empfohlen, Blöcke und Anweisungen auf ein Niveau einzurücken, um eine bessere Lesbarkeit zu erzielen. Werden Variablen innerhalb eines Blocks deklariert und definiert, sind sie nach dessen Verlass nichtmehr verwendbar sie sind nur lokal im Block nutzbar, weshalb man sie auch lokale Variablen nennt. int j = 80; int i = 2; i += j; //nach Verlass ist i nun nichtmehr sichtbar! Es ist empfohlen zu wissen, dass Code in einem Block stets der Reihe nach abgearbeitet wird.

9 If-Else Verzweigungen: Mit einer if-verzweigung lassen sich Codeblöcke erschaffen, die nur unter bestimmten Bedingungen ausgeführt werden. Zusätzlich kann man an einen if -Zweig einen alternativen else-zweig hängen, um einen Codeblock zu erschaffen, der ausgeführt wird, wenn die Bedingung des if-zweigs nicht zutrifft. int a = 15; int b = 10; if (a == 5) a += b; else a-=b; Zunächst wird bei diesem Beispiel im if Statement mit dem relationalen Operator geprüft, ob a den Wert 5 hat. Ist dies wahr (was in diesem Fall zutrifft), dann wird a um den Wert von b erhöht. Trifft diese Bedingung nicht zu, so wird a um den Wert von b verringert. Der else-zweig kann ebenfalls eine if-bedingung habe und es können innerhalb einer if-else- Verzweigung mehrere else Zweige existieren. Form: if(bedingung) else if(bedingung) else Ein Zweig kann aber auch mehrere Bedingungen habe, die durch die logischen Operatoren miteinander verbunden werden können. int a = 10; int b = 5; int c = 20; if(a == 10 & b == 5)

10 Die Operatoren wurden ja bereits kurz vorgestellt. Verwendet man ein & Operator, ist es notwendig, dass Bedingung 1 und 2 erfüllt sind. Bei, also oder hingegen reicht eine aus. Die short-circuit Operatoren stellen in diesem Zusammenhang eine Erweiterung der normalen logischen Operatoren dar. Zwischen & und && z.b. besteht der Unterschied, dass bei dem zweiten Fall Bedingung 2 nur dann geprüft wird, wenn Bedingung 1 bereits wahr ist. Schleifen: Schleifen haben die Funktion, einen bestimmten Codeblock unter einer bestimmten Bedingung, öfters auszuführen. Es gibt verschiedene Arten von Schleifen, von denen ich jetzt die zwei wichtigsten erklären möchte. For-schleife: Sie hat einen einfachen Aufbau und führt so oft einen Block aus, wie die Bedingung wahr ist. Form: for(initialisierung; Bedingung; Änderung) Sie hat immer eine Zählvariable, eine Bedingung unter der der Block ausgeführt wird und eine Änderung der Zählvariable. for (int i = 0; i < 20; i++) System.out.println( i ist gleich: + i); In unserem Fall ist die Schleife so zu lesen: Wir haben eine Zählvariable i deklariert und den Wert 0 zugewisen, die solange um 1 erhöht wird, wie i kleiner als 20 ist. Für jeden Durchgang soll auf dem Bilschirm der aktuelle Wert für i ausgegeben werden. Anmerkung: System.out.println( ); ist ein Methodenaufruf für die Bildschirmausgabe.

11 While-Schleife: Die While-Schleife funktioniert ähnlich einfach, wie die for-schleife, nur dass sie in einer anderen Form geschrieben wird. Auch sie führt einen Block so oft aus, wie die Bedingung wahr ist, Form: while(bedingung) int a = 10; int b = 20; while(a!= b) a += 2; System.out.println( a ist: + a); Da es jedoch bei der While-Schleife keinen festen Ausgans- und Startwert, sowie Änderung gibt, kann es hier beabsichtigt oder unbeabsichtigt dazu kommen, dass die Schleife zu einer Endlosschleife wird. Hätte ich in meinem Beispiel den Ausdruck a += 2; weggelassen, gäbe es keine Änderung und a würde nie b werden, wodurch die Schleife niemals negiert werden würde-> die Folge wäre also eine Endlosschleife. Ein Schleifenablauf lässt sich jedoch auch steuern, dafür gibt es die Schlüsselwörter break und continue, die eigentlich genau das machen, was schon ihre Bezeichnungen verraten. Break kann innerhalb einer Schleife z.b. unter einer bestimmten Bedingung, die Schleife vorzeitig stoppen und continue eine Schleife an einem Totpunkt weiterlaufen lassen.

12 Nun haben wir uns also alle Grundlagen von Java und der Standartprogrammierung angeschaut. Da Java aber eine objektorientierte Programmiersprache ist, ist es dringend notwendig die Grundlagen dieser Programmiertechnik zu verstehen. Der Rahmen: Der Grundaufbau eines Java Codes ist einfach: zunächst wird die Klasse erstellt (Klassenname = Dateiname!) und danach Variablen und Methoden deklariert und verwendet. Der Grundaufbau ist wie folgt: class Klassenname VariablenDeklarationen; methodendeklaration() Da sich über die Klassen nicht viel mehr sagen lässt, schauen wir uns direkt die Methoden an. Methoden: Methoden werden benötigt, um Objekte miteinander interagieren zu lassen. Sie sind eine Art Nachrichtenaustausch und des weiteren Programmteile, die Teilaufgaben erfüllen und dementsprechend benannt werden sollten. Methoden bestehen aus zwei Teilen: - Signatur (= Methodendeklaration) Aufgabe: Angaben über Sichtbarkeit, Rückgabetyp, Methodenname und Parameter - Methodenrumpf (Block) Aufgabe: In ihm stehen die Deklarationen der lokalen Variablen und die eigentlichen Anweisungen. Methodendeklaration: public double name (double param_1) In der Form: Zugriff/Sichtbarkeit Typ der Rückgabe Methodenname (Parametertyp Parametername) Anmerkung: Damit in Java ein Programm gestartet werden kann, muss immer die Main- Methode in dem Code vorhanden sein. Diese wird durch das Keyword main hinter dem Rückgabetyp gekennzeichnet. public void main ()

13 Was ist Objektorientierung?: Es gibt viele Umschreibungen für die Objektorientierung von einem Mittel zur Abstraktion bis hin zu einer eigenen Sichtweise. Generell geht es bei der Objektorientierung jedoch darum, Dinge abzubilden und dabei Daten und Aktionen zu kombinieren. Attribute (Daten/Variablen) eines Autos: Motorleistung, Farbe etc. Aktionen (Methoden): fahren, anhalten Aus diesen Angaben kann man nun ein Objekt erzeugen, z.b. ein blaues Auto mit 125 kw. Grundsätzlich gilt: Aus einer einzelnen Klasse lassen sich Objekte erschaffen. Neues Attribut/ Datentyperweiterung: Es gibt Dinge, die in der Natur oder in der Mathematik einen unveränderlichen Wert besitzen, z.b. die Zahl Pi. Um eine solche Zahl in einem Code darzustellen, verwendet man Konstanten. Dies sind unveränderliche Variablen, denen einmalig in Code ein Wert zugewiesen werden kann. Eine Konstante wird dadurch gekennzeichnet, dass sie mit dem Schlüsselwort final eingeleitet wird. Dieses Wort wird einfach vor den Datentyp gesetzt, z.b.: final double pi = ; Hinweis: Kommas werden in Programmiersprachen für gewöhnlich immer durch einen Punkt dargestellt.

14 Packages: Verschiedene Klassen, die in einem logischen Bezug zueinander stehen, fasst man in Java zu sogenannten Packages oder auch Paketen zusammen. Die Angabe zum jeweiligen Package wird dabei in der ersten Zeile des Codes, vor der Erstellung der Klasse, gemacht. Der Name eines Packages wird durch Punkte getrennt, z.b.: easy.emu.community Package Bsp. In Script: package easy.emu.community; public class User Weiteres Beispiel: package easy.emu.community; public class User final double IQ = 100; double fleiss; void aktion() System.out.println ( User IQ ist + IQ); double anstrengung = Math.random(); fleiss += anstrengung; System.out.println ( Users Fleisswert betraegt: + fleiss); Erklärung: - Klasse User in Package easy.emu.community - Deklaration zweier Variablen IQ & Fleiss - IQ ist Konstante mit Wert Deklaration Methode aktion mit Rückgabetyp void - Bildschirmausgabe mit Befehl System.out.println( ); - Macht Bildschirmausgabe Users IQ ist 100, da an den String mit einem + die Variable drangehängt wird - Würden wir das + weglassen und die Zeichenkette hinter IQ beenden, würde Java IQ als Wort ausgeben - Deklaration double anstrengung und definieren es mit Math.random(). Dies ist eine Standartmethode von Java und gibt eine Zufallszahl zurück

15 - Da die Anstrengung mit Fleiss verbunden ist, addieren wir zu dem Fleiss, die Anstrengung und haben dadurch den neuen Fleiss, den wir wieder ausgeben Wie wir bereits erwähnt haben, hat jede Methode einen Rückgabetyp. Dieser muss für gewöhnlich durch ein return Statement in der Methode mit dem richtigen Datentyp angesprochen werden. Man kann dies auch umgehen, indem man einfach return 0; schreibt. Eine andere Möglichkeit wäre der Typ void, der keine Rückgabe erfordert. Das Objekt: Wie wir bereits gelernt haben, sind Objekte Exemplare einer Klasse. Nun besteht darüber hinaus die Tatsache, dass jedes Objekt einen Lebenszyklus hat: 1. Zunächst wird ein Objekt erzeugt 2. Das Objekt wird (für gewöhnlich) im Code verwendet 3. Das Objekt wird irgendwann nichtmehr gebraucht 4. Das Objekt wird von der automatischen Speicherbereinigung weggeräumt Klasse, Typ und Objekt, Instanz?: - Eine Klasse enthält Definitionen und stellt einen neuen Typen dar - Dieser Typ dient als Bauplan zur Erzeugung eines Objekts, einer Instanz - Aus einer Klasse lassen sich mehrere Objekte erzeugen Grundsätzlich gilt: Klasse = Typ und Objekt = Instanz Referenzen: - Sie deklarieren Referenzvariablen in der Form: Klasse ref; - Referenzvariable zeigt auf ein Objekt Bsp. Form: ref = new Klasse(); ref.wert = 1; ref.methode(); Der Dereferenzierungsoperator. Greift auf die Variable (oder Methode) des Objekts zu, worauf die Variable zeigt.

16 package easy.emu.community; public class Test public static void main (String[] args) User Hans = new User(); Hans.aktion(); Erklärung: - Wir starten die Main-Methode - Erzeugen ein neues Objekt der Klasse User, die wir zuvor geschrieben haben - Hans ist also ein neues Objekt - Anschließend rufen wir noch mit dem Dereferenzierungsoperator die Methode aktion auf - Mit Hilfe diesem Systems könnten wir also nun mehrere Objekte der Klasse User erschaffen Erweiterung zu Referenzen: - Referenzen können null sein, d.h. sie können eine Referenzvariable haben, die auf kein Objekt verweist - Null besagt, dass kein Objekt referenziert wird - Eine Referenz kann auf null gesetzt werden Form: ref = null; - Eine Referenzvariable sollte jedoch immer auf ein gültiges Objekt zeigen, da es bei null zu einer sog. NullPointerException kommen kann Absicherung durch if(ref!= null) Abfrage! Übergabe von Referenzen an Methoden: - Übergabe erfolgt durch Pass-by-Value Methode - Java übergibt immer Werte: Primitiver Typ = der Wert selbst (All die Typen, die nur Daten speichern und keine Objekte sind. Praktisch alle Typen, die wir am Anfang der Lerneinheit besprochen haben.) Referenztypen = Wert ist hierbei die Adresse des Objekts

17 package easy.emu.community; public class Informatikkurs void uebung (User Hans) //User Hans ist Referenztyp for (int i = 0; i < 5; i++) Hans.aktion(); - Referenzvariablen, die an eine Methode übergeben werden, können modifiziert warden. Primitive Typen hingegen nicht, da nur der Wert und keine Operationen beachtet wird. Konstruktoren: Was passiert bei der Objekterzeugung eigentlich? Zunächst werden Variablen initialisiert, wie sie deklariert wurden Bei der Erzeugung des Objekts gibt es, falls keine Definition vorhanden, bei einigen primitiven Typen Standartwerte: o boolean = false o char = \u0000 o int, long = 0 o double, float = 0.0 Bei Referenztypen ist der Standartwert 0 Arrays sind auch Referenztypen Boolean[] b = new boolean[3]; //Alle drei Elemente wären false! Zusätzlich laufen bei der Erzeugung von Objekten Konstruktoren ab Aufgabe: o Erstellung des Objekts bzw. enthält Code, der bei der Erzeugung eines Objekts ausgeführt wird o Konstruktor kann auch Parameter haben o Hat keinen Rückgabewert o Konstruktorname muss dem Namen der Klasse bzw. der Datei entsprechen o Jedes Programm hat mindestens 1 Konstruktor -> Standart Konstruktor

18 Form: KlassenName() //Leerer Standart Konstruktor o Konstruktoren lassen sich verketten Class test_test test_test(int i, int j) test_test() this(1, 0); this bezeichnet immer das aktuellste Objekt, in dem man sich befindet In diesem Fall ruft this den Konstruktor auf und weist den Parametern 1 und 0 zu Schlüsselwörter static und this : Static: Kann bei Klassen, Variablen und Methoden zur Deklaration genutzt werden Statische Deklarationen sind ohne Objekt nutzbar Public static void main(string[] args) Objekte können statische Elemente verwenden, andersherum jedoch nicht Der Zugriff auf statische Elemente erfolgt, wie bisher bei den Objekten Form: Klasse.variable System.out.println() Klasse: System Statische Var: out (von Konsole) Methode: println() This: Nur mit Objekt verwendbar Ist eine Referenz auf das aktuellste Objekt, das momentan bearbeitet wird Form: this.meinemethode() Sorgt für Eindeutigkeit bei gleicher Benennung, die Nutzung des aktuellsten Objekts bei Parametern und ermöglicht den Aufruf eines anderen Konstruktors

19 Bank(double Money) this.money = money; Primitive Daten- und Referenztypen: Primitive Datentypen sind keine Objekte, haben jedoch ein Gegenstück: Wrapper- Typen Wrapper-Typen umhüllen, ummanteln einen primitiven Typen primitiver Typ -> Referenztyp int -> Integer long -> Long float -> Float double -> Double Z.B. nützlich für die Abfrage von Maximalwerten eines Types durch MAX_VALUE Möglichkeit des Autoboxing: Umwandlung primitiver Typen in Wrapper Gegenteil: Autounboxing: Wrapper -> primitiver Typ Zugrifssmodifizierer: Beschränkungen durch Zugriffsmodifizierer beschränken den Zugriff auf eine Klasse oder ein Objekt von außen. Man nennt diese Beschränkung auf Acces modifier. Tabelle der Zugriffsrechte einzelner Acces modifier: Acces modifier Klasse Paket Unterklasse Alle private Ja Nein Nein Nein default Ja Ja Nein Nein protected Ja Ja Ja Nein public Ja Ja Ja Ja

20 Dies waren also nun die Grundlange der objektorientierten Programmiertechnik mit Java. Weiteres Lernmaterial zu Java und der fortgeschrittenen Objektorientierung ist bereits in Arbeit. Ich hoffe, dass ich mit diesem Tutorial Interesse an der Sprache Java wecken konnte und bedanke mich für die entgegengebrachte Aufmerksamkeit. Mit freundlichen Grüßen, ChriZ (Easy-Emu.De)

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java 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

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen

Mehr

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. 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

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einfü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)

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

Ein erstes Java-Programm

Ein erstes Java-Programm Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan

Mehr

Test zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. November 2003

Test zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. November 2003 Test zu Grundlagen der Programmierung Leitung: Michael Hahsler 1. November 00 Name Martrikelnummer Unterschrift Bitte kreuzen Sie das Studium an, für das Sie diese Prüfung ablegen: O Bakkalaureat Wirtschaftsinformatik

Mehr

Java-Vorkurs 2015. Wintersemester 15/16

Java-Vorkurs 2015. Wintersemester 15/16 Java-Vorkurs 2015 Wintersemester 15/16 Herzlich Willkommen! package de.unistuttgart.47.01.javavorkurs; public class WelcomeErstis { public static void main(string[] args){ System.out.println( Herzlich

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Prinzipielle Ausführungsvarianten I

Prinzipielle Ausführungsvarianten I Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Unser erstes Java Programm AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 39 Hello World!

Mehr

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter

Mehr

Primitive Datentypen

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.

Mehr

Einfü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 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

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

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

Mehr

1. Der Einstieg in Java. Was heißt Programmieren?

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

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Erster Kontakt mit Java und Pseudocode

Erster Kontakt mit Java und Pseudocode Erster Kontakt mit Java und Pseudocode CoMa-Übung II TU Berlin 23.10.2013 CoMa-Übung II (TU Berlin) Erster Kontakt mit Java und Pseudocode 23.10.2013 1 / 27 Themen der Übung 1 Java auf meinem Rechner 2

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Der hat die früher handschriftlichen Folien lesbar gemacht. Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Heutige Themen Hello World!

Mehr

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann 1 Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann

Mehr

Repetitorium Informatik (Java)

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

Mehr

Diana Lange. Generative Gestaltung Operatoren

Diana Lange. Generative Gestaltung Operatoren Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.

Mehr

Java Kurs für Anfänger Einheit 2 Datentypen und Operationen

Java Kurs für Anfänger Einheit 2 Datentypen und Operationen Java Kurs für Anfänger Einheit 2 Datentypen und Operationen Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 16. Mai 2009 Inhaltsverzeichnis

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Grundwissen Informatik JS 10 24. September 2015

Grundwissen Informatik JS 10 24. September 2015 Grundwissen Informatik JS 10 24. September 2015 Grundlagen der Objektorientierung 1. Erkläre die Begriffe Klasse, Attribut, Attributwert, Objekt, Methode und Dienst. Beispiel! Allgemein Eine Klasse ist

Mehr

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54 PHP 5.4 Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012 Grundlagen zur Erstellung dynamischer Webseiten ISBN 978-3-86249-327-2 GPHP54 5 PHP 5.4 - Grundlagen zur Erstellung dynamischer Webseiten

Mehr

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Algorithmische Kernsprache Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Ausdrücke Anweisungen Ausdrücke bezeichnen einen Wert Kontext stellt Werte von Variablen Werte

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

Datenbankanwendungsprogrammierung Crashkurs Java

Datenbankanwendungsprogrammierung Crashkurs Java Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung

Mehr

Java-Schulung Grundlagen

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

Mehr

Tutorium Java Ein Überblick. Helge Janicke

Tutorium Java Ein Überblick. Helge Janicke Tutorium Java Ein Überblick Helge Janicke 26. Oktober 2000 1 VORRAUSSETZUNGEN ZUM PROGRAMMIEREN MIT JAVA. 1 1 Vorraussetzungen zum Programmieren mit Java. Was braucht man, wenn man mit Java programmieren

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

II.1.1. Erste Schritte - 1 -

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

Mehr

Themen der Übung. Java. Java installieren. Java installieren. Installation (Fortsetzung)

Themen der Übung. Java. Java installieren. Java installieren. Installation (Fortsetzung) Themen der Übung Java CoMa-Übung II TU Berlin 1 Java-Installation Hello World 3 Temperature 4.10.01 CoMa-Übung II (TU Berlin) Java 4.10.01 1 / 8 CoMa-Übung II (TU Berlin) Java 4.10.01 / 8 Java installieren

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

Java Schulung (Java 2 Java Development Kit 5 / 6)

Java Schulung (Java 2 Java Development Kit 5 / 6) 2. Grundlagen der Objektorientierung 2.1 Klassen, Attribute, Methoden Klassen Eine Klasse beschreibt als Bauplan Gemeinsamkeiten einer Menge von Objekten ist also ein Modell, auf dessen Basis Objekte erstellt

Mehr

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Operatoren? Ein Operator ist eine in die Programmiersprache eingebaute Funktion,

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Lösung der Aufgaben (1/2) Lösung Aufgabe

Mehr

Java Programmierung auf der Konsole / unter Eclipse

Java Programmierung auf der Konsole / unter Eclipse Fakultät Informatik, HFU Brückenkurs Programmieren 1 Java Programmierung auf der Konsole / unter Eclipse Allgemeine Begriffe Programmiersprache: künstliche Sprache zur Notation von Programmen Programm:

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm

Mehr

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7 Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale

Mehr

einkonto.zahle(+100); //Transaktion Einzahlung einkonto.zahle(-20); //Transaktion Auszahlung einkonto.zahle(+30); //Transaktion Einzahlung

einkonto.zahle(+100); //Transaktion Einzahlung einkonto.zahle(-20); //Transaktion Auszahlung einkonto.zahle(+30); //Transaktion Einzahlung PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 28 Testklasse public class TestGirokonto { public static void main(string[] args) { // erzeuge neues Konto Girokonto einkonto = new Girokonto();

Mehr

1. Der Einstieg in Java

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

Mehr

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung maggyrz@freitagsrunde.org 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben

Mehr

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Klassen und Objekte Einführung in Java Folie 1 von 28 12. Mai 2011 Ivo Kronenberg Inhalt Objekte Klassendefinitionen Datenelemente (Klassenattribute) Instanzieren von Objekten Konstruktoren Vergleich primitive

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013 Programmiervorkurs Wintersemester 2012/2013 Organisation: Steffen Gebert, Alexander Wolff Tutoren: Jürgen Zöller, Jonathan Stoll Kontakt (für Organisatorisches, Fehler auf Folien...): Steffen Gebert steffen.gebert@informatik.uni-wuerzburg.de

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Einfache Rechenstrukturen und Kontrollfluss II

Einfache Rechenstrukturen und Kontrollfluss II Einfache Rechenstrukturen und Kontrollfluss II Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.informatik.uni-muenchen.de/lehre/ss06/infoii/ SS 06 Ziele Lernen imperative

Mehr

Algorithmen und Datenstrukturen 07

Algorithmen und Datenstrukturen 07 5. Dezember 2011 1 Besprechung Blatt 6 Fragen 2 Vererbung Allgemein abstract Interfaces 3 Unified Modeling Language (UML) Ablaufdiagramme Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung Blatt 7

Mehr

OO Programmierung in Java

OO Programmierung in Java OO Programmierung in Java Einführung WS 212/213 Prof. Dr. Margarita Esponda M. Esponda-Argüero 1 Homepage Homepage http://www.esponda.de/ws_12_13/jbk Vorlesungsfolien Literaturliste Übungen Zusätzliches

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Objective-C CheatSheet

Objective-C CheatSheet App-Templates: Erstellt automatisch einen Navigation Controller mit editierbarem UITableView und DetailView, der bei Klick auf einzelne UITableViewCell angezeigt wird. Kreiert einen GLKitViewController

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

Java Einführung Methoden. Kapitel 6

Java Einführung Methoden. Kapitel 6 Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

Einführung in die C-Programmierung

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).

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen

Mehr

Erste Schritte in Java

Erste Schritte in Java Erste Schritte in Java Im einführenden Kapitel haben wir die Grundbegriffe der imperativen Programmierung an einem Beispiel (Algorithmus von Euklid) kennengelernt. In diesem Kapitel sehen wir uns an einem

Mehr

Programmieren 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 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

Mehr

4. Datentypen. Einleitung Eingebaute Datentypen. Konversion / Type-Cast. Operatoren. Übersicht Die Datentypen char, float und double Standardwerte

4. Datentypen. Einleitung Eingebaute Datentypen. Konversion / Type-Cast. Operatoren. Übersicht Die Datentypen char, float und double Standardwerte 4. Datentypen Einleitung Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Konversion / Type-Cast Datentyp von Literalen Operatoren Ausdrücke Allgemeine Informatik 2 SS09

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Arrays Wiederholung (1/5) Array = GEORDNETE

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

EINI WiMa/LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12

EINI WiMa/LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12 EINI WiMa/LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Java Einführung Klassendefinitionen

Java Einführung Klassendefinitionen Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean 01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2

Mehr

Kurzeinführung in C++

Kurzeinführung in C++ Kurzeinführung in C++ Johannes J. Schneider 27.10.2004 1 Einleitung C++ ist eine heutzutage in vielen Bereichen sehr häufig verwendete Programmiersprache, die auf der Programmiersprache C aufsetzt, aber

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Rückblick Datentypen (int, long, double, boolean, String) Variablen und Variablendeklarationen

Mehr

1 Einführung... 13. 2 Erste Schritte... 19. 3 Programmierkurs... 33. 4 Datentypen... 81. 5 Weiterführende Programmierung... 139

1 Einführung... 13. 2 Erste Schritte... 19. 3 Programmierkurs... 33. 4 Datentypen... 81. 5 Weiterführende Programmierung... 139 Auf einen Blick 1 Einführung... 13 2 Erste Schritte... 19 3 Programmierkurs... 33 4 Datentypen... 81 5 Weiterführende Programmierung... 139 6 Objektorientierte Programmierung... 191 7 Verschiedene Module...

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Übungen Informatik I. JAVA - Eclipse. elga Gabler, Holger Vogelsang, Christian Pape. Übungen Informatik 1 1

Übungen Informatik I. JAVA - Eclipse. elga Gabler, Holger Vogelsang, Christian Pape. Übungen Informatik 1 1 Übungen Informatik I JAVA - Eclipse Übungen Informatik 1 1 Integrierte Entwicklungsumgebungen Integrierte Entwicklungsumgebung (IDE): vereint Editor, Compiler, Debugger und andere Entwicklungswerkzeuge

Mehr

5.6 Vererbung. Vererbung

5.6 Vererbung. Vererbung 5.6 Vererbung Klassen können zueinander in einer "ist ein"- Beziehung stehen Beispiel: Jeder PKW ist ein Kraftfahrzeug, jedes Kraftfahrzeug ist ein Transportmittel aber: auch jeder LKW ist ein Kraftfahrzeug

Mehr

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen

Mehr

Grundlagen der Programmiersprache C++

Grundlagen der Programmiersprache C++ / TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit

Mehr

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

C++ - Operatoren. Eigene Klassen mit neuen Funktionen C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,

Mehr

2. Einfache Java-Programme Grundlagen der Programmierung 1 (Java)

2. Einfache Java-Programme Grundlagen der Programmierung 1 (Java) 2. Einfache Java-Programme Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 4. Oktober 2005 Agenda Agenda Grundstruktur

Mehr

PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden.

PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden. PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden. Allgemein Ein Einzug sollte aus 4 Leerzeichen bestehen.

Mehr