Kapitel 3 Einführung in C#

Größe: px
Ab Seite anzeigen:

Download "Kapitel 3 Einführung in C#"

Transkript

1 Kapitel 3 Einführung in C# Mono ISBN In diesem Abschnitt werden Sie sich mit dem Herzstück von Mono befassen. Der C#-Compiler stellt ein überaus mächtiges Werkzeug dar und ist mehr als nur ein Werkzeug zur Entwicklung von Applikationen. Mono selbst basiert größtenteils auf C#, was die Wichtigkeit dieser Programmiersprache im Zusammenhang mit Mono und.net dokumentiert. Tauchen Sie also ein in die Welt von C# und beginnen Sie mit einfachen Applikationen. 3.1 Einfache Anwendungen Die einfachste aller Anwendungen ist zweifelsohne hello world. Wie in den meisten modernen Programmiersprachen ist hello world sehr einfach zu implementieren. Sehen Sie das folgende Beispiel: Console.WriteLine(" World\n"); Am Beginn des Programmes wird System eingebunden. Dieses Modul werden Sie benötigen, um den gewünschten String am Bildschirm auszugeben. Anschließend wird eine Klasse namens definiert. Diese Klasse enthält eine Funktion namens Main. Wie es vielen von Ihnen bereits aus Sprachen wie C bekannt sein wird, wird die Funktion Main am Beginn eines Programmes aufgerufen. In unserem Falle macht Main nichts anderes als den Text auszugeben. Deshalb bedienen wir uns eines Objektes vom Typ Console und dessen Methode WriteLine. Wie der Name schon erahnen lässt, dient dieses Objekt bzw. diese Klasse zum Arbeiten mit der Konsole. Die Methode WriteLine ist Teil dieses Objektes und dient zum Ausgeben einer Zeile. Um die Anwendung zu übersetzen, bedienen Sie sich des Mono-Compilers. Im einfachsten Fall funktioniert das so: [hs@localhost csharp]$ mcs hello.cs Compilation succeeded 31

2 Kapitel 3 Einführung in C# Sie starten mcs, um die Datei hello.cs zu übersetzen. Das Ergebnis dieses Vorganges ist eine exe-datei, die sehr leicht ausgeführt werden kann: [hs@localhost csharp]$ mono hello.exe World Wie aus dem oberen Beispiel hervorgeht, können Sie ganz einfach mono aufrufen. mono ist der Mono ECMA-CLI Just in Time compiler und übersetzt das Programm in nativen Code. Alternativ können Sie zum Testen dieses Beispiels mint verwenden: [hs@localhost csharp]$ mint hello.exe World mint ist der Mono ECMA-CLI Interpreter und dient zum Interpretieren von Byte- Code. Im Gegensatz zu mono ist mint ein Interpreter und es findet kein Compile- Vorgang im eigentlichen Sinne statt. Das ist nicht unbedingt ein Nachteil und bringt vor allem beim Testen einer Anwendung Flexibilität mit sich. Nach dieser ersten kleinen Applikation wollen wir uns einige Modifikationen derselbigen ansehen: Console.Write(" World"); In diesem Fall haben wir Console.Write statt Console.WriteLine verwendet wir haben auch auf den expliziten Zeilenumbruch verzichtet. [hs@localhost csharp]$ mcs hello2.cs Compilation succeeded [hs@localhost csharp]$ mono hello2.exe World[hs@localhost csharp]$ Hier ist das Ergebnis um zwei Zeilen kürzer. Wenn Sie vorhaben, Applikationen zu schreiben, die weitgehend vom Betriebssystem unabhängig sind, empfehlen wir statt eines einfachen UNIX Linefeeds immer die entsprechende C#-Funktion zu verwenden. Zeilenumbrüche sind auf jedem Betriebssystem unterschiedlich und es ist daher besser, Umbrüche von C# erzeugen zu lassen, da nur so ein hohes Maß an Abstraktion vom aktuellen Betriebssystem erreicht werden kann. Ein wichtiger Punkt beim Umgang mit Mono und C# ist die Groß- und Kleinschreibung. Mono-Programme sind case-sensitive, was so viel bedeutet, dass es einen Unterschied macht, ob Wörter groß oder klein geschrieben werden. Sehen Sie sich den nächsten Abschnitt an: 32

