1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r
|
|
- Thilo Holst
- vor 7 Jahren
- Abrufe
Transkript
1 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 können. In Java gibt es prinzipiell zwei Arten von Referenzdatentypen: Felder und Klassen. In diesem Kapitel lernen wir den Umgang mit Feldern und die Benutzung der Klassen String und StringBuffer. Die Nutzung von Klassen ist Thema des nächsten Kapitels. Die Definition eigener Klassen ist Thema des übernächsten Kapitels. 1. Felder und Strings Eigenschaften von Referenzdatentypen Im Unterschied zum einfachen Datentyp wird der Wert 124 der Variablen r nicht als numerischer Wert interpretiert, sondern als Adresse für eine andere Speicherzelle. Dort findet sich der eigentliche Wert bzw. unser eigentliches Objekt. Mit der Literalkonstanten null repräsentieren wir eine Referenz, die auf nichts (in das Nirgendwo) verweist. Wenn die Variable r von einem Referenztyp ist, dann sind r = null;... if ( r == null )... gültige Anweisungen. Grafische Notation für Variablen: b 4711 r Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Felder und Strings Eigenschaften von Referenzdatentypen Referenz- vs. einfache Datentypen 1. Felder und Strings Einfache Datentypen Rückblick: Einfache Datentypen (1) einfacher Datentyp: Eine Speicherzelle, die mit einer Variablen assoziiert ist, enthält den Wert der Variablen (direkter Zugriff). Referenztyp: Eine Speicherzelle, die mit einer Variablen assoziiert ist, enthält eine Referenz (Verweis, Zeiger) auf eine andere Speicherzelle, die den Wert enthält (indirekter Zugriff). symbolische Adresse Adresse im Speicher Inhalt b r Ganzzahlige Datentypen long int short byte Repräsentation: Zweierkomplement Gleitkommatypen double float Repräsentation: 32 bzw. 64 Bit im IEEE 754 Standard char Repräsentation: als vorzeichenloser 16-Bit Integerwert boolean Typ int Referenz Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 08 13
2 1. Felder und Strings Einfache Datentypen Rückblick: Einfache Datentypen (2) Zu einem einfachen Datentyp gehört sein Wertebereich, sein lexikalischer Bereich (Literale) und die zur Verfügung stehenden Operationen. 1. Felder und Strings Einfache Datentypen Die folgende Anweisung dagegen liefert einen Fehler beim Compilieren: int i = 3.0; Grund: 3.0 ist eine double-zahl. Bei einer Umwandlung nach int geht eventuell Information verloren. Stattdessen könnten wir eine explizite Typkonvertierung (explicite Typecast) durchführen. Hierzu schreibt man den Zieldatentyp in Klammern vor die entsprechende Zahl oder Ausdruck. (int) 3.14 Hier würde der Compiler die Nachkommastellen abschneiden. Eine Umwandlung von boolean in einen anderen Datentyp ist nicht möglich. Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Felder und Strings Einfache Datentypen Einfache Datentypen: Implizite und explizite Typumwandlung Felder Wir wollen die Addition L durchführen. Der Plus-Operator ist aber nur für Werte des gleichen Typs definiert. Was tun? Der Java-Compiler erkennt, daß der Datentyp zur linken Zahl einen Wertebereich hat, der den der rechten Zahl umfasst. So wird die 807 vom Compiler in eine automatisch long-zahl umgewandelt. implizite Typkonvertierung (implicite typecast) Implizite Typkonvertierungen treten immer dann auf, wenn ein kleinerer Zahlenbereich in einen größeren Zahlenbereich abgebildet wird. byte short int long char int float double Ganzzahlige Datentypen können auch implizit in Gleitkommatypen umgewandelt werden, obwohl dabei Rundungsfehler auftreten können. Felder (Arrays) gestatten es, mehrere Variablen durch einen gemeinsamen Namen anzusprechen und lediglich durch einen Index zu unterscheiden. Alle diese indizierten Variablen haben dabei den gleichen Typ (Komponententyp, Basistyp). Die Variablen selbst werden als Komponenten des Feldes bezeichnet. Der Index zum Ansprechen der Komponenten ist vom Typ int. Hierbei sind nur nichtnegative Werte erlaubt. Wir können uns vorstellen, daß die Komponenten eines Feldes aufeinanderfolgend im Speicher des Rechners abgelegt sind. Der Index für eine Komponente ergibt sich dabei aus der Position innerhalb des Feldes, von Null aufwärts gezählt. Beispiel: Repräsentation eines Vektors des IR n : Feld mit double als Komponententyp Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 08 17
3 Syntax: Beispiele: Deklaration von Feldern Komponententyp[] Variablenname; int[] zahlenfolge; double[] vektor; Die eckigen Klammern machen deutlich, daß die Variable ein Feld referenziert, mit dem Typ links von [] als Komponententyp. Als Komponententyp sind nicht nur einfache Datentypen, sondern auch Referenztypen erlaubt. String[] wortliste; Insbesondere sind auch Feldtypen als Komponententyp erlaubt (hierzu später mehr). Deklaration und Erzeugung können auch zusammen erfolgen. Beispiele: int[] zahlenfolge = new int[20]; double[] vektor = new double[3]; Bitte beachten Sie: Die Größe eines Feldes ist nicht Bestandteil des Typs. Sie wird erst bei der Erzeugung des Feldes festgelegt. Die Feldlänge kann durch einen Ausdruck angegeben werden. Einer Feld-Variable können jederzeit andere Felder gleichen Typs zugewiesen werden. double[] vektor = new double[3]; double[] vektor2 = new double[7]; vektor = new double[3]; vektor = new double[5]; vektor = vektor2; Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Erzeugung von Feldern Komponentenzugriff und -initialisierung Die Deklaration einer Feld-Variablen erzeugt kein Feld! Nach der Deklaration existiert eine Variable, die eine Referenz auf ein Feld als Wert aufnehmen, kann. Das eigentliche Feld existiert aber noch nicht. Syntax zur Erzeugung von Feldern: Variablenname = new Komponententyp [ Feldlänge ]; Beispiele: zahlenfolge = new int[20]; vektor = new double[3]; double[] vektor = new double[3]; Welchen Wert haben die Feldkomponenten nach der Erzeugung? Dies ist für jeden möglichen Komponententyp festgelegt: ganzzahlige Typen: 0 char: \0 double bzw. float: 0.0 bzw. 0.0f boolean: false Referenztyp: null Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 08 21
4 Syntax für die Wertzuweisung an eine Komponente: Variablenname[Index] = Wert; Beispiel: vektor[0] = 1.0; vektor[1] = 2.0; vektor[2] = -1.0; Index muß ein Ausdruck sein, der einen int-wert liefert. Der Wert für Index muß zwischen 0 und Feldlänge-1 liegen. Wert kann natürlich ein beliebiger Ausdruck passend zum Komponententyp sein. int[] quadratfolge = new int[100]; Statt Erzeugung mit new und anschließender Initialisierung durch Wertzuweisungen ist auch eine verkürzte Schreibweise möglich. Beispiele: int[] lottozahlen = { 6, 11, 19, 21, 30, 40 }; double[] vektor = { 1.0, 2.0, -1.0 }; String[] wortliste = { "ganz", "viele", "Wörter" }; Die geklammerten Ausdrücke heißen Feld-Initialisierer (array initializer). Nur Literale oder Konstanten dürfen als Wert in einem Feld-Initialisierer auftreten. Diese Schreibweise ist nur in Verbindung mit einer Deklaration erlaubt, nicht für eine gewöhnliche Zuweisung. for (int i=0 ; i<100 ; i++ ) quadratfolge[i] = i*i; Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Syntax für den Zugriff auf den Wert einer Komponente (als Ausdruck): Ermittlung der Länge von Feldern Variablenname[Index] Beispiel: double summe = 0.0; for (int i=0 ; i<3 ; i++ ) { System.out.println( "vektor[" + i + "] = " + vektor[i] ); summe = summe + vektor[i] * vektor[i]; } System.out.println("Laenge des Vektors: " + Math.sqrt( summe )); Bei der Erstellung eines Feldes wird dessen Länge in einem zusätzlichem Element vom Typ int abgespeichert. Auf dieses Element kann mit Variablenname.length zugegriffen werden. Beispiel: double[] vektor = { 1.0, 2.0, -1.0 }; for (int i=0 ; i<vektor.length ; i++ ) System.out.println( "vektor[" + i + "] = " + vektor[i] ); Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 08 25
5 Kopieren und Vergleichen von Referenzen double[] v = { 1.0, 3.0, 5.0, 10.0 }; double[] q = v; for ( int i=0 ; i<q.length ; i++ ) q[i] = q[i]*q[i]; for ( int i=0 ; i<q.length ; i++ ) System.out.println( "Das Quadrat von " + v[i] + " ist " + q[i] ); Was wird ausgegeben und warum? 2. Nutzung der Methode System.arraycopy: System.arraycopy( Quelle, QuelleStartIndex, Ziel, ZielStartIndex, Anzahl ); Hierbei ist: Quelle: Feld, von dem kopiert werden soll QuelleStartIndex: Index, ab der Quelle übertragen werden soll Ziel: Feld, in das kopiert werden soll ZielStartIndex: Index, ab dem die Eintragungen erfolgen sollen Anzahl: Anzahl der zu kopierenden Komponenten 3. Nutzung der vordefinierten Methode clone. Hierzu später mehr. Alle diese Möglichkeiten legen eine sogenannte flache Kopie an. D.h. für die Komponenten selbst wird die übliche Zuweisung durchgeführt. Dies kann problematisch sein, wenn der Komponententyp selbst eine Referenzdatentyp ist (Referenzkopie). Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Die Zuweisung q = v; führt zu einer sogenannten Referenzkopie. Es wird keine Kopie des Feldes angelegt, sondern q erhält die Referenz, die in v hinterlegt ist. Wirkung: q und v verweisen auf das gleiche Feld. v q int[] feld1 = { 1, 2, 3 }; int[] feld2 = { 1, 2, 3 }; Der Ausdruck feld1 == feld2 liefert false! Begründung: Bei Referenzdatentypen bedeutet == nicht, daß die Inhalte der referenzierten Felder (oder Objekte) verglichen werden. Stattdessen wird geprüft, ob die Referenzen die gleiche Speicherstelle adressieren. feld Für die Herstellung einer echten Kopie haben wir die folgenden Möglichkeiten: feld Wir benutzen eine Schleife: double[] v2 = new double[ v.length ]; for ( int i=0 ; i<v.length ; i++ ) v2[i] = v[i]; Wie vergleicht man dann die Inhalte von Feldern? Ausprogrammieren Achtung: Der Komponententyp kann wieder ein Referenztyp sein! Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 08 29
6 1. Felder und Strings Mehrdimensionale Felder Mehrdimensionale Felder Mehrdimensionale Felder sind vom Prinzip her leicht zu definieren: Der Komponententyp ist selbst ein Feld. Beispiele: double[][] matrix; int[][] folgevonfolgen; String[][] listevonstringlisten; Sollen alle inneren Felder die gleiche Länge aufweisen, können wir wiederum den new-operator in einfacher Weise verwenden: matrix = new double[3][4]; folgevonfolgen = new int[3][50]; listevonstringlisten = new String[5][30]; Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS Felder und Strings Mehrdimensionale Felder Beispiele für innere und äußere Feldlängen: matrix.length liefert 3. matrix[0].length liefert 4. matrix[2].length liefert ebenfalls 4. Die inneren Felder können eine unterschiedliche Länge aufweisen. int[][] folgevonfolgen = new int[3][]; for ( int i=0 ; i<folgevonfolgen.length ; i++ ) folgevonfolgen[i] = new int[10*(i+1)]; folgevonfolgen.length liefert 3. folgevonfolgen[0].length liefert 10. folgevonfolgen[2].length liefert 30. Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg, SS 08 31
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
MehrFelder. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 9.5.07 Übersicht 1 Was sind? 2 Vereinbarung von n 3 Erzeugen von n 4 Zugriff auf Feldkomponenten 5 Mehrdimensionale 6 als Objekte, Referenzen Kopieren
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
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
MehrEinstieg in die Informatik mit Java
1 / 21 Einstieg in die Informatik mit Java Felder, eindimensional Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 21 1 Überblick: Was sind Felder? 2 Vereinbarung von Feldern
MehrKlassen als Datenstrukturen
Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung
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
MehrEinstieg in die Informatik mit Java
1 / 24 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Klassen als Datenstruktur 2 Vereinbarung von
MehrEinstieg in die Informatik mit Java
1 / 29 Einstieg in die Informatik mit Java Weitere Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 29 1 Überblick 2 Kombinierte Zuweisungsoperatoren 3 Vergleichsoperatoren
MehrEinstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
MehrJava Datentypen und Variablen
Informatik 1 für Nebenfachstudierende Grundmodul Java Datentypen und Variablen Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht
MehrProgrammieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik
Programmieren I Arrays Heusch 7.2 Ratz 5.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arrays: Definition Arrays (dt. Felder) dienen zum Speichern mehrerer gleichartiger Daten
Mehr5.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
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
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-6 5.1.3 Kopieren eindimensionaler Felder... 5-7
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
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
MehrEinstieg in die Informatik mit Java
Vorlesung vom 5.11.07, Weitere Ausdrücke Übersicht 1 Vergleichsoperatoren 2 Kombinierte Zuweisungsoperatoren 3 Logische Operatoren 4 Weitere Operatoren 5 Klassifizierung von Operatoren 6 Typumwandlungen
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
MehrWertebereich und Genauigkeit der Zahlendarstellung
Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden
Mehr3.2 Datentypen und Methoden
Kap03.fm Seite 217 Dienstag, 7. September 2010 1:48 13 3.2 Datentypen und Methoden 217 3.2 Datentypen und Methoden Wie bei vielen höheren Programmiersprachen gibt es auch in Java einfache und strukturierte
MehrProgrammieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik
Programmieren I Arrays Heusch 7.2 Ratz 5.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arrays: Definition Arrays (dt. Felder) dienen zum Speichern mehrerer gleichartiger Daten
MehrProgrammiersprache 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
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
MehrKapitel 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
MehrArrays. Einleitung. Deklarieren einer Array Variablen
Arrays Einleitung bisher jede Variable einzeln deklariert: 12 3 14 12 32 32 3 32 5 3 double sum; int count; ÿ Sie können Zweck und Aufbau von Array-Datentypen erklären ÿ Sie können einen Array korrekt
MehrInstitut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke
Java 3 Markus Reschke 08.10.2014 Kommentare Kommentare nützlich zum späteren Verständnis Zwei Arten Einzeiliger Kommentar bis zum Zeilenende mit // Mehrzeiliger Kommentar mit /*Text*/ 1 double x = 5; //
MehrProgrammierung 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
MehrProjekt 3 Variablen und Operatoren
Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.
MehrVariablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15
Variablen CoMa-Übung VIII TU Berlin 4.12.2013 CoMa-Übung VIII (TU Berlin) Variablen 4.12.2013 1 / 15 Themen der Übung 1 Typanpassungen 2 Operatoren 3 Variablen-Gültigkeit CoMa-Übung VIII (TU Berlin) Variablen
Mehr3. Klassen Statische Komponenten einer Klasse. Klassenvariablen
Klassenvariablen Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit aller Studentenobjekte.
MehrObjekttypen. 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
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile
MehrJava 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
MehrInhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Zeigern
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
Mehr2.5 Primitive Datentypen
2.5 Primitive Datentypen Wir unterscheiden 5 primitive Datentypen: ganze Zahlen -2, -1, -0, -1, -2,... reelle Zahlen 0.3, 0.3333..., π, 2.7 10 4 Zeichen a, b, c,... Zeichenreihen "Hello World", "TIFI",
MehrString s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata:
Informatik mit Java: Gierhardt Zeichenketten bzw. Strings Der Datentyp String Zeichenketten bzw. Strings sind eine häufig benutzte Datenstruktur. Man könnte auch mit Arrays aus Zeichen arbeiten. Da aber
MehrProgrammiertechnik Skalare Typen,Variablen, Zuweisungen
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Skalare Typen,Variablen, Zuweisungen int int i; i; long long j; j; boolean boolean isempty; isempty; double double average; average;
MehrKlassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode:
Klassenvariablen Klassenmethoden Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit
MehrGrundlagen 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
MehrZeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.
Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrVariablen. 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
MehrVorkurs Informatik WiSe 16/17
Java Schleifen und Arrays Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 06.10.2016 Technische Universität Braunschweig, IPS Überblick Kommentare Typen Kontrollstrukturen Arrays 06.10.2016 Dr. Werner
MehrDer Datentyp String. Stringvariable und -vergleiche
Informatik 12 mit Java: Gierhardt Zeichenketten bzw. Strings Der Datentyp String Zeichenketten bzw. Strings sind eine häufig benutzte Datenstruktur. Man könnte auch mit Arrays aus Zeichen arbeiten. Da
MehrJava I Vorlesung Imperatives Programmieren
Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.
MehrDie for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben
18.11.5 1 HEUTE 18.11.5 3 Schleifen Arrays while, do reichen aus, um alle iterativen Algorithmen zu beschreiben Nachteil: Steuermechanismus ist verteilt Übersicht nicht immer leicht dazu gibt es for (
MehrProgrammiersprache Java Objektorientierte Programmierung II
Programmiersprache Java Objektorientierte Programmierung II Peter Becker FH Bonn-Rhein-Sieg Fachbereich Informatik peter.becker@fh-bonn-rhein-sieg.de Vorlesung Sommersemester 2008 Allgemeines zur Vorlesung
MehrSchwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen
Schwerpunkte 10. Felder (Arrays) Teil 1 Java-Beispiele: Echo.java Primzahlen.java Monate.java Klassifikation von Typen in Programmiersprachen Array: einziger strukturierter Typ in Java Deklaration, Erzeugung
MehrKapitel 6. Programmierkurs. 6.0 Felder (Arrays) Deklaration von Feldern. Felder (Arrays) Mehrdimensionale Arrays. Birgit Engels, Anna Schulze WS 07/08
Kapitel 6 Programmierkurs Birgit Engels, Anna Schulze Felder (Arrays) Mehrdimensionale Arrays ZAIK Universität zu Köln WS 07/08 1/ 21 2/ 21 6.0 Felder (Arrays) Deklaration von Feldern Bisher haben wir
MehrProgrammierkurs C++ Variablen und Datentypen
Programmierkurs C++ Variablen und Datentypen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Überblick Welche Datentypen gibt es in
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:
Mehr4. Vererbung Die Klasse Object. Die Klasse Object
4. Vererbung Die Klasse Object Die Klasse Object Alle Klassen ohne explizit deklarierte Superklasse haben die Klasse Object als Superklasse. Object gehört zum Paket java.lang. Object verfügt über einige
Mehr7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen
7. Schnittstellen Grundlagen zu Schnittstellen 7. Schnittstellen Eine Schnittstelle (Interface) ist eine Spezifikation eines Typs in Form eines Typnamens und einer Menge von Methoden, die keine Implementierungen
MehrWeitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax
Weitere Beispiele Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts public interface Funktion { boolean istimdefbereich(double x); double wert(double x); String gibbeschreibung(); public interface
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).
MehrGrundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke
Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke 1 Links Stellenwertsysteme mit Links zu Zahlensysteme: http://de.wikipedia.org/wiki/stellenwertsystem ASCII-Code: http://de.wikipedia.org/wiki/ascii
MehrEinstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
MehrTeil 5: Zeiger, Felder, Zeichenketten Gliederung
Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik
MehrAusgabe:
Aufgabe 2.10: Schreiben Sie ein Programm, das zunächst die Quadratzahlen zu den Zahlen 1-10 mit Hilfe einer While- Schleife und danach die Quadratzahlen zu den Zahlen 3, 6, 9,.., 30 mit Hilfe einer For-Schleife
MehrGrundlagen der Objektorientierten Programmierung - Statische Arrays
Statische Arrays Ein Array ist ein Behälter für Datenelemente desselben Typs. Arrays können beliebig viele Dimensionen haben. Die Standardform ist das eindimensionale Array, das man sich in Zeilenform
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
MehrEinfü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
MehrEinstieg 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
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage
MehrKapitel 4: Elementare Konzepte von Programmiersprachen. Variablen Referenzen Zuweisungen
Variablen Referenzen Zuweisungen Variablen Variablen dienen der Speicherung von Werten Name (name) bezeichnet die Variable im Programm Wert (value) ist das Datenelement, dass in der Variablen gespeichert
MehrC-Programmierung: Ausdrücke und Operatoren#Division.2F
C-Programmierung: Ausdrücke und Operatoren#Division.2F http://de.wikibooks.org/wiki/c-programmierung:_ausdrücke_und_operatoren#division_.2f This Book Is Generated By Wb2PDF using RenderX XEP, XML to PDF
MehrFelder (1) Allgemeines
Felder (1) Allgemeines Gleichartige Daten, wie Tabelle von Zahlen, Datumswerten, Namen etc. Felder (engl. Array) stellen einen Verbundtyp dar, in dem mehrere Daten desselben Typs gespeichert werden Oft
MehrWie entwerfe ich ein Programm?
Wie entwerfe ich ein Programm? Welche Objekte brauche ich? Flussdiagramme für Programmablauf Vorcode Testcode Hauptcode Wir spielen Lotto! Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 5 +
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
MehrFelder - 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
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen
5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden
MehrJavaprogrammierung 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
MehrGI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
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
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
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
Mehr8. Referenzen und Zeiger
8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen
MehrArrays (Felder/Vektoren)
Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff
Mehr4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen
. Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit
MehrZeiger, Arrays und Strings in C und C++
Zeiger, Arrays und Strings in C und C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für
Mehr8 Typwandlungen. 8.1 Automatische Typkonvertierungen
8 Typwandlungen Hier geben wir Ihnen weitere Informationen zu Goto Java 2, die Sie ergänzend zu Hausaufgabe 3 lesen sollten. Sie sollten für die weiteren Ausführungen zunächst in Go To Java Kapitel 4.6
Mehr+ C - Array (Vektoren, Felder)
+ C - Array (Vektoren, Felder) Eindimensionale Arrays Beim Programmieren steht man oft vor dem Problem, ähnliche, zusammengehörige Daten (vom gleichen Datentyp) zu speichern. Wenn man zum Beispiel ein
MehrEinstieg in die Informatik mit Java
1 / 13 Einstieg in die Informatik mit Java Zeichenketten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Zeichenketten 2 Erzeugen von Zeichenketten 3 Operatoren für
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Was sind Operatoren Ein Operator ist eine in die Programmiersprache eingebaute Funktion, die
Mehr1 Klassen und Objekte
1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente
MehrFolienpaket 5 Themenschwerpunkte: Referenztypen: Felder /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4
Folienpaket 5 Themenschwerpunkte: Referenztypen: Felder 208 09/2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Wiederholung Schleifentypen In Java gibt es hauptsächlich drei Schleifentypen: while/do/for.
MehrEinstieg in die Informatik mit Java
Vorlesung vom 25.4.07, Ausdrücke Übersicht 1 Die wichtigsten arithmetischen Ausdrücke Arithmetische Operatoren Inkrement und Dekrementoperatoren Zuweisungsoperator Mathematische Standardfunktionen Vergleichsoperatoren
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrInformationsverarbeitung im Bauwesen
1/24 Informationsverarbeitung im Bauwesen Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2010/2011 Vorlesung 7
MehrDatenfelder (Arrays) Vektoren, Matrizen, Tabellen. Dr. Beatrice Amrhein
Datenfelder (Arrays) Vektoren, Matrizen, Tabellen Dr. Beatrice Amrhein Überblick Eindimensionale Arrays o Deklaration, Initialisierung, Zugriff Mehrdimensionale Arrays o Deklaration, Initialisierung, Zugriff
MehrTag 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)
MehrGrundlagen der Programmierung Teil1 Einheit 1I Okt. 2009
Grundlagen der Programmierung Teil1 Einheit 1I - 16. Okt. 2009 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Einfache Datentypen Java
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
Mehr3. Java - Sprachkonstrukte I
Namen und Bezeichner Ein Programm (also Klasse) braucht einen Namen 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken,
Mehr3. Anweisungen und Kontrollstrukturen
3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen
MehrPhysische Datenstrukturen
Elementare Datentypen Strukturierte Datentypen Zeiger Seite 1 Einfache Datentypen Datentyp char Verwendung: ASCII-Zeichen Wertebereich: alle darstellbaren Zeichen, 8 bit lange Ganzzahlen im Intervall -128
MehrEinfache Rechenstrukturen und Kontrollfluß
2 Ziele Einfache Rechenstrukturen und Kontrollfluß Verstehen der Grunddatentypen von Java Verstehen von Typkonversion in Java Lernen lokale Variablen und Konstanten zu initialisieren Verstehen der Speicherorganisation
Mehr