Einführung in die Programmierung Generische Programmierung. Thomas R. Gross. Department Informatik ETH Zürich
|
|
- Moritz Kraus
- vor 6 Jahren
- Abrufe
Transkript
1 Einführung in die Programmierung 10.0 Generische Programmierung Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013 and Thomas Gross 2016 All rights reserved.
2 Uebersicht 10.0 Einleitung 10.1 ArrayList<T> ArrayList<Person> Wrapper Typen 10.2 Vergleichen von Objekten 10.3 Mengen 10.4 Abbildungen 2
3 ArrayList Type in ArrayList<Type> muss ein Referenztyp sein Type kann nicht ein Basistyp sein Wrapper Types: int: Integer, double:double, boolean:boolean,. Referenztypen die einen Wert des entsprechenden Basistyps enthalten
4 // creates a list of ints ArrayList<Integer> score = new ArrayList<Integer>(); // creates a list of doubles ArrayList<Double> grade = new ArrayList<Double>(); Eine so konstruierte Liste kann dann wie gewöhnlich verwendet werden 4
5 Wrapper Klassen Das Umwandeln eines Basistyps in den entsprechenden Wrapper Typ wird als boxing bezeichnet Integer bigi = 5; int j = 7; bigi = j; System.println( bigi = " + bigi); Der Zugriff auf den Basistypwert wird als unboxing bezeichnet int k = bigi; System.println("k = " + k); 5
6 Integer Parameter Was gibt dieses Programm(segment) aus? Integer bi = new Integer(777); test(bi); System.out.println(bi); public static void test(integer bigi) { System.out.println(bigI); Integer somei; somei = 333; System.out.println(someI); bigi = new Integer(666); System.out.println(bigI); 6
7 Integer Parameter Was gibt dieses Programm(segment) aus? Integer bi = new Integer(777); test(bi); System.out.println(bi); public static void test(integer bigi) { System.out.println(bigI); Integer somei; somei = 333; System.out.println(someI); bigi = new Integer(666); System.out.println(bigI);
8 Wrapper Klassen Eine mit Wrappern konstruierte Liste kann dann wie gewöhnlich verwendet werden ArrayList<Double> noten = new ArrayList<Double>(); noten.add(5.75); noten.add(3.5);... double mygrade = noten.get(0); 8
9 Legale und Illegale Indize Der Index für einen Zugriff auf ein Element der Liste muss zwischen 0 und der Grösse der Liste - 1 liegen (einschliesslich) 0 <= index <= list.size() - 1. Ein Zugriff auf ein Element ausserhalb dieses Bereichs hat eine IndexOutOfBoundsException zur Folge.
10 index value Bob Pete Vicki Sue ArrayList<String> names = new ArrayList<String>(); names.add( Bob"); names.add( Pete"); names.add( Vicki"); names.add( Sue"); System.out.println(names.get(0)); System.out.println(names.get(3)); System.out.println(names.get(-1)); names.add(9, "Aimee"); // okay // okay // exception // exception 10
11 11
12 ArrayList Rätsel" ArrayList<Integer> list = new ArrayList<Integer>(); for (int i = 1; i <= 10; i++) { list.add(10 * i); // [10, 20, 30, 40,..., 100] Was gibt dieses Programmsegment aus? for (int i = 0; i < list.size(); i++) { list.remove(i); System.out.println(list);
13 ArrayList Rätsel" ArrayList<Integer> list = new ArrayList<Integer>(); for (int i = 1; i <= 10; i++) { list.add(10 * i); // [10, 20, 30, 40,..., 100] Was gibt dieses Programmsegment aus? for (int i = 0; i < list.size(); i++) { list.remove(i); System.out.println(list); Answer: [20, 40, 60, 80, 100]
14 14
15 15
16 ArrayList Rätsel" 2 ArrayList<Integer> list = new ArrayList<Integer>(); for (int i = 1; i <= 5; i++) { list.add(2 * i); // [2, 4, 6, 8, 10] Was gibt dieses Programmsegment aus? int size = list.size(); for (int i = 0; i < size; i++) { list.add(i, 42); // add 42 at index i System.out.println(list);
17 ArrayList Rätsel" 2 ArrayList<Integer> list = new ArrayList<Integer>(); for (int i = 1; i <= 5; i++) { list.add(2 * i); // [2, 4, 6, 8, 10] Was gibt dieses Programmsegment aus? int size = list.size(); for (int i = 0; i < size; i++) { list.add(i, 42); // add 42 at index i System.out.println(list); Answer: [42, 42, 42, 42, 42, 2, 4, 6, 8, 10]
18 18
19 ArrayList Rätsel" 3 ArrayList<Integer> list = new ArrayList<Integer>(); for (int i = 1; i <= 5; i++) { list.add(2 * i); // [2, 4, 6, 8, 10] Was gibt dieses Programmsegment aus? for (int i = 0; i < list.size(); i++) { list.add(i, 777); // add 777 at index i System.out.println(list);
20 20
21 Uebung Schreiben Sie ein Programm das eine Datei mit ganzen Zahlen liest und dann die Zahlen als Liste druckt: Dann drucken Sie den Durchschnitt der Zahlen. Geben Sie die grösste und die kleinste Zahl aus. Filtern (d.h. entfernen) Sie alle geraden Zahlen (Zahlen die durch 2 ohne Rest teilbar sind).
22 ArrayList Methoden add(value) add(index, value) clear() indexof(value) get(index) remove(index) set(index, value) size() tostring() appends value at end of list inserts given value just before the given index, shifting subsequent values to the right removes all elements of the list returns first index where given value is found in list (-1 if not found) returns the value at given index removes/returns value at given index, shifting subsequent values to the left replaces value at given index with given value returns the number of elements in list returns a string representation of the list such as "[3, 42, -7, 15]"
23 Lösung (Auszug) ArrayList<Integer> numbers = new ArrayList<Integer>(); Scanner input = new Scanner(new File("numbers.txt")); while (input.hasnextint()) { int n = input.nextint(); numbers.add(n); System.out.println(numbers); filterevens(numbers); // Remove even numbers System.out.println(numbers);...
24 Lösung (Auszug) ArrayList<Integer> numbers = new ArrayList<Integer>(); Scanner input = new Scanner(new File("numbers.txt")); while (input.hasnextint()) { int n = input.nextint(); numbers.add(n); System.out.println(numbers); filterevens(numbers); System.out.println(numbers);...
25 Lösung (Auszug) // Removes all elements w/ even values from the list. public static void filterevens(arraylist<integer> list) { for (int i = list.size() - 1; i >= 0; i--) { int n = list.get(i); if (n % 2 == 0) { list.remove(i); 25
26 26
27 Uebung Schreiben Sie eine Methode addstars die eine ArrayList von Strings als Parameter hat und einen * nach jedem Element einfügt. Beispiel : Wenn die ArrayList list am Anfang enthält: [die, schnelle, graue, Schlange] Dann ist der Effekt des Aufrufs addstars(list) diese Liste: [die, *, schnelle, *, graue, *, Schlange, *]
28 Schreiben Sie eine Methode removestars die eine ArrayList von Strings als Parameter hat in der jedes zweite Element ein * ist, und entfernen Sie diese Sterne (machen also den Effekt der Methode addstars rückgängig). 28
29 Lösungen public static void addstars(arraylist<string> list) { for (int i = 0; i < list.size(); i += 2) { list.add(i+1, "*"); public static void removestars(arraylist<string> list) { for (int i = 1; i < list.size(); i++) { list.remove(i);
30 30
31 Uebung SchreibenSie eine Methode intersect die zwei ArrayListen mit ganzen Zahlen als Parameter akzeptiert und eine neue ArrayList zurückgibt, die nur die Elemente enthält, die in beiden Listen vorhanden sind. Beispiel: Wenn list1 und list2 ursprünglich enthalten: [1, 4, 8, 9, 11, 15, 17, 28, 41, 59] [4, 7, 11, 17, 19, 20, 23, 28, 37, 59, 81] dann ergibt der Aufruf von intersect(list1, list2) die Liste: [4, 11, 17, 28, 59]
32 Lösung (Teil 1) ArrayList<Integer> list1 = new ArrayList<Integer>(); Scanner input = new Scanner(new File("list1.txt")); while (input.hasnext()) { int i = input.nextint(); list1.add(i); ArrayList<Integer> list2 = new ArrayList<Integer>(); input = new Scanner(new File("list2.txt")); while (input.hasnext()) { int i = input.nextint(); list2.add(i); 32
33 Lösung (Teil 2) ArrayList<Integer> list3 = new ArrayList<Integer>(); list3.addall(list1); list3.retainall(list2); System.out.println(list3); 33
34 Andere Uebungen Schreiben Sie eine Methode reverse die die Reihenfolge der Elemente einer ArrayList fürstrings umkehrt. Schreiben Sie eine Methode capitalizeadverbs die als Parameter eine ArrayList von String Objekten entgegen nimmt und jedes Wort eines englischen Textes, das mit ly" endet, mit Grossbuchstaben schreibt.
35 Collections als Attribut von Objekten Ein Objekt kann einen Array, eine ArrayList, oder jede beliebige Sammlung als Attribut haben. public class Course { private String[] locations; private ArrayList<String> studentnames; private ArrayList<Double> studentgrades; public Course() { locations = new String[5]; studentnames = new ArrayList<String>();... Jedes Exemplar enthält jetzt zwei Collection Objekte.
36 Die compareto Methode Um das Vergleichen von Exemplaren zu ermöglichen sollte eine Java Klasse eine Methode compareto definieren, die auf der Menge der Exemplare eine (totale) Ordnungsrelation definiert Diese erlaubt es dann zwei Exemplare zu vergleichen. A B oder B A A B und B A: A = B Beispiel: in der String Klasse gibt es die Methode public int compareto(string other)
37 compareto für String Beispiel: in der String Klasse gibt es die Methode public int compareto(string other) Ein Aufruf A.compareTo(B) liefert: einen Wert < 0 wenn A vor" B in der Ordnungsrelation ist, einen Wert > 0 wenn A nach" B in der Ordnungsrelation ist, oder 0 wenn A und B in der Ordnungsrelation gleich" sind 37
38 Gebrauch von compareto compareto kann im Test einer if Anweisung gebraucht werden. String a = "alice"; String b = "bob"; if (a.compareto(b) < 0) { // true...
39 Gebrauch von compareto Primitives Objects if (a < b) {... if (a.compareto(b) < 0) {... if (a <= b) {... if (a.compareto(b) <= 0) {... if (a == b) {... if (a.compareto(b) == 0) {... if (a!= b) {... if (a.compareto(b)!= 0) {... if (a >= b) {... if (a.compareto(b) >= 0) {... if (a > b) {... if (a.compareto(b) > 0) {... 39
40 compareto und Collections Die Methode für binäre Suche funktioniert für Arrays und ArrayLists da diese Methode (intern) die compareto Methode aufruft. String[] a = {"al", "bob", "cari", "dan", "mike"; int index = Arrays.binarySearch(a, "dan"); // 3 Auch sortieren ist deswegen möglich String [] s = {"my", "dog", "has", "fleas"; Arrays.sort(s); System.out.println(Arrays.toString(a)); Output: [dog, fleas, has, my]
41 Wie können wir mit einer ArrayList arbeiten? Wie die Klasse Arrays gibt es auch eine Klasse Collections die nützliche Methoden für Collections enthält zum Beispiel sort 41
42 Wie können wir mit einer ArrayList arbeiten? Wie die Klasse Arrays gibt es auch eine Klasse Collections die nützliche Methoden für Collections enthält Fall 1: Die Objekte der ArrayList stellen compareto zur Verfügung ArrayList<String> list1 = new ArrayList<String>(); for (int i = 0; i < s.length; i++) list1.add(new String(s[i])); Collections.sort(list1); Output: [dog, fleas, has, my] 42
43 Wie können wir mit einer ArrayList mit beliebigen Objekten arbeiten? Fall 2: Selbstdefinierte Klassen Beispiel: Wir halten zu jedem Wort die Position des ersten Auftretens in einem Text fest public class Word { String item; int position; int count; Word(String n) { item = n; 43
44 public class Word { String item; int position; Word(String n) { item = n; 44
45 Wie können wir mit einer ArrayList mit beliebigen Objekten arbeiten? Fall 2: Selbstdefinierte Klassen String [] s = {"my", "dog", "has", "fleas"; ArrayList<Word> list1 = new ArrayList<Word>(); for (int i=0; i<s.length; i++) { list1.add(new Word(s[i])); Collections.sort(list1); 45
46 Sieht gut aus, aber wird nicht übersetzt //javac Example7aa.java Example7aa.java:15: cannot find symbol symbol : method sort(java.util.arraylist<word>) location: class java.util.collections Collections.sort(list1); ^ 1 error 46
47 Selbstdefinierte Typen ordnen Wir können eine beliebige ArrayList nicht sortieren da Java nicht weiss, wie die Elemente zu ordnen sind. Unsere Klasse (Word) muss klar machen, wie die Elemente geordnet sind Dafür gibt es eininterface das compareto enthält
48 Comparable public interface Comparable<E> { public int compareto(e other); Eine Klasse kann das Interface Comparable implementieren und so eine natürliche Ordnung für ihre Exemplare definieren. Natürliche Ordnung: es gibt nur eine Ordnungsrelation Wenn wir mehrererelationen zulassen wollen dannwird es komplizierter
49 Comparable Ein Aufruf A.compareTo(B) liefert: einen Wert < 0 einen Wert > 0 wenn A vor" B in der Ordnungsrelation ist, wenn A nach" B in der Ordnungsrelation ist, oder 0 wenn A und B in der Ordnungsrelation gleich" sind 49
50 Comparable Muster public class name implements Comparable<name> {... public int compareto(name other) {...
51 Comparable Beispiel class Word implements Comparable<Word> { String item; int position; int count; //constructor public int compareto(word otherword) { String compareitem = otherword.item; return (item.compareto(compareitem)); 51
52 52
53 Comparable Beispiel Was wenn wir jetzt die Exemplare auch nach der Position oder der Häufigkeit ordnen wollen? Dann hätten wir drei mögliche Ordnungsrelationen 1. Lexikographisch auf Grund des Namens 2. Nach Häufigkeit 3. Nach der Position des 1. Auftretens Geht auch aber dazu müssen wir ein besonderes Objekt konstruieren, einen Comparator<T> Später 53
54 compareto und Collections Auch andere Collections nutzen diese Methode. Java's TreeSet/Map braucht intern compareto um eine Ordnung zu definieren Set<String> set = new TreeSet<String>(); for (String s : a) { set.add(s); System.out.println(s); // [al, bob, cari, dan, mike]
55 Aufgabe Sie erinnern sich an die Klasse Point 55
56 Klasse Point public class Point { private int x; private int y; // Constructs a Point at the given x/y location. public Point(int initialx, int initialy) { x = initialx; y = initialy; // Methods...
57 Aufgabe Sie erinnern sich an die Klasse Point Wir wollen die Point Exemplare sortieren können Das X Attribut entscheidet, ob ein Point vor einem anderen ist, und wenn die X Attribute gleich sind, dann entscheidet das Y Attribut 57
58 Aufgabe Sie erinnern sich an die Klasse Point Wir wollen die Point Exemplare sortieren point1 "vor" point2 wenn point1.x < point2.x oder point1.x == point2.x und point1.y < point2.y point1 "nach" point2 wenn point1.x > point2.x oder point1.x == point2.x und point1.y > point2.y sonst point1 "gleich" point2 58
59 compareto für Point Ein Aufruf A.compareTo(B) liefert: einen Wert < 0 wenn A vor" B in der Ordnungsrelation ist, einen Wert > 0 wenn A nach" B in der Ordnungsrelation ist, oder 0 wenn A und B in der Ordnungsrelation gleich" sind 59
60 Comparable Beispiel public class Point implements Comparable<Point> { private int x; private int y;
61 Comparable Beispiel public class Point implements Comparable<Point> { private int x; private int y;
62 // sort by x and break ties by y public int compareto(point other) { if (x < other.x) { return -1; else if (x > other.x) { return 1; else if (y < other.y) { return -1; // same x, smaller y else if (y > other.y) { return 1; // same x, larger y else { return 0; // same x and same y Comparable für Point
63 compareto Diskussion Subtraktion Manchmal kann man durch Subtraktion entsprechender Werte den für compareto gewünschten Rückgabewert erhalten: // sort by x and break ties by y public int compareto(point other) { if (x!= other.x) { return x - other.x; // different x else { return y - other.y; // same x; compare y
64 compareto Diskussion Subtraktion Manchmal kann man durch Subtraktion entsprechender Werte den für compareto gewünschten Rückgabewert erhalten: Die Idee: if x > other.x, then x - other.x > 0 if x < other.x, then x - other.x < 0 if x == other.x, then x - other.x == 0 Achtung: Dieser Weg funktioniert nicht für reelle Zahlen (doubles) aber siehe Math.signum(double)
65 compareto Diskussion tostring - Wenn die tostring Darstellung der Exemplare der Ordnungsrelation entspricht, dann können wir so vergleichen: // sort by date, e.g. "09/19" > "04/01" public int compareto(date other) { return tostring().compareto(other.tostring()); Delegation Wenn die Exemplare Attribute haben, die verglichen werden können (z.b. Strings) dann kann man deren compareto Methode verwenden : // sort by employee name, e.g. "Jim" < "Susan" public int compareto(employee other) { return name.compareto(other.getname());
66 Uebersicht 10.3 Mengen 10.4 Abbildungen 66
67 Java collections framework
68 Uebung Schreiben Sie ein Programm, das zählt wie viele verschiedene Wörter in einem Text auftauchen (z.b., Tolstois Krieg und Frieden [Война и мир] oder Goethes Faust ). Speichern Sie die Wörter in einer (An)Sammlung und geben Sie die Anzahl der aufgetretenen Wörter aus. Sind [das] Gute, gute, gut, guter, guten verschieden? Nach dem Einlesen des Textes sollte es möglich sein, festzustellen ob ein bestimmtes Wort im Text auftritt.
69 Sammlungen Was für eine Collection ist die beste für dieses Problem? Wie kann man diese Frage beantworten? Was müssen wir wissen? 69
70 70
71 71
72 List<E> 72
73 LinkedList<E> 73
74 LinkedList Methoden add(value) add(index, value) clear() indexof(value) get(index) remove(index) set(index, value) size() tostring() appends value at end of list inserts given value just before the given index, shifting subsequent values to the right removes all elements of the list returns first index where given value is found in list (-1 if not found) returns the value at given index removes/returns value at given index, shifting subsequent values to the left replaces value at given index with given value returns the number of elements in list returns a string representation of the list such as "[3, 42, -7, 15]"
75 Kommt uns diese Liste bekannt vor? 75
76 Kommt uns diese Liste bekannt vor? Die selben Methoden sind fürarraylist definiert. 76
77 ArrayList Methoden add(value) add(index, value) clear() indexof(value) get(index) remove(index) set(index, value) size() tostring() appends value at end of list inserts given value just before the given index, shifting subsequent values to the right removes all elements of the list returns first index where given value is found in list (-1 if not found) returns the value at given index removes/returns value at given index, shifting subsequent values to the left replaces value at given index with given value returns the number of elements in list returns a string representation of the list such as "[3, 42, -7, 15]"
78 Das Kleingedruckte LinkedList: get(index) braucht O(n) Zeit ArrayList: get(index) braucht O(1) Zeit 78
79 Praktische Analyse Müssen das Laufzeitverhalten für realistischen Input messen Was ist realistischer Input? Zeitmessungen nicht einfach Java System hat viele Komponenten (einige habenwir nochgarnicht kennengelernt) und verschiedene Compiler Einfache Messung gibt uns end-to-end Uebersicht System.currentTimeMillis() Eingebaut 79
80 System.currentTimeMillis() Gibt die Zeit (in ms) seit 00:00, 1. Januar Typ des Rückgabewertes ist long Ein anderer Basistyp Wie int nur mit einer Darstellung die mehr Bits (64) erfordert Kann wiederholt aufgerufen werden um die Ausführungszeit einer (genügend lange laufenden) Methode zu messen 80
81 Empirical analysis Running a program and measuring its performance System.currentTimeMillis() Returns an integer representing the number of milliseconds that have passed since 12:00am, January 1, The result is returned as a value of type long, which is like int but with a larger numeric range (64 bits vs. 32). Can be called twice to see how many milliseconds have elapsed between two points in a program.
82 Beispiel Thomas Mann, Die Buddenbrooks, 1'602'177 Bytes Quelle: Projekt Guttenberg Messungen Klasse Zeit (ms) LinkedList 1761 ArrayList
83 Beispiel Thomas Mann, Die Buddenbrooks, 1'602'177 Bytes Quelle: Projekt Guttenberg Messungen Klasse Zeit (ms) LinkedList 1761 ArrayList 1242 Intel(R) Xeon(TM) CPU 2.80GHz 83
84 Ernsthafte Evaluationen müssen viele Aspekte berücksichtigen Mehrfache Ausführung des selben Programms Durchschnitt (arithmetisch, harmonisch, geometrisch) k-out-of-n Prozessoren sind komplex Speicher Hierarchie Echte Clock Rate (hier MHz) Java Umgebung ist komplex 84
Einführung in die Programmierung I. 9.0 Generische Programmierung. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 9.0 Generische Programmierung Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013 and Thomas Gross 2016 All rights reserved. Uebersicht
MehrEinführung in die Programmierung I. 9.0 Generische Programmierung. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 9.0 Generische Programmierung Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013 and Thomas Gross 2016 All rights reserved. Uebersicht
MehrSoftwaretechnik WS 16/17. Übungsblatt 01
Softwaretechnik WS 16/17 Übungsblatt 01 Was ist eine Klasse? Definition der Object Management Group: A class describes a set of objects that share the same specifications of features, constraints, and
MehrEinstieg in die Informatik mit Java
1 / 15 Einstieg in die Informatik mit Java Collections Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick Collections 2 Hierarchie von Collections 3 Verwendung
MehrDistributed Computing Group
JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird
MehrProgrammierstil. Objektsammlungen. Konzepte. Zwischenspiel: Einige beliebte Fehler... Variablennamen Kommentare Layout Einrückung
Programmierstil Objektsammlungen Einführung in Sammlungen Variablennamen Kommentare Layout Einrückung (siehe: Stilrichtlinien im Buchanhang) 4.0 Konzepte Sammlungen (besonders: ArrayList) Schleifen: die
MehrJava I Vorlesung Generics und Packages
Java I Vorlesung 9 Generics und Packages 21.6.2004 Generics Packages Qualifizierte Namen Mehr zu Zugriffsklassen Generics (Java 1.5) Die Klassen im Java Collections Framework sind mit dem Typ ihrer Elemente
Mehr1 Polymorphie (Vielgestaltigkeit)
1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen
Mehr4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java)
4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 8./15. November 2005 Einordnung
MehrFunktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion
Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert
MehrVorlesung Programmieren
Vorlesung Programmieren Java Generics und Java API Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Programme verarbeiten Daten Häufig
MehrObjects First With Java A Practical Introduction Using BlueJ. Mehr über Vererbung. Exploring polymorphism 1.0
Objects First With Java A Practical Introduction Using BlueJ Mehr über Vererbung Exploring polymorphism 1.0 Zentrale Konzepte dieses Kapitels Methoden-Polymorphie statischer und dynamischer Typ Überschreiben
MehrJava Einführung Collections
Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...
MehrEinfü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
Mehr1 Abstrakte Klassen, finale Klassen und Interfaces
1 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
MehrEinführung in die Programmierung I. 3.0 Funktionen. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 3.0 Funktionen Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013 and Thomas R Gross 2016 All rights reserved. Uebersicht 3.1 Parameter
MehrProgrammentwicklung ohne BlueJ
Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie
MehrAllgemeine Hinweise:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 12/13 Einführung in die Informatik I Wiederholungsklausur Prof. Dr. Helmut Seidl, A. Lehmann,
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 +
Mehr8. Generics Grundlagen der Programmierung 1 (Java)
8. Generics Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 6. Dezember 2005 Einordnung im Kontext der Vorlesung 1.
MehrSchnittstellen implementieren am Beispiel Suchbaum
Motivation Informatik mit Java und BlueJ Schnittstellen implementieren am Beispiel Suchbaum von Bernhard Rosing Schreiben Sie eine Klasse Person, deren Instanzen in ein TreeSet (Suchbaum) eingefügt werden
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
MehrVerschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes
Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine
MehrEinführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrData Structures. Christian Schumacher, Info1 D-MAVT Linked Lists Queues Stacks Exercise
Data Structures Christian Schumacher, chschuma@inf.ethz.ch Info1 D-MAVT 2013 Linked Lists Queues Stacks Exercise Slides: http://graphics.ethz.ch/~chschuma/info1_13/ Motivation Want to represent lists of
MehrGebundene Typparameter
Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte
MehrNützliche Utility-Klassen des JDK
Nützliche Utility-Klassen des JDK java.util :, Properties, I18N, Scanner java.text : Ausgabeformatierung u.a. java.util.prefs : Hierarchische Konfigurationsdaten (1.5) java.util.logging : Aufzeichnung
Mehr! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.
! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.4 Exceptions - 1 - Ausnahmen (Exceptions( Exceptions) Treten auf, wenn zur
MehrÜbungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit
Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Aufgabe : Die allgemeine Object-Liste Gegeben sei folgendes UML-Klassendiagramm: MyObjectList
MehrIch liebe Java && Ich liebe C# Rolf Borst
Ich liebe Java && Ich liebe C# Rolf Borst Java oder C#? Einführung public class Einfuehrung { private int gesamtzahl = 0; /* Ermittelt die Anzahl der geraden und durch drei teilbaren Zahlen */ public String
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
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 14: Generics Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Generische Klassen (Generics) Motivation Java Typ-Prüfung Warum also Generics? Generische
MehrProgrammieren in Java
Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
Mehr1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden
MehrFortgeschrittene Programmiertechnik Klausur SS 2015 Angewandte Informatik Bachelor
Fortgeschrittene Programmiertechnik Klausur SS 2015 Angewandte Informatik Bachelor Name Matrikelnummer Aufgabe Punkte Aufgabe Punkte Zwischensumme 1 6 2 8 3 12 4 18 5 20 64 6 9 7 17 8 18 9 12 Summe 120
MehrVersuchsziele Kenntnisse in der Anwendung von: Sortieren mit Klassen Benutzung von generischen Klassen o Definition o Sortierung.
Hochschule Harz Programmierung1 Tutorial 11: FB Automatisierung und Informatik Dipl.-Inf. Dipl.-Ing. (FH) M. Wilhelm Programmierung 1 für MI / WI Thema: Sortieren und generische Klassen Versuchsziele Kenntnisse
Mehrequals und hashcode SortedSet NavigableSet Assoziative Container Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 32
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 32 equals und hashcode SortedSet NavigableSet Assoziative Container 2 / 32 HashSet mit eigener Klasse Wie kann man einen
MehrSuchen. lineare Suche, binäre Suche, divide and conquer, rekursive und iterative Algorithmen, geordnete Daten, Comparable
Suchen lineare Suche, binäre Suche, divide and conquer, rekursive und iterative Algorithmen, geordnete Daten, Comparable Welche Nummer hat Herr Meier? Enthält Einträge (Elemente) der Form : Name, Vorname
MehrProgrammieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik
Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen
MehrJava Generics & Collections
Java Praktikum Effizientes Programmieren (Sommersemester 2015) Dennis Reuling Agenda 1 2 3 1 / 30 Praktikum Effizientes Programmieren (Sommersemester 2015) Java Subtyping Teil 1 2 / 30 Praktikum Effizientes
MehrProgrammieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10
Mehr11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen zu Design Patterns Wozu werden Design Patterns verwendet? Wann
MehrAuD-Tafelübung T-B5b
6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit
MehrSelbststudium OOP5 21.10.2011 Programmieren 1 - H1103 Felix Rohrer
Kapitel 4.1 bis 4.3 1. zu bearbeitende Aufgaben: 4.1 4.1: done 2. Was verstehen Sie unter einem "Java-Package"? Erweiterungen verschiedener Klassen welche in Java benutzt werden können. 3. Sie möchten
MehrBäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume.
Universität Osnabrück 1 Bäume 3 - Objektorientierte Programmierung in Java Vorlesung 10: Collections 4 Einführung Bäume sind verallgemeinerte Listenstrukturen Lineare Liste Jedes Element hat höchstens
MehrAngewandte IT-Sicherheit
Angewandte IT-Sicherheit Johannes Stüttgen Lehrstuhl für praktische Informatik I 30.11.2010 Lehrstuhl für praktische Informatik I Angewandte IT-Sicherheit 1 / 28 Aufgabe 1 Betrachten sie folgendes Programm:
MehrBeispiel: DB-Mock (1/7)
Beispiel: DB-Mock (1/7) Aufgabe: DB, auf die vereinfachend nur lesend zugeriffen wird mocken warum: benötigte keine DB-Lizenz, garantiert gleiche Werte ohne aufwändiges reset, kein Zeitverlust durch Verbindungsaufbau
MehrRekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Rekursion Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Aufgabe 1: Potenzfunktion Schreiben Sie eine Methode, die
MehrProgrammier-Befehle - Woche 10
Funktionen Rekursion Selbstaufruf einer Funktion Jeder rekursive Funktionsaufruf hat seine eigenen, unabhängigen Variablen und Argumente. Dies kann man sich sehr gut anhand des in der Vorlesung gezeigten
MehrBeispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme
Schwerpunkte 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java Imperative Programmierung Beispiel für ein Programm aus drei Komponenten Variable,
MehrProgrammieren 2 Übung Semesterwoche 2
Programmieren 2 Übung Semesterwoche 2 1. Stack (LIFO: Last-In--First-Out) Implementieren und testen Sie eine Klasse Stack, so dass beliebig viele Objekte eines vorgegebenen Datentyps (z. B. String) auf
MehrJava I Vorlesung Collections
Java I Vorlesung 5 Collections 24.5.2004 Abstrakte Klassen und Interfaces Arrays Java Collections Framework Abstrakte Klassen: Motivation Häufig will man eine Klasse schreiben, die nur als Basisklasse
MehrArrays (Reihungen) Arrays (Reihungen) in Java: Syntax, Typisierung, Semantik.
Arrays (Reihungen) Arrays (Reihungen) in Java: Syntax, Typisierung, Semantik. Wichtige Algorithmen mit Arrays Arrays als Implementierung von Mengen und Listen Finden von Maximum und Minimum Binäre Suche
MehrGenerische Typen in Java 1.5. Die Erweiterung der Java Language Specification
Generische Typen in Java 1.5 - Seminarvortrag 1/26 Generische Typen in Java 1.5 Die Erweiterung der Java Language Specification Seminarvortrag von Heiko Minning, mi3795 bei Prof. Dr. Uwe Schmidt, FH-Wedel
MehrTutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrEinführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
Mehr5.14 Generics. Xiaoyi Jiang Informatik I Grundlagen der Programmierung
Motivation für Generics: Containertypen speichern eine Anzahl von Elementen anderer Typen Wie definiert man die Containerklasse ArrayList? In der Definition könnte man als Elementtyp Object angeben maximale
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrInnere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen.
Innere Klassen Innere Klassen Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Literatur: Java Tutorial & Arnold, K., Gosling, J. und Holmes,D... Page 1 Innere Klassen Der erste
MehrBei for-schleifen muss man nur immer bedenken, dass die letzte Anweisung immer erst nach der Ausführung der restlichen Anweisungen der Schleife
303 Bei for-schleifen muss man nur immer bedenken, dass die letzte Anweisung immer erst nach der Ausführung der restlichen Anweisungen der Schleife durchgeführt wird. 304 305 for-schleifen sind in Aktivitätsdiagrammen
MehrTeil V. Generics und Kollektionen in Java
Teil V Generics und Überblick 1 Parametrisierbare Datenstrukturen in Java 2 Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 5 1 Parametrisierbare Datenstrukturen in Java Motivation für
MehrHochschule Darmstadt Fachbereich Informatik
Hochschule Darmstadt Fachbereich Informatik Entwicklung webbasierter Anwendungen 1 Hochschule Darmstadt Fachbereich Informatik PHP 7 2 Releasekalender http://php.net/supported-versions.php 3 Historie Urpsrünglicher
MehrAssoziation und Aggregation
Assoziation und Aggregation Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Verstehen der Begriffe Assoziation und Aggregation Implementierung von Assoziationen in Java schreiben
MehrJAVA 5 Generics. Proseminar Programmiersprachen Thema Java 5 Generics 1
JAVA 5 Generics Thema Java 5 Generics 1 Inhalt 1. Die Programmiersprache Java 2. Simple Generics 3. Das Beispielprogramm 4. Tieferer Einstieg in Generics 5. Arrays 6. Kritische Betrachtung von Generics
MehrProgrammierkurs Python I
Programmierkurs Python I Michaela Regneri & Stefan Thater Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Winter 2010/11 Übersicht Kurze Wiederholung: while Sammeltypen (kurz
Mehr2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference)
2. Methoden n Generelles zum Aufruf von Methoden n Parameterübergabemechanismen (call by value, call by reference) n Speicherorganisation bei Methodenaufruf und Parameterübergabe (Laufzeitkeller) n vararg
MehrKlausur Grundlagen der Programmierung
Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4
MehrProgrammieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 3 Schnittstellen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10
Mehr3. Grundlegende Sprachkonstruktionen imperativer Programme
3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 4. Nov. 2015 2 Schwerpunkte
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
Mehrpublic interface Stack<E> { public void push(e e); public E pop();
ADS Zusammenfassung René Bernhardsgrütter 02.04.2012 1 Generics Gewähren Typsicherheit und können für verschiedene Datentypen ohne Casts verwendet werden. Beim Erstellen der Klasse werden Platzhalter für
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
MehrPrimitive Datentypen
Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.
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
MehrEinführung in die Programmierung I. 6.0 Objekte. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 6.0 Objekte Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013. and Thomas Gross 2016 All rights reserved. Uebersicht 6.3 Namesräume
MehrVorlesung Programmieren
Vorlesung Programmieren 12 Java API Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION
MehrStack stack = new Stack(); stack.push ("Würstchen"); string s = (string) stack.pop(); Console.WriteLine (s);
D3kjd3Di38lk323nnm Der Typ object object (System.Object) ist die Ausgangsbasisklasse für alle Typen. Jeder Typ kann per Upcast in ein object umgewandelt werden. Um zu zeigen, wie das nützlich sein kann,
MehrInfo B VL 8: Abstrakte Klassen & Interfaces
Info B VL 8: Abstrakte Klassen & Interfaces Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 8: Abstrakte
MehrJAVA KURS COLLECTION
JAVA KURS COLLECTION COLLECTIONS Christa Schneider 2 COLLECTION Enthält als Basis-Interface grundlegende Methoden zur Arbeit mit Collections Methode int size() boolean isempty() boolean contains (Object)
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrKapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions
Kapitel 10 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Exceptions Behandlung von Exceptions Der finally-block catch or throw WS 07/08 1/ 23 2/ 23 Grundlagen von Exceptions
MehrProblem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts
Kapitel 6: Arithmetik in JavaCard Problem: Keine Integers in JavaCard ToDo: Rechnen mit Bytes und Shorts Java SmartCards, Kap. 6 (1/20) Hex-Notation 1 Byte = 8 Bit, b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 0101
MehrGrundkonzepte java.util.list
Grundkonzepte java.util.list Eine List ist eine Spezialisierung einer allgemeinen Ansammlung (Collection): Lineare Ordnung ist definiert Zugriff über Rang oder Position Volle Kontrolle wo eingefügt bzw.
MehrProgrammiertechnik II Klausur WS 15/16 Angewandte Informatik Bachelor
Programmiertechnik II Klausur WS 15/16 Angewandte Informatik Bachelor Name Matrikelnummer Aufgabe Punkte Aufgabe Punkte Zwischensumme 1 6 2 10 3 12 4 12 5 14 54 6 12 7 20 8 17 9 17 Summe 120 Note Prof.
MehrProgrammieren in Java
Datenstrukturen 2 Gruppierung von Daten Datentypen, die eine Menge an Daten gruppieren und auf dieser Gruppierung eine gewisse Logik bereitstellen werden Datenstrukturen genannt Bisher wurde zur Gruppierung
MehrBeispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
MehrInformatik II (D-ITET) Übungsstunde 6
Informatik II (D-ITET) Übungsstunde 6 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Nachbesprechung Übung 5 Besprechung der Vorlesung Die neue Serie... Zeit zum Programmieren / für
MehrROGER GILLIAR / MCS GMBH HASKELL FÜR JAVA PROGRAMMIERER
ROGER GILLIAR / MCS GMBH HASKELL FÜR JAVA PROGRAMMIERER interface ImportantService { Double getmoney(); } ... sollte stets ein so genannter Kontrakt definiert werden, über den die Bedeutung der verschiedenen
MehrInstitut fu r Informatik
Technische Universita t Mu nchen Institut fu r Informatik Lehrstuhl fu r Bioinformatik Einfu hrung in die Programmierung fu r Bioinformatiker Prof. B. Rost, L. Richter Java, Objektorientierung 5.1 (U )
MehrAssoziation und Aggregation
Assoziation und Aggregation Prof. Dr. Christian Böhm in Zusammenarbeit mit Michael Eckert und Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfows WS 07/08 2 Ziele Verstehen der Begriffe Assoziation und
MehrJava 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8
Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrTIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems
Mitglied der Zürcher Fachhochschule TIn 1: Lecture 4 Data transfer Feedback Laboratories Question: What is the IP? Why do we NEED an IP? Lecture 3: Lernziele Moving data, the why s and wherefores Moving
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces
10 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Interfaces Aber: Mehrfachvererbung von Klassen ist in Java nicht erlaubt. Ausweg Definition eines Interfaces, z.b.:
MehrÜbersicht. Vorstellung des OO-Paradigmas
Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java
Mehr1. Aufgabe (6 Punkte): Java-Programmierung (Arrays)
Der folgende Mitschrieb wurde von Prof. Alexa am 16.07.2008 als Probeklausur in der MPGI2 Vorlesung gezeigt und wurde auf http://www.basicinside.de/2008/node/94 veröffentlicht. Die Abschrift ist unter
MehrSchnittstellen, Stack und Queue
Schnittstellen, Stack und Queue Schnittstelle Stack Realisierungen des Stacks Anwendungen von Stacks Schnittstelle Queue Realisierungen der Queue Anwendungen von Queues Hinweise zum Üben Anmerkung: In
Mehr