3 Datentypen public static void main() console.writeline(" World"); Das Programm wird einen Fehler erzeugen, da wir einen Teil des Programmes einfach klein geschrieben haben: csharp]$ mcs hello3.cs hello3.cs(7) error CS0103: The name console.writeline could not be found in Compilation failed: 1 error(s), 0 warnings Wie aus dem Listing hervorgeht, unterscheidet der Compiler zwischen Warnungen und Fehlern dieses Verhalten sollte den meisten Lesern schon von anderen Programmiersprachen bekannt sein. 3.2 Datentypen Ein wesentlicher Teil im Leben eines jeden C#-Programmierers ist der Umgang mit Datentypen. Wie in C oder C++ so kann auch in C# jeder Variable ein Datentyp zugeordnet werden. Für jeden Datentyp sind wiederum Operatoren definiert, die bestimmte Aufgaben zu erfüllen haben. Auch Objekte sind Datentypen, aber dazu werden wir im Laufe dieses Buches noch kommen Eingebaute Datentypen C# stellt einige eingebaute Datentypen zur Verfügung, mit denen wir uns in diesem Abschnitt eingehender beschäftigen werden. Sehen Sie sich die folgende Tabelle an: C# Mono Vorzeichen Speicherbedarf Wertebereich sbyte System.Sbyte Ja 1 Byte -128 bis 127 short System.Int16 Ja 2 Bytes bis int System.Int32 Ja 4 Bytes bis long System.Int64 Ja 8 Bytes bis byte System.Byte Nein 1 Bytes 0 bis 255 ushort System.Uint16 Nein 2 Byts 0 bis Tabelle 3.1: Eingebaute Datentypen unter C# 33

4 Kapitel 3 Einführung in C# Nach diesem kurzen Überblick zeigen wir Ihnen, wie Variablen und Datentypen benutzt werden können. Im folgenden Beispiel versuchen wir, eine Variable zu vereinbaren und diese dann am Bildschirm auszugeben: C# Mono Vorzeichen Speicherbedarf uint System.Uint32 Nein 4 Bytes 0 bis ulong System.Uint64 Nein 8 Bytes 0 bis float System.Single Ja 4 Bytes -1.5 x 10 hoch -45 bis 3.4 x 10 hoch 38, 7 Nachkommastellen double System.Double Ja 8 Bytes -5.0 x 10 hoch -324 bis 1.7 x 10 hoch 308, 15 bis 16 Nachkommastellen decimal System.Decimal Ja 12 Bytes 1.0 x 10 hoch -28 bis 7.9 x 10 hoch 28, 28 bis 29 Nachkommastellen char System.Char 2 Bytes Unicode Zeichen boolean System.Boolean 4 Bit true oder false Tabelle 3.1: Eingebaute Datentypen unter C# (Forts.) int x = 3; Console.WriteLine("Der Wert ist " + x ); Die Variable kann wie in C/C++ angelegt werden. Die Ausgabe erinnert sehr stark an Java. Der Plus-Operator wird verwendet, um Strings miteinander zu verknüpfen. Die Ausgabe enthält keine Überraschungen. [hs@localhost csharp]$ mono hello4.exe Der Wert ist 3 In vielen Fällen kann der Plus-Operator aber sehr schnell zu einer Falle werden. Da das Plus auch als mathematische Funktion gedeutet werden kann, ist bei einer Berechnung Vorsicht angebracht, wie das nächste Beispiel deutlich macht: Wertebereich 34

