Informatik Datenstrukturen und Dateien

Größe: px
Ab Seite anzeigen:

Download "Informatik Datenstrukturen und Dateien"

Transkript

1 Informatik Datenstrukturen und Dateien Seite 1 Th Letschert

2 Datenstrukturen Datenstrukturen Sprachelemente zur Speicherung von vielen Daten Datentyp vs Datenstruktur Datentyp Format + Operationen für ein Datum z.b. ganze Zahl im 32 Bit 2er Komplement Format, Zeichen in einem Byte in ASCII-Codierung char c = 'a'; Das Zeichen a Datenstruktur Kollektion von Speicherstellen die zusammen eine (komplexe) Information ausmachen Vorgegebene Strukturen (Beispiele) Feld (Array) Liste Abbildung c Daten unter einem Index gespeichert Daten als Folge von Werten gespeichert Daten unter einem Schlüssel abgelegt Selbst definierte Strukturen erfordern meist spezielle Sprachmittel Seite int[] a = {1,2,3; Die Liste [1,2,3]

3 Datenstrukturen: Felder (Arrays) Felder (Arrays) Daten unter einem Index speichern älteste Datenstruktur in Programmiersprachen Vorbild: Vektoren und Matrizen in der Mathematik Wird von allen klassischen Programmiersprachen unterstützt (C, C++, C#, Java,...) Felder bestehen aus Feldelementen, die über einen Index angesprochen werden können Beispiel: Feld mit 10 Elementen int[] x = new int[10]; for (int i=0; i < 10; i++) { x[i] = i; x wird als ein Feld mit 10 Komponenten angelegt und mit 0, 1,.. 9 gefüllt. Seite 3

4 Felder (Arrays) Felder (Arrays) Geordnet: ein Element nach dem anderen, jedes Element hat einen Index Homogen: alle Elemente haben den gleichen Typ Struktur: Variable Speicher für Elemente Speicher Feld-Variable enthält Zeiger (Adresse) auf den Speicherbereich für die Elemente Speicherplatz für die Feldelemente Seite 4

5 Felder (Arrays) Felder (Arrays) definieren Variante 1 / Erzeugung eines Felds int [] a = new int[10]; Feldelement-Typ Feld-Variable Feld-Größe a Speicher 1. Eine Feld-Variable a wird angelegt. 2. Zusammenhängender Speicherplatz für die Feldelemente wird angelegt und mit 0-en gefüllt. 3. Die Feld-Variable wird mit der Adresse des Speicherplatzes gefüllt. Seite 5

6 Felder (Arrays) Felder (Arrays) definieren Variante 2 / Erzeugung eines Felds int [] a = {1,2,3,4,5,7,8,9,0; Feldelement-Typ Feld-Variable FeldElemente a Speicher 1. Eine Feld-Variable a wird angelegt. 2. Zusammenhängender Speicherplatz für die Feldelemente wird angelegt und mit den Werten gefüllt. 3. Die Feld-Variable wird mit der Adresse des Speicherplatzes gefüllt. Seite 6

7 Felder (Arrays) : Beispiele For-Schleife: Felder (Arrays) durchlaufen Feld durchlaufen mit klassische Schleife for ( int i = 0; i < feld.length; i++ )... verarbeite feld[i]... Für jeden Index i zwischen 0 und der Feldlänge feld.length mache Folgendes Feld durchlaufen mit for-each Schleife for ( Typ elem: feld )... verarbeite elem... Für jedes elem in feld mache Folgendes Nur lesender Zugriff möglich Seite 7

8 Felder (Arrays) : Beispiele Beispiel: Quadratzahlen von 0 bis 19 int[] quadzahl = new int[20]; for (int i=0; i < quadzahl.length; i++) { quadzahl[i] = i*i; for (int v : quadzahl) { System.out.print(v + ". "); System.out.println(); Feld mit 20 Elementen, Index 0.. Index 19 Zähl-Schleife: For-each -Schleife über den Inhalt des Feldes Seite 8

9 Felder (Arrays) : Beispiele Beispiel: Fakultäten f[i] = i! berechnen und ausgeben (1) static void compfak(int[] a) { a[0] = 1; for (int i = 1; i<a.length; i++) { a[i] = a[i-1]*i; Funktion: nimmt Feld an und verändert es public static void main(string args[]) { int[] f = new int[10]; compfak(f); for (int v : f) { System.out.print(v + " "); System.out.println(); Seite 9

10 Felder (Arrays) : Beispiele Beispiel: Fakultäten f[i] = i! berechnen und ausgeben (2) static int[] compfak() { int[] a = new int[10]; a[0] = 1; for (int i = 1; i<a.length; i++) { a[i] = a[i-1]*i; return a; Funktion: erzeugt Feld und gibt es zurück public static void main(string args[]) { int[] f = compfak(); for (int v : f) { System.out.print(v + " "); System.out.println(); Seite 10

11 Felder (Arrays) : Beispiele Beispiel: Suche nach dem Maximum in einem Feld static int max(int[] a) { int max = a[0]; for (int i = 1; i<a.length; i++) { if (a[i] > max) { max = a[i]; return max; public static void main(string args[]) { int[] f = new int[]{4,3,0,1,2,3,7,4,5,2,4,7; System.out.println(max(f)); 7 Seite 11

12 Felder (Arrays) : Zuweisung und Vergleich Felder zuweisen '=' kopiert bei Feldern nicht den Inhalt sondern nur die Zeiger int [] a1 = { 1, 2, 3 ; int [] a2 = { 9, 8, 7 ; a2 = a1; a a a2 = a1; Zuweisung a a Seite 12 vorher nachher

13 Felder (Arrays) : Zuweisung und Vergleich Felder vergleichen '==' testet bei Feldern nicht auf gleichen Inhalt sondern auf Identität int [] a1 = { 1, 2, 3 ; int [] a2 = { 1, 2, 3 ; a1==a2 ist falsch! int [] a1 = { 1, 2, 3 ; int [] a2 = a1; a1==a2 ist wahr! a a a a2 Seite 13 unterschiedliche Zeiger in a1 und a2 gleiche Zeiger in a1 und a2

14 Felder (Arrays) und Funktionen Felder als Funktionsargumente Zahlwerte als Argumente werden in die Parameter-Variablen der Funktion kopiert Felder als Argumente werden nicht kopiert. Lediglich der Verweis auf den Elementspeicher wird zu Funktion kopiert. static void f(int[] a, int v) { for (int i = 1; i<a.length; i++) { a[i] = a[i]+v; f(a,x); int int [] f(a,x); v a Aufruf der Funktion 5 ParameterVariablen der Funktion 5 Übertragung der Argumente x = 5; a = new int[10]; a x Seite 14 5 Variablen in main

15 Felder (Arrays) voller Felder Mehrdimensionale Felder Felder können Felder enthalten Dies kann zur Modellierung mehrdimensionaler Felder genutzt werden. int[][] matrix = { { 10, 20, 30, { 21, 22, 23, matrix { 31, 32, 33 ; for (int[] zeile : matrix) { for (int elem : zeile) { System.out.print(elem + " "); System.out.println(); Seite 15

16 Felder (Arrays) voller Felder Mehrdimensionale Felder Beispiel Matrix-Multiplikation (1) /** * Matrixmultiplikation. matrix1 MxK Matrix matrix2 KxN Matrix MxN Matrix als Produkt von matrix1 und matrix2; * null falls die Dimensionen der Matrizen nicht passen */ static double[][] matmult(double[][] matrix1, double[][] matrix2) { int M = matrix1.length; // Zeilen matrix1 int K = matrix2.length; // Zeilen matrix2 int N = matrix2[0].length; // Spalten matrix2 if (K!= matrix1[0].length) { // Spalten matrix1!= Zeilen matrix2 return null; double[][] resultat = new double [N][M]; for(int i = 0; i < N; i++) { for(int j = 0; j < M; j++) { double s = 0.0; for(int k = 0; k < K; k++) { s = s+ matrix1[i][k] * matrix2[k][j]; resultat[i][j] = s; return resultat; Seite 16

17 Felder (Arrays) voller Felder Mehrdimensionale Felder Beispiel Matrix-Multiplikation / (2) Aufruf der Funktion public static void main(string args[]) { double[][] matrix1 = {{ 1, 2, 3, { 4, 5, 6 ; double[][] matrix2 = {{ 1, 3, { 2, 2, { 3, 1 ; double[][] matrix3 = matmult(matrix1, matrix2); for (double[] zeile : matrix3) { for (double elem : zeile) System.out.print(elem + " "); System.out.println(); Seite 17

18 Felder (Arrays) : Zusammenfassung Vorteile der Felder einfache effiziente Verwaltung von Mengen gleichartiger Daten Nachteile der Felder feste Größe Änderung der Größe nicht direkt möglich muss bei Bedarf simuliert werden (Neues Feld anlegen, Elemente umkopieren) Einfügen und Entfernen von Elementen nicht direkt möglich muss bei Bedarf simuliert werden (umkopieren und verschieben) Seite 18

19 Datenstrukturen : Listen Listen Definition def Listen-Variable = Listen-Wert Beispiel List<Integer> liste = new ArrayList<Integer>(); Zugriff auf Listen-Elemente lesend Listen-Variable.get( Index ) schreibend Listen-Variable.add( Index, Wert ) An einer bestimmten Position einfügen Listen-Variable.add( Wert ) Am Ende anhängen Seite 19

20 Listen Beispiel: Zahlen einlesen und sortiert ausgeben package hallo; import import import import javax.swing.joptionpane; java.util.arraylist; java.util.collections; java.util.list; public class Listenbeispiel { public static void main(string args[]) { List<Integer> liste = new ArrayList<Integer>(); while (true) { String zahlstr = JOptionPane.showInputDialog("Bitte Zahl eingeben"); if (zahlstr == null) { break; int zahl = Integer.parseInt(zahlString); liste.add(zahl); Collections.sort(liste); System.out.println(liste); Seite 20 Th Letschert

21 Abbildungen Abbildung (Zuordnung, engl. Map) Abbildung Wert-Zuordnung Beispiel Telefonbuch: Name ~> Nummer beliebige endliche Tabellen mit 2 Spalten Schlüssel ~> Wert (Key ~> Value) Beziehung Notation eng verwandt mit Listen Definition Map<String, Integer> telefonverz = new HashMap<String, Integer>(); Schlüssel Wert telefonverz ~ { "Hugo" ~> 4711, "Karla" ~> 4712, "Egon" ~> 4713 Abb.-Variable Abb.-Wert Seite 21 Ideell, kann so (leider) in Java nicht hingeschrieben werden.

22 Abbildungen Abbildung (Zuordnung, engl. Map) Zugriff auf Map-Elemente lesend Map-Variable.get( Schlüssel ) schreibend Listen-Variable.put( Schlüssel, Wert ) Seite 22

23 Abbildungen Abbildung Beispiel package hallo; import java.util.hashmap; import java.util.map; import javax.swing.joptionpane; public class MapBeispiel { public static void main(string args[]) { Map<String, Integer> telefonverz = new HashMap<String, Integer>(); while(true) { String name = JOptionPane.showInputDialog("Eintrag: Bitte Name eingeben"); if (name == null) { break; String nrstring = JOptionPane.showInputDialog("Eintrag: Bitte TelefonNr eingeben"); if (nrstring == null) { break; telefonverz.put(name, Integer.parseInt(nrString)); System.out.println(telefonverz); while(true) { String name = JOptionPane.showInputDialog("Suche: Bitte Name eingeben"); if (name == null) { break; JOptionPane.showMessageDialog(null, "Die gesuchte Nr " + (telefonverz.get(name)!= null? "ist " + telefonverz.get(name) : "gibt es nicht") ); Seite 23 Th Letschert

24 Datenmodellierung mit Listen und Abbildungen These: (Fast) Alle Informationsstrukturen der realen Welt lassen sich als Mengen, Listen und Abbildungen über Zahlen und Zeichenketten darstellen. In Programmiersprachen bilde dies nach mit int / double (für Zahlen) String (für Zeichen und Zeichenketten) array (für Listen und Abbildungen mit Schlüssel vom Typ int) List (für Listen und Mengen) Map (für Abbildungen) Seite 24 Th Letschert

25 Datenmodellierung Daten-Modellierung Zentrales Anliegen der Informatik: Informationsstrukturen der realen (Anwendungs-) Welt darstellen. vielfältige Anwendungen der Datenmodellierung in der Programmierung im System-Entwurf vielfältige Methoden und Notationen in diversen Programmiersprachen in der Systementwicklung zwischen denen u.u. gewechselt werden muss Seite 25 Th Letschert

26 Datenstrukturen / Datenmodellierung : Beispiel Stücklisten-Verwaltung Stammdaten: wichtige statische Informationen eines Betriebs über Lieferanden, Kunden, Erzeugnisse etc. Stücklisten: Stammdaten zu Erzeugnissen: Eine Stückliste beschreibt die mengenmäßige Zusammensetzung eines Erzeugnisses aus seinen Einzelteilen. Die Stückliste gibt dabei an, wie viele Mengeneinheiten eines bestimmten Teils oder einer bestimmten Baugruppe auf untergeordneter Erzeugnisstrukturebene benötigt werden, um eine Einheit des Erzeugnisses auf übergeordneter Erzeugnisstrukturebene herzustellen. Baukasten-Stückliste: Stücklisten können in unterschiedlicher Form gespeichert werden. Eine davon ist die Baukasten-Stückliste. Baukastenstücklisten (englisch: unit list ) zeichnen sich dadurch aus, dass jeweils nur eine Ebene der Produktstruktur betrachtet wird: Baugruppen erhalten eigene Stücklisten, die in den Stücklisten der übergeordneten Gruppen verwendet werden. Seite 26

27 Datenstruktur : Beispiel Beispiel Baukasten-Stückliste Produkt P besteht aus einem Einzelteil E1 und einer Baugruppe B Baugruppe B besteht aus aus zwei Einzelteilen E1 und und einem Einzelteil E2 Stückliste = Produkt ~> Menge( (Anzahl x (Baugruppe Teil)) ) E1 E1 P B E1 E2 Baugruppe = Menge( (Anzahl x (Baugruppe Teil)) ) Eine Stückliste ist eine Zuordnung - von Produkten (-nummern) - zu Mengen von Paaren - von Anzahl und Baugruppe (-nummern) oder Teil (-nummern). Eine Baugruppe ist eine Menge Paaren bestehend aus Anzahl und Baugruppe oder Teil. Seite 27 Wie können Stücklisten mit Hilfe von Arrays, Listen und / oder Abbildungen gespeichert werden?

28 Dateien Umgang mit Dateien - Beispiele Der Umgang mit Dateien ist komplex, wir beschränken uns auf einige Beispiele Datei auswählen Dateien können durch Eingabe ihres Pfads oder mit einem speziellen DialogFenster ausgewählt werden. Dateiauswahl durch Angabe eines Pfads public static void main(string[] args) throws FileNotFoundException { String filenane = JOptionPane.showInputDialog("Bitte Datei-Pfad eingeben"); File f = new File(fileNane); Scanner scan = new Scanner(f); while (scan.hasnext()) { System.out.println(scan.next()); Der Benutzer wird in einem Dialog um die Angabe einer Datei gebeten. Diese wird falls gefunden dann wortweise ausgegeben. Seite 28

29 Dateien Dateiauswahl mit Datei-Auswahl-Dialog public static void main(string[] args) throws FileNotFoundException { File f = null; JFileChooser fc = new JFileChooser(); int chooseresult = fc.showdialog(null, "Bitte Datei auswählen"); if (chooseresult == JFileChooser.APPROVE_OPTION) { f = fc.getselectedfile(); if (f!= null) { Scanner scan = new Scanner(f); while (scan.hasnext()) { System.out.println(scan.next()); scan.close(); Der Benutzer wird in einem Dialog um die Auswahl einer Datei gebeten. Diese wird dann wortweise ausgegeben. Seite 29

30 Dateien Datei analysierend lesen Text-Dateien können auf verschiedene Art analysierend gelesen werden. Zeilenweise lesen Wortweise lesen File f =...; Zahlenweise lesen Scanner scan = new Scanner(f); while (scan.hasnextline()) {... System.out.println(scan.nextLine()); scan.close(); File f =...; Scanner scan = new Scanner(f); while (scan.hasnext()) { System.out.println(scan.next()); scan.close(); File f =...; Scanner scan = new Scanner(f); while (scan.hasnextint()) { System.out.println(scan.nextInt()); scan.close(); Seite 30

31 Dateien Datei schreiben Text-Dateien können einfach beschrieben werden. Beispiel 1: File f =...; if (f!= null) { PrintWriter pw = new PrintWriter(f); pw.println("hallo"); pw.close(); Beispiel 2: public static void main(string[] args) throws IOException { String filepath = JOptionPane.showInputDialog("Ausgabe-Datei?"); PrintWriter pw = new PrintWriter(new FileWriter(filePath)); pw.println("hallo"); pw.println("welt!"); pw.close(); Seite 31

32 Dateien Datei mit strukturiertem Inhalt lesen Beispiel: Einlesen einer Tabelle Anlage; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; Bezeichnung; Rollstuhl Venezia XTRA; Rollstuhl Venezia XTRA; Hunderolli HappyWuff; Seniorenrollstuhl Evolution; Seniorenrollstuhl Esprit; Seniorenrollstuhl Esprit; Personenrollstuhl Budget; Seniorenrollstuhl Esprit; Personenrollstuhl Esprit; Personenrollstuhl Esprit; Personenrollstuhl Esprit; Personenrollstuhl AVO 1000; Personenrollstuhl AVO 1000; Personenrollstuhl AVO 1000; Personenrollstuhl AVO 1000; Personenrollstuhl Esprit; Seniorenrollstuhl Esprit; Personenrollstuhl Esprit; Personenrollstuhl Esprit; Personenrollstuhl Esprit; Personenrollstuhl Esprit; Baujahr; 2005; 1985; 2007; als Liste( [ Attribut ~> Wert ] ) Seite 32 Attribut Anlage Garantie; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; Typbezeichnung; Venezia 923; Venezia 923; XZR61E00; BC61E00; XZR71A30; XZR71A30; XZR51E55; XZR71A40; XZR71A30; XZR71A30; XZR71A00; XZR61 E54; XZR61 E54; XZR61 E54; XZR61 E54; XZR71A30; XZR71A30; XZR71A30; XZR71A30; XZR71A00; XZR71A00; Stoerungen; 4; 0; 2; 0; 11; 9; 10; 0; 0; 0; 0; 1; 0; 0; 0; 5; 0; 0; 0; 0; 0;

33 Dateien Datei mit strukturiertem Inhalt lesen Beispiel public static void main(string[] args) throws IOException { List<Map<String, String>> stock = new ArrayList<Map<String, String>>(); File f = null; JFileChooser fc = new JFileChooser(); int chooseresult = fc.showdialog(null, "Bitte Datei auswählen"); if (chooseresult == JFileChooser.APPROVE_OPTION) { f = fc.getselectedfile(); if (f!= null) { Scanner scan = new Scanner(f); String header = scan.nextline(); String[] attrname = header.split(";"); for(int i =0; i<attrname.length; i++) { attrname[i] = attrname[i].trim(); while (scan.hasnextline()) { Map<String,String> entry = new HashMap<String,String>(); String line = scan.nextline(); String[] values = line.split(";"); int i = 0; for(string a: attrname) { String value = values[i++].trim(); entry.put(a, value); stock.add(entry); scan.close(); Seite 33

34 Dateien... und wieder in Datei ausgeben f = null; fc = new JFileChooser(); chooseresult = fc.showdialog(null, "Bitte Datei auswählen"); if (chooseresult == JFileChooser.APPROVE_OPTION) { f = fc.getselectedfile(); if (f!= null) { PrintWriter pw = new PrintWriter(f); for (String attr: attrname) { pw.print(attr+";\t"); pw.println(); for(map<string, String> entry: stock) { for (String key: attrname) { pw.print(entry.get(key)+";\t"); pw.println(); pw.close(); Seite 34

35 Dateien Alle Dateien eines bestimmten Verzeichnisses mit einer bestimmten Endung lesen private static File finddirectory(string msg) { JFileChooser fc = new JFileChooser(); fc.setfileselectionmode(jfilechooser.directories_only); int returnval = fc.showdialog(null, msg); if (returnval == JFileChooser.APPROVE_OPTION) { return fc.getselectedfile(); else return null; private static File[] findfilesindirectory(file directory, final String extension) { FilenameFilter extensionfilter = new FilenameFilter() { public boolean accept(file f, String name) { if (name.endswith(extension)) { return true; else { return false; ; return directory.listfiles(extensionfilter); public static void main(string[] args) { File dir = finddirectory("csv-verzeichnis"); File[] csvfiles = findfilesindirectory(dir, "csv"); for (File f: csvfiles) { System.out.println(f); Seite 35

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS005 Objektorientierte Programmierung Bachelor of Science (Informatik) Felder / Arrays Seite Th Letschert Datentypen und Datenstrukturen Datentyp Format / Operationen für ein Datum c z.b. ganze Zahl im

Mehr

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) CS005 Objektorientierte Programmierung Bachelor of Science (Informatik) Th Letschert Felder Seite Th Letschert OOP Felder / Arrays Seite 2 Th Letschert Feld / Array Feld (auch Array) Daten unter einem

Mehr

Informatik II Aufgabenblatt 6

Informatik II Aufgabenblatt 6 Prof. Dr. Th. Letschert FB MNI TH Mittelhessen StudiumPlus Informatik II Aufgabenblatt 6 Gruppenübung Aufgabe 1 CSV Dateien sind Textdateien die Zeilen mit Komma-separierten Werten bestehen (CSV = Comma

Mehr

Informatik II. Vordefinierte Datenstrukturen. - Abbildungen Map. Seite 1 Th Letschert, THM

Informatik II. Vordefinierte Datenstrukturen. - Abbildungen Map. Seite 1 Th Letschert, THM Informatik II Vordefinierte atenstrukturen - Listen List - bbildungen Map - Mengen Set Seite 1 Th Letschert, THM atenstrukturen atenstrukturen Sprachelemente zur strukturierten Speicherung von aten atentyp

Mehr

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

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Objektorientierung I : Statische Klassen Statische Aspekte (Modularisierung) Dynamische Aspekte (Klassen-Objekte) Seite 1 Th Letschert

Mehr

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Funktionen / statische Methoden - Definition - Verwendung - Ausführung Seite 1 Th Letschert Funktionen: Definition und Verwendung

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

Programmieren lernen mit Groovy Kollektionen: Listen und Abbildungen

Programmieren lernen mit Groovy Kollektionen: Listen und Abbildungen Programmieren lernen mit Groovy Kollektionen: Listen und Abbildungen Seite 1 Listen Listen Definition def Listen-Variable = Listen-Wert def liste = [1,2,3,4,5,6,7,8,9] Der erste Index ist 0! liste[0] Zugriff

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

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

Ausgabe:

Ausgabe: 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

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

Datenstrukturen / Container in Java

Datenstrukturen / Container in Java Datenstrukturen / Container in Java Mathematik / Algebraischer Datentyp / Containerklassen Enum-Klassen Arrays (Felder) = elementare Container Algorithmen mit Arrays Prof. Dr. E. Ehses, 2014 1 Mathematik

Mehr

Informatik Algorithmen und Programme

Informatik Algorithmen und Programme Informatik Algorithmen und Programme Seite 1 Grundlagen der Programmierung: Spezifikation Phasen der Software-Entwicklung Spezifikation Problem und seine Lösung beschreiben vollständig detailliert unzweideutig

Mehr

OOP Aufgabenblatt Dezember 2013

OOP Aufgabenblatt Dezember 2013 1 Prof. Dr. Th. Letschert OOP Aufgabenblatt 9 18. Dezember 2013 Aufgabe 1 Betrachten Sie folgende Anwendung zum Sortieren eingelesener Zahlen: package oop.blatt_9.aufgabe_1.vorgabe; import javax.swing.joptionpane;

Mehr

Informatik Funktionen

Informatik Funktionen Informatik Seite 1 Funktion Mathematik: Zuordnung Argumentwert(e) => Ergebniswerte Beispiel: f(x,y) = 2*x+y Informatik / Programmierung: Zusammenfassung von Anweisungen die von Argumentwerten abhängen

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

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

Dr. Monika Meiler. Inhalt

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

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

Java - Programmierung - Prozedurale Programmierung 1

Java - Programmierung - Prozedurale Programmierung 1 Java - Programmierung - Prozedurale Programmierung 1 // elementare Datentypen public class el_dt public static void main(string args []) byte b = 127; short s = 32767; int i = 2147483647; long l = 9223372036854775807L,

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

FH 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

Mehr

Arrays. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik

Arrays. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik Arrays Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Inhalte der heutigen Vorlesung: Arraytypen Speicherdarstellung von Arrays Auswertung

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 Anweisungen mit Variablen Wiederholung Deklaration

Mehr

Felder. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

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

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

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7. CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)

Mehr

Einführung in die Programmierung für NF. Arrays

Einführung in die Programmierung für NF. Arrays Einführung in die Programmierung für NF Arrays ARRAY (REIHUNG) 4 Arrays 2 Array In der Programmierung werden o: Tupel verschiedener Länge benutzt. Beispiel: Vektoren (1.0, 1.0) (0.2, 1.2, 7.0) Beispiel:

Mehr

Programmieren lernen mit Groovy Objektorientierung Typen

Programmieren lernen mit Groovy Objektorientierung Typen Programmieren lernen mit Groovy Objektorientierung Typen Seite 1 Objektorientierung Objekt-Orientierung vom Funktionalen zum objektorientierten Programmierstil Funktionaler / Prozeduraler Stil Daten und

Mehr

1 Klassen und Objekte

1 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

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Einführung in die Programmiersprache Java (Teil III)... 4-2 4.5 Referenzdatentypen - Felder... 4-2 4.5.1 Eindimensionale Felder - Vektoren... 4-3 4.5.2 Beispiel Sortieren eines Vektors... 4-4

Mehr

Reihungen. Prof. Dr. Christian Böhm. In Zusammenarbeit mit Gefei Zhang. WS 07/08

Reihungen. Prof. Dr. Christian Böhm. In Zusammenarbeit mit Gefei Zhang.   WS 07/08 Reihungen Prof. Dr. Christian Böhm In Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw WS 07/08 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende

Mehr

Arrays. Einleitung. Deklarieren einer Array Variablen

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

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. 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 II. Woche 15, Giuseppe Accaputo

Informatik II. Woche 15, Giuseppe Accaputo Informatik II Woche 15, 13.04.2017 Giuseppe Accaputo g@accaputo.ch 1 Themenübersicht Repetition: Pass by Value & Referenzen allgemein Repetition: Asymptotische Komplexität Live-Programmierung Aufgabe 7.1

Mehr

Reihungen. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang

Reihungen. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang Reihungen Martin Wirsing in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang http://www.pst.informatik.uni-muenchen.de/lehre/ws0506/infoeinf/ WS 05/06 2 Ziele Die Datenstruktur der Reihungen

Mehr

Konstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; }

Konstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; } Konstruktor spezielle Methode zum Initialisieren bei Erzeugen eines Objekts mit new trägt Namen der Klasse hat keinen Rückgabetyp keiner angegeben: Compiler erzeugt Standard-Konstruktor (analog: Attribute

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

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 03: Schleifen Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 12 Inhalt Codequalität

Mehr

Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen

Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Aufgabenblatt 4 Aufgabe 1 1. Erläutern Sie in eigenen Worten die Begriffe Datenstruktur, Datentyp und abstrakter Datentyp. Nutzen Sie das Beispiel

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

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

Informatik II. Dateien. Seite 1 Th Letschert, THM

Informatik II. Dateien. Seite 1 Th Letschert, THM Informatik II Dateien Seite 1 Th Letschert, THM Dateien - Konzept Datei Externer Datenspeicher CPU: Programmausführung Hauptspeicher: Programmcode und -Daten, direkt zugreifbar von CPU Festplatte etc.:

Mehr

Informatik II Aufgabenblatt 1

Informatik II Aufgabenblatt 1 Prof. Dr. Th. Letschert FB MNI TH Mittelhessen StudiumPlus Informatik II Aufgabenblatt 1 Gruppenübung Aufgabe 1 Ein Telefonverzeichnis ist eine Zuordnung (Abbildung) von Namen zu Telefonnummern. Zuordnungen

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

System.out.println("TEXT");

System.out.println(TEXT); Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class

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

Tag 8 Repetitorium Informatik (Java)

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

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine

Mehr

10. Felder (Arrays) Teil 2. Java-Beispiele: Echo.java Primzahlen.java Monate.java. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

10. Felder (Arrays) Teil 2. Java-Beispiele: Echo.java Primzahlen.java Monate.java. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 10. Felder (Arrays) Teil 2 Java-Beispiele: Echo.java Primzahlen.java Monate.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 18. Nov. 2015 2 Techniken mit Arrays: Boolean-Anzeige-Feld

Mehr

Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung

Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung Felder (Arrays) Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder

Mehr

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Kollektionen der Java-API Listen Abbildungen Mengen Seite 1 Th Letschert Datenstrukturen Datenstrukturen Sprachelemente zur strukturierten

Mehr

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

Mehr

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Dateien Konzept, Verwendungsbeispiele Textdateien und ihre Analyse Binärdateien Seite 1 Thomas Letschert Dateien - Konzept Datei

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

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

Reihungen und Prozeduren

Reihungen und Prozeduren Reihungen und Prozeduren Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.ifi-lmu.de/lehre/ss06/info2/ SS 06 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch

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

Einführung in die Programmierung I. 2.4 Felder. Thomas R. Gross. Department Informatik ETH Zürich

Einführung in die Programmierung I. 2.4 Felder. Thomas R. Gross. Department Informatik ETH Zürich 252-0027 Einführung in die Programmierung I 2.4 Felder Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.4 Felder (Vektoren, "array"s) 2.5 Verschachtelte Schleifen 2.6 "if" Anweisungen 2.7

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

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

5. Java Arrays und Strings

5. Java Arrays und Strings Arrays Arrayvariable deklarieren: int[] z; z 5. Java Arrays und Strings Array erzeugen: z = new int[5]; Allokation, Referenzen, Elementzugriff, Mehrdimensionale Arrays, Strings, Stringvergleiche z ist

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

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 26. März 2009, c 2009 D.Rösner D.

Mehr

Java Referenzdatentypen genauer betrachtet

Java Referenzdatentypen genauer betrachtet Informatik 1 für Nebenfachstudierende Grundmodul Java Referenzdatentypen genauer betrachtet Kai-Steffen Hielscher Folienversion: 23. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Referenzdatentypen

Mehr

Programmieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik

Programmieren 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

Mehr

Programmieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik

Programmieren 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

Mehr

OOP Aufgabenblatt Januar 2014

OOP Aufgabenblatt Januar 2014 1 Prof. Dr. Th. Letschert OOP Aufgabenblatt 10 15. Januar 2014 Aufgabe 1 Informationen zu einem beliebigen Objekt können in einer Abbildung als Zuordnung von Attribut und zugehörigem Wert gespeichert werden:

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

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

Schwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen

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

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

Java Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Java Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Java Übung Übung 3 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 2. Mai 2006 (UniDUE) 2. Mai 2006 1 / 17 Aufgabe 1 Umwandeln von do while in for Schleife. Listing 1: aufgabe3 1.java 1 public

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

Mehr

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches

Mehr

Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II a[0] a[1] a[2] a[3] a[n 1]

Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II a[0] a[1] a[2] a[3] a[n 1] Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -108 Kapitel 5: Arrays Einführung Ein Array ist eine Reihung gleichartiger Objekte. a: a[0] a[1] a[2] a[3] a[n 1] Bezeichner a steht

Mehr

boolean ispalindrome = word.equalsignorecase(reverse.tostring());

boolean ispalindrome = word.equalsignorecase(reverse.tostring()); Bereich: Input/Output (2) Palindrome speichern Package: de.dhbwka.java.exercise.io Musterlösung Klasse: PalindromeFile package de.dhbwka.java.exercise.io; import java.io.bufferedreader; import java.io.file;

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-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 5 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für

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

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von

Mehr

Rechtsbelehrung. Java und OOP Das Buch Christian Silberbauer 144

Rechtsbelehrung. Java und OOP Das Buch Christian Silberbauer   144 Rechtsbelehrung Dieser Foliensatz ist urheberrechtlich geschützt. Änderungen an den Folien sind untersagt. Ausschließlich eine nicht-kommerzielle Nutzung ist kostenfrei. Andernfalls wird eine Gebühr fällig.

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

Informatik Praktikum 5

Informatik Praktikum 5 Informatik Praktikum 5 Michael Roth Andreas Behr michael.roth@h-da.de andreas.behr@h-da.de 1 Programmieraufgaben Diese kleinen Aufgaben sollen Ihnen helfen das gelernte noch ein wenig mehr zu vertiefen.

Mehr

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor Albert-Ludwigs-Universität Freiburg Institut für Informatik Einführung in die Informatik Sommersemester 2013 PD Dr. Cyrill Stachniss Dr. Rainer Kümmerle Übungsblatt 13 Abgabe / Besprechung in Absprache

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

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

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

C# - 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 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

Mehr