Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.

Slides:



Advertisements
Ähnliche Präsentationen
Imperative Programmierung
Advertisements

der Universität Oldenburg
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Einführung in die Programmierung Ausführbare Klassen
Sequentielle Liste - Array
Java: Objektorientierte Programmierung
Indirekte Adressierung
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
Konstruktoren.
Assoziationen (Beziehungen) 1 : n. Zu einem Auto gibt es mehrere Fahrer (2) und zu diesen 2 Fahrern gibt es genau dieses Auto.
Polymorphie (Vielgestaltigkeit)
Polymorphie (Vielgestaltigkeit)
Objekte und Arbeitsspeicher
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
ARRAY oder FELD oder VEKTOR
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Programmieren mit JAVA
Programmieren mit JAVA
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
Zusammenfassung Vorwoche
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
© 2005 Pohlig GK Informatik K Zum JFrame Step by step by step by step by step by step by step by step by.
© 2006 MPohlig Grundkurs Informatik mit Java 1 JFrame-Vorlage Step by step by step by step by step by step by step by step by.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Java programmieren mit JavaKara
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Dynamische Datentypen
Variablenkonzept Klassisch, in Java Basistyp
Die Klasse String und ihre Methoden
Wilfried Imrich CuP - Java Erste Vorlesung Entspricht ungefähr Kapitel 1.1 des Skriptums Wilfried Imrich Montanuniversität Leoben Freitag, 4. Oktober 2002.
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Schleifen
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Programmiervorkurs WS 2014 Referenzdatentypen
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
3. Beschreibung von Abläufen durch Algorithmen 3.4 Zufall
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
© 2005 Pohlig Informatik Jg. 11 mfH Michael Pohlig 1 Zum JFrame Step by step by step by step by step by step by step by step by.
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Sammlungsklassen Array.
Diskrete Mathematik I Vorlesung 2 Arrays.
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
Java Programme nur ein bisschen objektorientiert.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Konstruktoren.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
Java-Kurs - 2. Übung primitive Datentypen, Konstanten
Einführung in die Programmierung mit Java
Grundkurs Informatik 11-13
Von Cem, Maurice und lars
Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
Es gibt Klassen, die mit der Entwicklungsumgebung ausgeliefert werden
Schleifen mit der Turtle
Arrays in C Ein Array ist eine Variable, die aus einer Anzahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
9. Vererbung und Polymorphie
Implementieren von Klassen
Felder in der Informatik
 Präsentation transkript:

Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen. Beispiele sind Listen Tabellen Objektarrays (C) Harder 2007 12.01.2019

Objektarrays Wir haben bisher nur solche Arrays deklariert, deren Elementen aus Standarddatentypen bestehen. Arrays können aber auch aus Objekten selbstdefinierter Da- tentypen bestehen. public class pkw { public String name; public int kilowatt; public int baujahr; // Konstruktor überladen public pkw ( String nstr, int kw, int bj ) { this.name = nstr ; this.kilowatt = kw ; this.baujahr = bj ; } (C) Harder 2007 12.01.2019

Diagramm: Klasse und Objekte Wir wollen 1,2,3, ... n Objekte der pkw-Klasse erzeugen. Das er- ste Objekt habe z.B. den Namen „Festo“, das Baujahr 1998 und die Leistung 200 Kilowatt. In der UML-Notation sieht dies wie folgt aus: (C) Harder 2007 12.01.2019

Objekte erzeugen und initialisieren Da wir in der Klasse pkw über einen überladenen Kon-struktor pkw (String nstr, int kw, int bj ), verfügen, können wir natürlich mit der Anweisung Auto = new pkw (“Festo“, 200, 1998 ) ; ein Objekt des Datentyps pkw mit Objektnamen Auto deklarieren. Wir müssen aber, um die Programmierung einer Datenbank zu ermöglichen, nun ein Objektarray Auto[ ] deklarieren und initialisieren, das eine beliebige Zahl von Objekten des Datentyps pkw aufnimmt. (C) Harder 2007 12.01.2019

Deklaration eines Objektarrays Das Objektarray Auto [ ] wird durch folgende Anwei-sung deklariert (hier auf 3 Objekte beschränkt): pkw Auto [ ] = new pkw [3] ; Bei Objektarrays ruft der new-Operator den Konstruk- tor der pkw-Klasse auf. Zu beachten ist: Die Liste ist vom Typ pkw. Ihre Elemente sind Objekte vom Datentyp pkw. Die Liste hat 3 Elemente. Die Elemente des Objektarrays heißen Auto[0], Auto[1], Auto[2]. Nun müssen noch die Objekte Auto[0], Auto[1], Auto[3] erzeugt und initialisiert werden. (C) Harder 2007 12.01.2019

Objektarray initialisieren Einzelnen Objekten des Objektarrays können Werte zugewiesen werden. Dies geschieht z.B. durch den Aufruf des Konstruktors: Auto [ 0 ] = new pkw ( "Festo" , 200 , 1998 ) ; Den Objekten des Objektarrays können die Attribut-werte auch in einer Schleife zugewiesen werden. Dazu deklarieren wir einen Positionszähler pos, der die Zellen von 0 bis 3 zählen kann. Es ist darauf zu achten, daß die letzte Position den Wert pos = 3 hat. Der Javaprogrammierer ist verantwortlich, daß der Indexbereich eingehalten wird und es zu keinem Speicherfehler kommt. (C) Harder 2007 12.01.2019

Schleife (Codeauszug) Eine solche Schleife sieht dann im Kontext eines BufferedReader-Objekts In so aus (Code-Aus-schnitt): // Benutzerdialog ..... String name = In.readLine () ; int kilowatt = Integer.parseInt (In.readLine ()) ; int baujahr = Integer.parseInt (In.readLine ()) ; // Schleife initialisiert Objekte von Auto[ ] for ( pos = 0; pos < 3 ; pos++ ) { Auto[pos] = new pkw ( name, kilowatt, baujahr ); } (C) Harder 2007 12.01.2019

Zusammenfassung Aus diesen Überlegungen ergibt sich folgende Programm. Dieses Programm ist ein minimales Javaprogramm, das ein Objektarray der pkw-Klasse deklariert und initialisiert: (C) Harder 2007 12.01.2019

Codebeispiel: Ein- und Ausgabe des Objektarrays Auto[3] import java.io.* ; public class pkw { public String name; public int kilowatt; public int baujahr; public pkw ( String nstr, int kw, int bj ) { this.name = nstr ; this.kilowatt = kw ; this.baujahr = bj ; } public static void main ( String [] args ) { pkw Auto [] = new pkw [ 3 ]; Auto [ 0 ] = new pkw ("Festo" , 200 , 1998 ); Auto [ 1 ] = new pkw ("Schmatz" , 250 , 2001 ); Auto [ 2 ] = new pkw ("Herbi" , 100 , 1961 ); for ( int i = 0 ; i < 3 ; i ++ ) { System.out.println ( "Typ: "+Auto [i].name+"\tKW:" + Auto [ i ].kilowatt + "\tBaujahr: " + Auto [i].baujahr + "\n" ) ; (C) Harder 2007 12.01.2019