5 Datentypen uint x = 3; Console.WriteLine("Der Wert ist " + x + 1 ); Console.WriteLine("Der Wert ist " + (x + 1) ); Die beiden Zeilen, die für die Ausgabe verwendet werden, führen jeweils zu unterschiedlichen Ergebnissen: [hs@localhost csharp]$ mono hello5.exe Der Wert ist 31 Der Wert ist 4 Im ersten Fall handelt es sich um eine Stringverknüpfung. Das zweite Beispiel enthält eine Berechnung Eindimensionale Felder In vielen Fällen ist es notwendig, mehr als nur einen Wert in einer Datenstruktur zu speichern. Dafür können so genannte Felder herangezogen werden. Felder dienen zum Speichern möglichst gleichartiger Informationen, wie das nächste Beispiel illustriert: public static int Main() String[] sohn = "Hans", "Peter", "Olaf" ; Console.WriteLine("Lieblingssohn: " + sohn[0] ); String[] tochter = new string[3] "Paula", "Petra", "Clara" ; Console.WriteLine("Lieblingstochter: " + tochter[2] ); return 1; Sie legen zwei Arrays an. Im ersten Array speichern Sie Männernamen. Um Mono mitzuteilen, dass es sich bei der Variable sohn um ein Array handelt, verwenden Sie eckige Klammern. Zum Auslesen der Daten müssen Sie das Array mithilfe eines Index ansprechen. Wie in allen gängigen Programmiersprachen so ist beginnen auch in C#-Felder bei 0. Im ersten Teil unseres Programmes greifen wir auch auf den ersten Teil des Arrays zu. Der zweite Teil des Programmes zeigt eine leicht veränderte Variante, ein Array anzulegen. In diesem Fall definieren wir die Größe des Arrays. Wieder greifen wir explizit auf das gewünschte Element des Arrays zu. Sehen Sie sich an, welches Ergebnis das Programm ausgibt, wenn es ausgeführt wird: 35

6 Kapitel 3 Einführung in C# [hs@duron csharp]$ mono array.exe Lieblingssohn: Hans Lieblingstochter: Clara Die Werte in einem Array sind in der Regel nicht statisch. Um einen Wert in ein bestimmtes Array zu schreiben, können Sie Zuweisungen verwenden. Das nächste Beispiel demonstriert, wie der Wert einer Zelle überschrieben werden kann: public static int Main() String[] tochter = new string[3] "Paula", "Petra", "Clara" ; tochter[2] = "Eva-Maria"; Console.WriteLine("Lieblingstochter: " + tochter[2] ); return 1; In diesem Fall ersetzen Sie den Wert des dritten Elementes durch einen String, der länger ist als der ursprüngliche Wert. Der Clou dieses Beispiels ist, dass Sie sich nicht um das Speichermanagement kümmern müssen, da dieses gänzlich von Mono übernommen wird. C-Programmierer wissen ein Lied davon zu singen, dass Operationen wie die soeben gezeigte in der Regel nicht in einer Zeile zu lösen sind. Wie nicht anders zu erwarten, wird der gewünschte Name ausgegeben. [hs@duron csharp]$ mono array.exe Lieblingstochter: Eva-Maria Mehrdimensionale Felder Mehrdimensionale Felder erlauben das Speichern von komplexeren Datenstrukturen. Immer, wenn es notwendig ist, Kombinationen von verschiedenen Elementen Werte zuzuordnen, sind mehrdimensionale Felder erste Wahl. C# stellt einfache Möglichkeiten zur Verfügung, mehrdimensionale Felder zu verarbeiten. Im nächsten Beispiel sehen Sie, wie Namen gespeichert werden können: public static int Main() string[, ] data = new string[2, 2]; data[0, 0] = "Paul"; data[1, 0] = "Rudi"; data[0, 1] = "Ruth"; data[1, 1] = "Evi"; 36

7 Fluchtsymbole Console.WriteLine("Wert: " + data[1, 1] ); return 1; Wie Sie erkennen können, werden Männernamen im ersten Element der zweiten Achse gespeichert Frauen sind im zweiten Element zu finden. Die erste Achse erlaubt es, auf den jeweiligen Namen zuzugreifen. Das folgende Listing zeigt, welches Ergebnis ausgegeben wird: [hs@duron csharp]$ mono marray.exe Wert: Evi Beim Arbeiten mit Arrays ist aber nicht der Zugriff auf die Daten relevant. Oft ist es sinnvoll, herauszufinden, wie viele Dimensionen ein Array hat. In den meisten Programmiersprachen ist das eine denkbar mühsame Aufgabe in C# ist dieses Problem schon für Sie gelöst, wie man im nächsten Beispiel sehen kann: public static int Main() string[, ] a = new string[2, 2]; string[,,, ] b = new string[2, 2, 2, 2]; Console.WriteLine("a: " + a.rank ); Console.WriteLine("b: " + b.rank ); return 1; Am Beginn des Programmes werden zwei Arrays vereinbart. Die Anzahl der Achsen des Arrays sind in der Klassenvariable Rank zu finden. Auch für dieses Beispiel sehen wir uns an, welchen Output das Programm liefert: [hs@duron csharp]$ mono main.exe a: 2 b: Fluchtsymbole In vielen Fällen können Zeichen nicht einfach direkt ausgegeben werden. Das führt in manchen Fällen zu Problemen. Die nächste Zeile zeigt ein potenzielles Problem: Console.WriteLine("Das ist ein Anfuehrungszeichen: " "); 37

