Kapitel 3 Das Typsystem von C#
|
|
- Nelly Kneller
- vor 6 Jahren
- Abrufe
Transkript
1 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)
2 Agenda Kurze Wiederholung CLI-Typen Wert-/Referenztypen Boxing/Unboxing Felder Enumerationen 2
3 Eine virtuelle Maschine (VM) ein gemeinsames Typsystem Ziel der CLI ist die Interoperabilität verschiedener Programmiersprachen Szenario: Ein C#-Programm ruft eine Routine auf, die in Basic geschrieben ist. Ausführbar, wenn beides in Bytecode für die selbe VM übersetzt wurde. Der VM ist schließlich egal, woher der Bytecode kommt und wie er erzeugt wurde. Annahme: Die Basic-Routine erwartet einen ganzzahligen Parameter. Wie viele Bits/Bytes sind auf den Keller zu legen? 16 oder 32? Wie sind diese Bits zu interpretieren? (Vorzeichen, Big-Endian/Little- Endian) Lösung für die CLI: Ein einheitliches Typsystem für alle Programmiersprachen. 3
4 Klassifikation der Typen Alle Typen Werttypen Referenztypen Enumerationen Strukturen Klassen Felder Schnittstellen Delegierer benutzerdefinierbar Einfache Typen sbyte 8-bit signierte Ganzzahl short 16-bit signierte Ganzzahl int 32-bit signierte Ganzzahl long 64-bit signierte Ganzzahl byte 8-bit unsignierte Ganzzahl ushort 16-bit unsignierte Ganzzahl uint 32-bit unsignierte Ganzzahl ulong 64-bit unsignierte Ganzzahl float einfach-präzise Gleitkommazahl double doppelt-präzise Gleitkommazahl bool Bool scher Wert char Unicode-Zeichen decimal Präzise Gleitkomma-Dezimalzahl mit mindestens 28 signifikanten Stellen Speicherbedarf: 128 Bit Darstellungsraum: ( 1) s c 1 -e mit s {,1, c C max 1 28 und E min e E max 28. Siehe
5 Implizite Konvertierungen einfacher Typen 8 Bit byte sbyte Gleitkomma, mit Vorzeichen 16 Bit char ushort short Diese Konvertierungen sind möglicherweise mit einem Verlust von Präzision verbunden. Die Größenordnung der Zahl bleibt aber erhalten. 32 Bit 64 Bit Entspricht nicht dem tatsächlichen Konvertierungsweg! Für Details siehe uint ulong int long float double 128 Bit Implizite Konvertierung, transitiv decimal vorzeichenlos mit Vorzeichen 5
6 Werttypen vs. Referenztypen Werttyp Referenztyp Variable enthält Wert Referenz auf den Wert Zuweisung Kopiert den Wert Kopiert die Referenz Initialisierung,., false, '\' null Speicherort der Nutzdaten An Ort und Stelle im Aufrufkeller im Objekt (Halde) im Feld (Halde) woanders theoretisch auf der Halde praktisch auch manchmal im Keller ( Fluchtanalyse) 6
7 Allgemeinster Typ: object Der Obertyp aller Wert- und Referenztypen ist object. Einer Variablen vom Typ object kann alles zugewiesen werden. Alle Methoden von System.Object können auf jeder Variable aufgerufen werden: Equals Stellt fest, ob zwei Instanzen gleich sind. GetHashCode Hashfunktion, eignet sich für die Verwendung in Hashalgorithmen und Hashdatenstrukturen, z. B. in einer Hashtabelle. GetType Ruft den Typ der aktuellen Instanz ab. ToString Gibt eine Zeichenkette zurück, die das aktuelle Objekt repräsentiert
8 Allgemeinster Typ: object Beispiel class Program { private static double π = 3.14; private static int x = 314; private static char pi = 'π'; private static string hello = "Hello World!"; static void Main(string[] args) { object o; o = π; Console.WriteLine("\u3C=" + o.tostring()); o = x; Console.WriteLine("\u3C=" + o.tostring()); o = pi; Console.WriteLine("\u3C=" + o.tostring()); o = hello; Console.WriteLine("\u3C=" + o.tostring()); π=3,14 π=314 π=π π=hello World!
9 Ein- und Auspacken (boxing und unboxing) Ziel: auf einen Wert so zugreifen, wie auf ein Objekt Idee: betrachte diesen Wert als ein Objekt mit einem einzigen Attribut, dass diesen Wert hält Wenn der Wert geschrieben werden soll, verändere implizit den Wert dieses Attributes Wenn der Wert gelesen werden soll, lese implizit den Wert dieses Attributes und gib diesen zurück Überlegung: Kann man leicht für alle Werttypen anbieten
10 Ein- und Auspacken (boxing und unboxing) Beispiel: object obj = 3; packt den Wert 3 in ein Objekt ein: class IntContainer { int val; IntContainer(int x) {val = x; object obj = new IntContainer(3); So könnte der Code aussehen, der für den obigen Befehl erzeugt wird. 3 obj
11 Ein- und Auspacken (boxing und unboxing) Beispiel in C#: class Test { static void Main() { int i = 123; object o = i; // boxing if (o is int) { Console.Write(o.GetType()); int j = (int) o; // unboxing gibt System.Int32 aus Integration des Ein- und Auspackmechanismus in C# ist transparent. prüft, ob o vom Typ int ist
12 Einwickeln und Initialisierung Was passiert hier? Fehlermeldung in Zeile 2: Operator '==' cannot be applied to operands of type 'object' and 'int class Program { private static object o; static void Main(string[] args) { 1. if (o == null) Console.WriteLine("true"); else Console.WriteLine("false"); 2. if (o == ) Console.WriteLine("true"); else Console.WriteLine("false"); 3. if (o == false) Console.WriteLine("true"); else Console.WriteLine("false"); 4. if (o == '\') Console.WriteLine("true"); else Console.WriteLine("false"); A) Das Programm wird übersetzt und gibt true false false false aus. B) Das Programm wird übersetzt und gibt true true true true aus. C) Das Programm wird nicht übersetzt. D) Das Programm wird übersetzt und bricht mit einer Fehlermeldung in Zeile 2. ab. 12
13 Felder Eindimensionale Felder sind in C# genau wie in Java: Neues Feld anlegen: int[] a = new int[17]; Neues Feld mit vorbelegten Werten erzeugen: int[] b = new int[] {1,2,3,4,5; Kurzschreibweise für b: int[] c = {1,2,3,4,5; Länge eines Feldes ermitteln: c.length;
14 Felder Feld von Werttypen: int[] x = new int[4]; x[1] = 7; Feld von Referenztypen: object[] y = new object[4]; y[1] = 7; x = $93 7 y = $26 null $41 null null null
15 Mehrdimensionale Felder Wie in Java: ausgefranste Felder (jagged arrays) Feld von Feldern" int[][] x = new int[3][]; x[] = new int[4]; x[1] = new int[5]; x[2] = new int[2]; Länge der 2. Dim. ermitteln: x[1].length; Blockfelder (rechteckig) int[,] y = new int[4,3]; x = Auch höher dimensional: int[,,,] z; $26 $66 null $41 null $73 null Länge der 2. Dim. ermitteln: z.getlength(1); y = $93 15
16 Kovarianz bei Feldern Aus 19.5: Kovarianz bei Feldern: Wenn Referenztyp B implizit in Referenztyp A konvertierbar ist, dann ist B[D] implizit in A[D] konvertierbar. Dabei ist D eine Dimensionsangabe, die in beiden Fällen gleich sein muss (egal ob ausgefranst oder rechteckig). Was passiert hier? class A { class B : A { class Program { static void Main() { A[,,] a; B[,,] b = new B[2, 3, 4]; a = b; a[,, ] = new B(); a[1, 1, 1] = new A(); Laufzeitfehler(!) in der Zeile a[1, 1, 1] = new A(); A B 16
17 Enumerationen Enumerationen definieren einen Typnamen für eine Menge von benannten, symbolischen Konstanten Werden in Multiple-Choice-Situationen verwendet, in der zur Laufzeit eine Auswahl aus einer festen (zur Übersetzungszeit bekannten) Menge von Möglichkeiten getroffen wird Beispiel: enum Color { Red, Blue, Green class Shape { public void Fill(Color color) { switch(color) { case Color.Red: break; case Color.Blue: break; case Color.Green: break; default: break;
18 Enumerationen Syntax (Auszug): enum-declaration ::= enum-modifier * enum identifier [ enum-base ] enum-body [ ; ] enum-base ::= : integral-type System.Enum enum-body ::= { enum-member-decl (, enum-member-decl )* enum-modifier ::= new public protected internal private enum-member-decl ::= identifier [ = constant-expression ] Beispiele: enum Color { Red, Green, Blue enum Color { Red, Green = 1, Blue enum Color { Red, Green, Blue, Max = Blue enum Color : sbyte { Red = -1, Green = -2, Blue = -3 Jede Enumeration erbt automatisch von System.Enum Red = (int) Green = 1 (int) Blue = 11 (int) object System.ValueType Red = (int) Green = 1 (int) Blue = 2 (int) Red = (int) Green = 1 (int) Blue = 2 (int) Max = 2 (int) Red = -1 (sbyte) Green = -2 (sbyte) Blue = -3 (sbyte) 21 18
19 Enumerationen Enumerationsvariablen fühlen sich im C#-Programm wie normale Ganzzahlvariablen an. Unterstützte Operatoren: ==,!=, <, >, <=, >=, +, -, ^, &,, ~, ++, --, sizeof Der Wertebereich wird nicht überprüft! Aber: Eine Enumeration ist ein eigener Typ und verlangt explizite Konvertierungen: Gegeben: enum Color { Red, Green, Blue Geht nicht: int i = Color.Blue; Color c = 1; Geht: int i = (int)color.blue; Color c = (Color)1; Geht auch (!): Color c = (Color)513; 21 19
20 Was passiert hier? enum Color { Red, Green = 3, Blue ; static void Main(string[] args) { Color c = (Color) 4; Console.WriteLine(c); Und jetzt? Erste Ausgabe: Blue Zweite Ausgabe: 5 static void Main(string[] args) { Color c = (Color) 5; Console.WriteLine(c); 2
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
MehrStack stack = new Stack(); stack.push ("Würstchen"); string s = (string) stack.pop(); Console.WriteLine (s);
D3kjd3Di38lk323nnm Der Typ object object (System.Object) ist die Ausgangsbasisklasse für alle Typen. Jeder Typ kann per Upcast in ein object umgewandelt werden. Um zu zeigen, wie das nützlich sein kann,
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrEinstieg 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
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrGrundlagen 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
MehrPrimitive Datentypen
Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.
MehrEinstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Was sind Felder? 2 Vereinbarung von Feldern 3 Erzeugen von Feldern
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrKapitel 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
MehrGrundlagen der Programmierung Teil1 Einheit III Okt. 2010
Grundlagen der Programmierung Teil1 Einheit III - 22. Okt. 2010 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Einschub Bevor wir mit den
MehrJAVA-Datentypen und deren Wertebereich
Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).
MehrJava - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue
Java - Zahlen, Wahrheitswerte und Zeichen Leibniz Universität Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt? Bei
MehrEin 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
MehrEinführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrPrimitive Datentypen und Felder (Arrays)
Primitive Datentypen und Felder (rrays) Primitive Datentypen Java stellt (genau wie Haskell) primitive Datentypen für Boolesche Werte, Zeichen, ganze Zahlen und Gleitkommazahlen zur Verfügung. Der wichtigste
MehrEinführung in die Programmierung Wintersemester 2008/09
Einführung in die Programmierung Wintersemester 28/9 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Darstellung von Information Inhalt Einfache Datentypen
MehrSprachvergleich C# / Java / C++
Dieses Dokument vergleicht die Programmiersprachen C# in den Versionen 2.0 und 3.0 mit den Sprachen Java in der Version 6 und ANSI C++ ohne die jeweils vielfältigen Bibliotheken zu berücksichtigen. In
MehrKapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 05 Datentypen Inhalt des 5. Kapitels Datentypen 5.1 Einleitung 5.2 Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Operatoren Konversion / Type-Cast Datentyp
MehrC# im Vergleich zu Java
C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung
Mehr1. 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
MehrKlassen 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
MehrEinführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrDas erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
Mehr1 Polymorphie (Vielgestaltigkeit)
1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen
MehrKapitel 7.3 Zugreifbarkeit
Kapitel 7.3 Zugreifbarkeit Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Zugreifbarkeit (Accessibility)
MehrTutorium 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
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrJava - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue
Java - Zahlen, Wahrheitswerte und Zeichen Leibniz Universität IT Services Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt?
MehrObjektorientierung (OO)
Objektorientierung (OO) Objekte haben Zustände (oder Eigenschaften, Attribute) und Verhalten Zustände: Objektvariablen (in Java auch fields) Verhalten (oder Aktionen): Methoden (methods, Funktionen) members
MehrObjektorientierte Programmierung OOP Programmieren mit Java
4 Datenfelder, Parameterübergabe, Casting Objektorientierte Programmierung OOP Programmieren mit Java 4 Datenfelder, Parameterübergabe, Casting 4 Datenfelder, Parameterübergabe, Casting 4.1 Datenfelder
MehrImperative Programmierung in Java. Algorithmen und Datenstrukturen II 1
Imperative Programmierung in Java Algorithmen und Datenstrukturen II 1 Mini-Java Ein Mini-Java Programm besteht aus genau einer Klasse. In dieser Klasse gibt es genau eine main-methode. Folgende Konstrukte
MehrJavakurs 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
MehrKlausur 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
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrProgrammieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10
MehrEinführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
MehrJava I Vorlesung 6 Referenz-Datentypen
Java I Vorlesung 6 Referenz-Datentypen 7.6.2004 Referenzen this, super und null Typkonvertierung von Referenztypen Finale Methoden und Klassen Datentypen in Java In Java gibt es zwei Arten von Datentypen:
MehrEinstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Felder, mehrdimensional Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Überblick: mehrdimensionale Felder 2 Vereinbarung
MehrEinführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
MehrSeminar CSharp Microsofts Antwort auf Java Sommersemester 2002
Universität Paderborn Sinan Alptekin email: alptekin@upb.de Seminar CSharp Microsofts Antwort auf Java Sommersemester 2002 Typen und Typsystem in C# Sinan Alptekin alptekin@uni-paderborn.de Betreuer :
MehrC# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue
C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections Leibniz Universität IT Services Anja Aue Arrays... speichern mehrere Werte vom gleichen Datentyp. fassen zusammenhängende Werte
MehrVorlesung Programmieren
Vorlesung Programmieren 2. Typen und Variablen 27.10./03.11.2014 Prof. Dr. Ralf H. Reussner Version 1.2 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION
MehrKapitel 3 Einführung in C#
Kapitel 3 Einführung in C# Mono ISBN 3-8272-6492-8 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
MehrBeispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
MehrGrundlagen der Programmierung Teil1 Einheit III Okt. 2009
Grundlagen der Programmierung Teil1 Einheit III - 23. Okt. 2009 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Ausdrücke & Anweisungen
MehrObjektorientierte Programmierung. Kapitel 20: Wrapper-Klassen
Stefan Brass: OOP (Java), 20. Wrapper-Klassen 1/27 Objektorientierte Programmierung Kapitel 20: Wrapper-Klassen Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/
MehrAuszug aus. C sharp. Galileo Computing. Ein Service von. Tutorial und Referenz. von Eric Gunnerson
Auszug aus C sharp Tutorial und Referenz von Eric Gunnerson Galileo Computing 576 S., 2002, geb. 39,90 Euro, ISBN 3-89842-183-X Ein Service von Galileo Computing aus: Eric Gunnerson, C sharp - Tutorial
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
MehrSilke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode
Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode
MehrDie einfachsten Anweisungen
2 Die einfachsten Anweisungen 2-1 Inhalt Die einfachsten Anweisungen Einführung Datentypen Arithmetische Operatoren Mathematische Funktionen Mehrfache Zuweisungen Übungsaufgaben Einführung Wir wollen unser
MehrC++11. exportieren ihre Aufzählungsbezeichner in den umgebenden Bereich (name clashes) schwach typisiert (z.b. keine forward Deklaration möglich)
C - enums mit Problemen: konvertierbar nach int C++11 exportieren ihre Aufzählungsbezeichner in den umgebenden Bereich (name clashes) schwach typisiert (z.b. keine forward Deklaration möglich) enum classes
MehrEinstieg 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
MehrProgrammieren in Java
Einführung in die (imperative) Programmierung 2 Wiederholung: Allgemein Hohe Programmiersprache Compiler Interpreter Maschinensprache Zielsystem 3 Wiederholung: Java Java Compiler Bytecode JRE Just-In-Time
MehrÜbersicht. Vorstellung des OO-Paradigmas
Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java
MehrVererbung. Martin Wirsing. Ziele. Vererbung
2 Ziele Martin Wirsing en Begriff der einfachen verstehen und Redefinition von Oberklassenmethoden verstehen spolymorphie verstehen ie Klasse Object kennenlernen in Zusammenarbeit mit Michael Barth, Philipp
MehrKlausur 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:
MehrJava 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
MehrEine 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,
MehrImperative Programmierung in Java. Algorithmen und Datenstrukturen II 1
Imperative Programmierung in Java Algorithmen und Datenstrukturen II 1 Mini-Java Ein Mini-Java Programm besteht aus genau einer Klasse. In dieser Klasse gibt es genau eine main-methode. Folgende Konstrukte
MehrGliederung. 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.
Mehr4. 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
MehrJava 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
MehrDas 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:
MehrC#Objektorientierte. Aleksandra Maj. Programmiersprachen. Programmiersprachen am Beispiel C# Referat im Rahmen des Seminars. 15.
C#Objektorientierte Programmiersprachen am Beispiel C# Referat im Rahmen des Seminars Programmiersprachen 15.Juli 2004 Aleksandra Maj 1 1.Einleitung Kurze Geschichte und Ziele der neuen Programmiersprache
MehrII. 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
MehrListing 1: Cowboy. Listing 2: Woody
Musterlösung Test 3 Aufgabe 1: Cowboy Listing 1: Cowboy class Cowboy { public String rope ( Cowboy that ) { if ( this == that ) { return exclaim (); 5 else { return " Caught "; public String exclaim ()
MehrGrundlagen der Informatik Enums, Strings und Arrays
Grundlagen der Informatik Enums, Strings und Arrays Prof. Dr. Bernhard Schiefer (basierend auf Unterlagen von Prof. Dr. Duque-Antón) bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Inhalt Aufzählungen
MehrAndroid-Apps Gegenüberstellung Delphi java
Android-Apps Gegenüberstellung 2/9 Grundsätzliches etc. Groß-/Kleinschreibung egal sensitiv! Zuweisung := = Kommentare // // { } /* */ Zeichenkettenbegrenzer: 'text' "text" Inkrementieren / Dekrementieren
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrArbeitsblätter für die Lehrveranstaltung OOP JAVA 1
Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur
Mehr3. Auflage. O Reillys Taschenbibliothek. C# 5.0 kurz & gut. Joseph Albahari & Ben Albahari O REILLY. Aktualisierung von Lars Schulten
O Reillys Taschenbibliothek 3. Auflage C# 5.0 kurz & gut O REILLY Joseph Albahari & Ben Albahari Aktualisierung von Lars Schulten Inhalt C# 5.0 kurz & gut... 1 Ein erstes C#-Programm... 2 Syntax... 5 Typgrundlagen...
MehrAlgorithmen und Datenstrukturen 01
26. April 2012 1 Organisatorisches Über mich Wichtige Links 2 Besprechung Blatt 0 Übungsablauf und Abgabesystem 3 Pseudocode Text Pseudocode Pseudocode Ablaufdiagramm 4 Datentypen & Entscheidungsgehalt
Mehr5. 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
MehrTag 4 Repetitorium Informatik (Java)
Tag 4 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2016/2017 Willkommen zum Informatik-Repetitorium!
MehrEinstieg 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
MehrProgrammieren II. Aufzählungstypen (enum) Heusch -- Ratz Institut für Angewandte Informatik
Programmieren II Aufzählungstypen (enum) Heusch -- Ratz 11.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Aufzählungstypen (1) Unter einem Aufzählungstyp versteht man einen selbstdefinierten
MehrScala: Klassen, Methoden und Objekte. von Simon Lerch
Scala: Klassen, Methoden und Objekte von Simon Lerch Überblick Methoden Klassen Objekte Basis Typen Prefixes Java's == vs. Scala's == Assoziativität von Operatoren Rich Wrapper 30.03.10 Klassen, Methoden
MehrDr. 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
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
MehrProgrammieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)
Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und
MehrTh. Letschert OOP 2 1. Vererbung I : Subklasse und Subtyp
Th. Letschert OOP 2 1. Vererbung I : Subklasse und Subtyp Th. Letschert, FH Giessen-Friedberg Th. Letschert OOP 2 Vererbung (Inhertitance) I Wiederverwendung von Klassendefinitionen Erweiterung von Objekt-Konstruktionen
MehrEnumerations und innere Klassen
Enumerations und innere Klassen Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
MehrJava. CoMa-Übung II TU Berlin. CoMa-Übung II (TU Berlin) Java / 28
Java CoMa-Übung II TU Berlin 24.10.2012 CoMa-Übung II (TU Berlin) Java 24.10.2012 1 / 28 Themen der Übung 1 Java-Installation 2 Hello World 3 Temperature CoMa-Übung II (TU Berlin) Java 24.10.2012 2 / 28
MehrModul 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
MehrObjektorientierte Programmierung
Stefan Brass: OOP (Java), 15. Überladene Methoden 1/22 Objektorientierte Programmierung Kapitel 15: Überladene Methoden Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
Mehr1 RPC-Protokoll-Definitionssprache (Protocol Definition Language )
1 RPC-Protokoll-Definitionssprache (Protocol Definition Language ) RPCL ist die Protokoll-Definitionssprache, die vom ONC-RPCGEN verwendet wird. Diese Sprache wird in dem Quellprogramm application.x verwendet.
MehrEinführung in die C-Programmierung
Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).
MehrJava-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
MehrTutoraufgabe 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
MehrElementare Konzepte von
Elementare Konzepte von Programmiersprachen Teil 1: Bezeichner, Elementare Datentypen, Variablen, Referenzen, Zuweisungen, Ausdrücke Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Bezeichner
MehrKapitel 6. Vererbung
Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen
MehrShort Introduction to C# C# (C SHARP) Microsofts Antwort auf Java
Short Introduction to C# C# (C SHARP) Microsofts Antwort auf Java Short Introduction to C# C# (C SHARP) Microsofts Antwort auf Java Standardisierung durch die ECMA und ISO Short Introduction to C# C# (C
Mehr5.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
MehrModerne C-Programmierung
Xpert.press Moderne C-Programmierung Kompendium und Referenz Bearbeitet von Helmut Schellong 1. Auflage 2005. Buch. xii, 280 S. ISBN 978 3 540 23785 3 Format (B x L): 15,5 x 23,5 cm Weitere Fachgebiete
MehrJava 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
MehrJava Einführung Objekt-Datentypen und Strings. Kapitel 8 und 9
Java Einführung Objekt-Datentypen und Strings Kapitel 8 und 9 Inhalt Was sind Objekt-Datentypen Sonderheiten bei Zuweisung und Vergleich Zeichenketten (Strings) Zeichencodes Char, Char-Arrays und Strings
Mehr