8 Kapitel 3 Einführung in C# Wir versuchen ein Anführungszeichen auszugeben. Das führt dazu, dass C# einen Compilerfehler ausgibt, da aus dem Code nicht mehr eindeutig hervorgeht, welches Anführungszeichen zum Terminieren des Strings und welches zur Ausgabe dient. Um solchen Mehrdeutigkeiten entgegen zu wirken, müssen bestimmte Zeichen maskiert werden. Das geschieht in der Regel mithilfe eines Backslashes. Das nächste Listing enthält eine Zusammenstellung der wichtigsten Möglichkeiten: Console.WriteLine("einfaches Anfuehrungszeichen: \ "); Console.WriteLine("doppeltes Anfuehrungszeichen: \""); Console.WriteLine("Backslash: \\"); Console.WriteLine("Alert: \a "); Console.WriteLine("Backspace: -\b"); Console.WriteLine("Formfeed: \f"); Console.WriteLine("Newline: \n"); Console.WriteLine("Carriage Return: \r"); Console.WriteLine("Tabulator: vorher\nachher"); Console.WriteLine("vertikaler Tabulator: \v"); Console.WriteLine("binaere Null: \0"); Besonders erwähnenswert sind Backspaces im Gegensatz zu normalen Zeichen wird durch ein Backspace ein anderes Zeichen gelöscht. Nicht alle Sonderzeichen führen auch zu einer Ausgabe. Bei binären Nullen wird schlichtweg kein Output angezeigt. [hs@localhost csharp]$ mcs hello6.cs; mono hello6.exe Compilation succeeded einfaches Anfuehrungszeichen: doppeltes Anfuehrungszeichen: " Backslash: \ Alert: Backspace: - Formfeed: Newline: Carriage Return: Tabulator: vorher vertikaler Tabulator: nachher binaere Null: Das Maskieren von Zeichen ist besonders wichtig. Vor allem beim Umgang mit externen Datenformaten, Datenbanken oder XML spielt Maskierung eine zentrale Rolle, auf die wir in diesem Buch noch ausgiebig zu sprechen kommen werden. 38

9 Kontrollstrukturen Fluchtsymbole sind vor allem bei der Behandlung von Pfaden von großer Bedeutung. Da in Pfaden sehr viele Backslashes vorkommen, können Pfade auf Windowssystemen für den Programmierer ein wenig knifflig werden. Aus diesem Grund stellt C# einen einfachen Mechanismus zur Verfügung, mit dem wir uns nachfolgend kurz beschäftigen werden. Stringfehler = "c:\neue_bilder"; Console.WriteLine("Fehler: " + fehler + "\n"); String richtig Console.WriteLine("Richtig: " + richtig); Im ersten String ist ein versteckter Zeilenumbruch zu finden, der bei einer Ausgabe auftritt und sichtbar wird. Im zweiten Beispiel verwenden wir so genannte Verbatim Strings. Diese spezielle Art von Strings hat den Vorteil, dass nur doppelte Anführungszeichen maskiert werden müssen und alle anderen Zeichen wie Backslashes ohne Maskierung verwendet werden können. [hs@localhost csharp]$ mono pfad.exe Fehler: c: eue_bilder Richtig: c:\neue_bilder Der zweite String wird daher korrekt ausgegeben und entspricht einem Pfad. Verbatim Strings sind vor allem für Mono respektive C-Programme wichtig, die unter Windows laufen, da UNIX ohnehin Slashes statt Backslashes verwendet. 3.4 Kontrollstrukturen Nach diesem ersten kurzen Überblick über C# wollen wir uns in diesem Abschnitt etwas genauer mit Kontrollstrukturen und bedingter Ausführung beschäftigen if/else-konstrukte Bedingte Ausführung ist ein zentraler Bestandteil jeder Programmiersprache. Wie in C und C++ so können auch in C# if-statements verwendet werden. Um die Funktionsweise von if-statements zu verdeutlichen, haben wir ein einfaches Beispiel inkludiert: 39

10 Kapitel 3 Einführung in C# int number = 22; if (number > 20) Console.WriteLine("if Zweig..."); else Console.WriteLine("else Zweig..."); Console.WriteLine("zweite Zeile..."); Innerhalb des Hauptprogrammes wird eine Integer Variable vereinbart. Anschließend wird getestet, ob der Wert der Variable höher als 20 ist. Sofern das der Fall ist, wird der if-block aufgerufen andernfalls wird der else-block durchgeführt. Wichtig ist, dass Blöcke geklammert werden können, was jedoch nicht zwingend notwendig ist. Sinnvollerweise sollte man aus Gründen der Übersicht jedoch Klammern verwenden. Wenn wir unser kleines Programm ausführen, wird folgende Zeile angezeigt: if zweig... Wie nicht anders zu erwarten, wird der if-block ausgeführt. In vielen Fällen ist mehr gefragt als nur ein einfaches if. In manchen Applikationen kann es sinnvoll sein, mehrere if-abfragen zu einem Block zu bündeln. Bei Mono und C# ist auch das kein Problem: public static int Main(String[] args) Console.WriteLine("Input: " + args[0]); if (args[0] == "100") Console.WriteLine("erraten..."); return 0; else if (args[0] == "0") Console.WriteLine("gilt nicht..."); else Console.WriteLine("Fehler :("); return 1; 40

11 Kontrollstrukturen In diesem Beispiel wollen wir eine Meldung ausgeben, wenn der Benutzer eine Zahl errät falls aber 0 eingegeben wird, soll eine spezielle Meldung ausgegeben werden. Das Problem kann mithilfe von else if sehr leicht gelöst werden, da wir so eine zweite Bedingung innerhalb von if realisieren können. Wichtig ist die Funktionsweise des Vergleichsoperators: Wenn Sie zwei Werte miteinander vergleichen wollen, können Sie ganz einfach == verwenden. Beachten Sie, dass Sie auf keinen Fall = verwenden dürfen, da dieser Operator nur zuweist. Um Werte zu vergleichen, ist = nicht geeignet. Dieses Verhalten sollte Ihnen schon von anderen Programmiersprachen her bekannt sein. Besonders zu beachten ist bei diesem Programm auch die Art und Weise, auf die der Wert an das Programm übergeben wird. Das Array args enthält alle Werte, die der Benutzer an das Programm übergeben hat. Die Indizierung der Werte beginnt bei 0. Sehen Sie sich an, was passiert, wenn das Programm mit einer falschen Zahl aufgerufen wird: [hs@localhost csharp]$ mono if.exe 23 Input: 23 Fehler :( In diesem Fall wird eine Meldung ausgegeben case/switch-konstrukte Speziell dann, wenn es darum geht, aus vielen Möglichkeiten einen bestimmten Wert auszuwählen, kann if/else relativ unübersichtlich werden. In solchen Fällen bevorzugen viele Programmierer case/switch-statements. Das nächste Beispiel zeigt ein einfaches Programm, bei dem es darum geht, die korrekte Übersetzung für ein Wort auszugeben: public static int Main() String eingabe; String ergebnis; // Lesen vom Keyboard Console.Write("Geben Sie das Wort ein: "); eingabe = Console.ReadLine(); Console.WriteLine("Eingabe: " + eingabe); // Auslesen der Übersetzung switch(eingabe) case "Fernseher": ergebnis = "TV"; break; 41

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017

Mehr

Einführung in C#.NET. 1 Übersicht. 2 Typen (Types) Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de)

Einführung in C#.NET. 1 Übersicht. 2 Typen (Types) Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de) Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de) Einführung in C#.NET 1. Übersicht 2. Typen 3. Enumerationen (Enums) 4. Felder (Arrays) 5. Boxing & Unboxing 6. Overflow Checks

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche 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

Mehr

Übungsblatt 1. Java Vorkurs (WS 2017)

Übungsblatt 1. Java Vorkurs (WS 2017) Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die

Mehr

Einheitliches Typsystem

Einheitliches Typsystem Typen 1 Einheitliches Typsystem Typen Werttypen Referenztypen Zeiger Einfache Typen Enums Structs Klassen Interfaces Arrays Delegates bool char sbyte short int long byte ushort uint ulong float double

Mehr

Erste Java-Programme (Scopes und Rekursion)

Erste 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/

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

Java-Applikationen (Java-Programme)

Java-Applikationen (Java-Programme) Java-Applikationen (Java-Programme) Eine erste Applikation: 1 2 3 4 5 6 7 8 9 10 // Quelltext HalloWelt.java // Programm gibt den Text Hallo Welt aus public class HalloWelt public static void main(string[]

Mehr

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen

Mehr

Informatik. Wiederholung Felder (Arrays), string. Vorlesung

Informatik. Wiederholung Felder (Arrays), string. Vorlesung Informatik Vorlesung 04 Wiederholung Felder (Arrays), string 19. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Ein C++ Programm: Wiederholung #include

Mehr

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3 Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

ÜBUNGS-BLOCK 7 LÖSUNGEN

ÜBUNGS-BLOCK 7 LÖSUNGEN ÜBUNGS-BLOCK 7 LÖSUNGEN Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i

Mehr

Anregungen zu Übung 2

Anregungen zu Übung 2 Anregungen zu Übung 2 Allgemeine Informatik II - SS 2007 Was sind Arrays und wie kann man sie verwenden? Ein Array ist ein spezieller Datentyp, der mehrere Werte zu einer Einheit zusammenfasst. Er ist

Mehr

Sprachkonstrukte Verzweigungen und Array-Strukturen

Sprachkonstrukte Verzweigungen und Array-Strukturen Sprachkonstrukte Verzweigungen und Array-Strukturen Dr. Beatrice Amrhein Überblick Verzweigungen o if/else o switch/case Array-Strukturen o Vektoren und Matrizen 2 Verzweigungen 3 Verzweigungen: if/else

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

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen

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

Programmieren für Wirtschaftswissenschaftler SS 2015

Programmieren für Wirtschaftswissenschaftler SS 2015 DEPARTMENT WIRTSCHAFTSINFORMATIK FACHBEREICH WIRTSCHAFTSWISSENSCHAFT Programmieren für Wirtschaftswissenschaftler SS 2015 Lucian Ionescu Blockveranstaltung 16.03 27.3.2015 2. Variablen Agenda Variablen

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Javakurs 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

Mehr

Einführung in die Programmierung für NF MI. Übung 04

Einführung in die Programmierung für NF MI. Übung 04 Einführung in die Programmierung für NF MI Übung 04 Inhalt Arrays Einführung in Objekte Einführung in die Programmierung für NF Übung 04 2 Arrays Arrays repräsentieren Reihungen von Objekten, z.b. Variablen

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Ü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 =

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Literalkonstanten Übersicht 1 Ganzzahlige Konstanten 2 Gleitkommakonstanten 3 Zeichenkonstanten 4 Zeichenketten 5 Boolsche Konstanten 6 null Referenz Literalkonstanten Literalkonstanten

Mehr

Grundlagen von C# - 1

Grundlagen von C# - 1 Grundlagen von C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Über diesen Kurs 2. Benötigte Software 3. Exkurs: Architektur von.net und C# 4. Erstes Programm: Hello World Grundlegende Eigenschaften

Mehr

Typsystem Plattform- und Sprachenunabhängigkeit in.net

Typsystem Plattform- und Sprachenunabhängigkeit in.net Typsystem Plattform- und Sprachenunabhängigkeit in.net C# J# VB.NET Zwischencode CIL Windows Unix Auf welchen Grundlagen basiert dies? Komponenten & Frameworks Seite 1 Typsystem Grundlagen - CLR Common

Mehr

Kapitel 3 Das Typsystem von C#

Kapitel 3 Das Typsystem von C# Kapitel 3 Das Typsystem von C# David J. Meder IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Eine virtuelle Maschine

Mehr

Grundlagen der OO- Programmierung in C#

Grundlagen der OO- Programmierung in C# Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3

Mehr

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. 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

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

hue12 January 24, 2017

hue12 January 24, 2017 hue12 January 24, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern

Mehr

Schleifen Datenfelder (Arrays) Verzweigungen

Schleifen Datenfelder (Arrays) Verzweigungen Schleifen Datenfelder (Arrays) Verzweigungen Vektoren, Matrizen, Tabellen for, while, foreach, if-else und switch-case Dr. Beatrice Amrhein Überblick Schleifen o for, while, foreach Eindimensionale Arrays

Mehr

2 Programmieren in Java I noch ohne Nachbearbeitung

2 Programmieren in Java I noch ohne Nachbearbeitung 1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe

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

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

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

Mehr

Variablen, Konstanten und Datentypen

Variablen, Konstanten und Datentypen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Variablen, Konstanten und Datentypen Überblick

Mehr

3.8 Objekttypen und Arrays. Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen.

3.8 Objekttypen und Arrays. Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen. 3.8 Objekttypen und Arrays Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen. Praktische Informatik I Wolfgang Effelsberg 3. Die Programmiersprache Java 3.8-1 Primitive Datentypen

Mehr

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 4213 Variablen 17.834 float Flugzeug 36812736294 I write code Hund long String Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 3 + 4 1 Variablen sind wie Becher. Sie speichern etwas. // Variablen

Mehr

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung by André Karge Übung - Operatoren, Methoden, Primitives 25. Oktober 2018 Einführung in die Programmierung WS18/19 André Karge 1/29 Notizen Standard Linux Befehle: http://images.linoxide.com/linux-cheat-sheet.pdf

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 30 Einstieg in die Informatik mit Java Datentypen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 30 1 Überblick 2 Ganzzahlige Typen 3 Gleitkommatypen 4 Zeichen, char

Mehr

Test zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. Juni 2004

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

Mehr

Einführung in C. EDV1-04C-Einführung 1

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

Mehr

Klausur Fachprüfung Wirtschaftsinformatik. Name:

Klausur Fachprüfung Wirtschaftsinformatik. Name: Klausur Fachprüfung Wirtschaftsinformatik Dauer: 2 Stunden Datum: 02.10.2003 Name: Punkte True-or-False: von 15 Punkte Multiple Choice: von 15 Punkte Quickies: von 30 Punkte Shorties: von 20 Punkte Longies:

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 20 Einstieg in die Informatik mit Java Literalkonstanten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Ganzzahlige Konstanten 2 Gleitkommakonstanten 3 Zeichenkonstanten

Mehr

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Arrays: Wiederholung Ein

Mehr

5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?)

5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?) 5.1 Mehr Basistypen Außer int, stellt Java weitere Basistypen zur Verfügung. Zu jedem Basistyp gibt es eine Menge möglicher Werte. Jeder Wert eines Basistyps benötigt die gleiche Menge Platz, um ihn im

Mehr

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

PROCESSING 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

Mehr

Kapitel 2: Grundelemente der Programmierung

Kapitel 2: Grundelemente der Programmierung Kapitel 2: Grundelemente der Programmierung Variablen Variablen sind Speicherbereiche im Arbeitsspeicher Anhand eines Namens kann man Werte hineinschreiben und auch wieder auslesen Variablen besitzen ein

Mehr

Kapitel 3 Das Typsystem von C#

Kapitel 3 Das Typsystem von C# Kapitel 3 Das Typsystem von C# Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Agenda Kurze Wiederholung

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse

Mehr

Java Spickzettel von Panjutorials.de

Java Spickzettel von Panjutorials.de Java Spickzettel von Panjutorials.de Hallo Welt public class HalloWelt public static void main(string[] args) // Gibt "Hallo Welt" auf die Konsole aus System.out.print("Hallo Welt"); Eine eigenständige

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08 Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für

Mehr

pue13 January 28, 2017

pue13 January 28, 2017 pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern

Mehr

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5.

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5. Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5.2010 (KW 18) Organisatorisches Im Web unter http://www.uni-ulm.de/in/programmierstarthilfe.html

Mehr

Wenn... dann... if (condition) statement. if (kontostand < 0) System.out.println("Oops..."); false. condition. true. statement

Wenn... dann... if (condition) statement. if (kontostand < 0) System.out.println(Oops...); false. condition. true. statement Wenn... dann... if (condition) statement condition false true statement if (kontostand < 0) System.out.println("Oops..."); 31 ... sonst... if (condition) statement1 else statement2 condition false true

Mehr

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r 1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen

Mehr

1. Referenzdatentypen: Felder und Strings

1. Referenzdatentypen: Felder und Strings 1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen

Mehr

Einführung in Java. Ausgewählte Quellen zu Java

Einführung in Java. Ausgewählte Quellen zu Java Einführung in Java Wesentliche Eigenschaften und Merkmale der Programmiersprache Java Prof. Dr. Stefan Böttcher Universität Paderborn im Rahmen der Vorlesung: Webbasierte Informationssysteme SS 2004 Einführung

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA 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

Mehr

Informatik Vorkurs - Vorlesung 2

Informatik 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

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White

Mehr

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

Übungen zum Bioinformatik-Tutorium. Blatt 3

Übungen zum Bioinformatik-Tutorium. Blatt 3 Institut für Informatik Wintersemester 2018/19 Praktische Informatik und Bioinformatik Prof. Dr. Ralf Zimmer Übungen zum Bioinformatik-Tutorium Blatt 3 Termin: Dienstag, 6.11.2018, 11 Uhr 1. Hello World

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe

Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe Informatik Vorlesung 03b Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik

Mehr

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2 Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen

Mehr

Objekttypen. Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays

Objekttypen. Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays Objekttypen Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays Primitive- und Objekt-Datentypen Primitive Datentypen benötigen einen vorher genau

Mehr

Kapitel 3: Variablen

Kapitel 3: Variablen Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C 2 Arrays und Pointer Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät statische Arrays Deklaration (eindimensional): /* 40

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

Klausur Grundlagen der Programmierung

Klausur Grundlagen der Programmierung Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel

Mehr

Programming 101. Carl Herrmann IPMB & DKFZ

Programming 101. Carl Herrmann IPMB & DKFZ Programming 101 Carl Herrmann IPMB & DKFZ Programmieren Kommandozeile Einfache Befehle Shell Skript aneinanderketten von Befehlen Schleifen Programmiersprache Komplexere Aufgaben Gemeinsamkeiten Alle Programmiersprachen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

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

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1 Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA 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

Mehr

Felder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich.

Felder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich. Felder Felder - Arrays Variable gleichen Types können in Feldern (array) zusammengefasst werden. Typ[] feldname; oder Typ feldname[]; dabei kann unter Benutzung des new-operators gleich die Dimension zugewiesen

Mehr

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3 Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................

Mehr

Grundlagen der Modellierung und Programmierung, Übung

Grundlagen der Modellierung und Programmierung, Übung Grundlagen der Modellierung und Programmierung Übung Prof. Wolfram Amme LS Softwaretechnik Prof. Klaus Küspert LS Datenbanksysteme Prof. Birgitta König-Ries LS Verteilte Systeme Prof. Dr. Wilhelm Rossak

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Welche Arten von Anweisungen gibt es? Anweisungen

Mehr

Programmieren in Java

Programmieren 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

Mehr

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für

Mehr

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. ) Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:

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

Objektorientiertes Programmieren (Java)

Objektorientiertes Programmieren (Java) Grundlagen Objektorientiertes Programmieren (Java) Java folgt gewissen Rechtschreibregeln die Syntax. Diese besagt, dass hinter jeden Befehl ein Semikolon( ; ) stehen muss, damit der Computer weiß, dass

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 1, 20.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Über mich Giuseppe Accaputo 3. Semester RW/CSE Master E-Mail: g@accaputo.ch Homepage: http://accaputo.ch Informatik

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜ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/

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

Tag 4 Repetitorium Informatik (Java)

Tag 4 Repetitorium Informatik (Java) Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

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

Mehr