INE2 Von C zu Java Teil 2: Arrays und Strings. Arrays Referenzdatentypen Strings
|
|
- Magdalena Lichtenberg
- vor 6 Jahren
- Abrufe
Transkript
1 INE2 Von C zu Java Teil 2: Arrays und Strings Arrays Referenzdatentypen Strings 1
2 Arrays 2 von 64
3 Array Was ist ein Array? Index: Ein Array ist eine Gruppe von Variablen gleichen Typs und gleicher Bedeutung, die sinnvoll unter demselben Namen angesprochen und intern durchnummeriert werden 3 von 64
4 Array Entspricht einer Tabelle mit nur einer Zeile Variablenname bezeichnet die ganze Tabelle Einzelner Eintrag: Element, Komponente Merkmale Alle Daten eines Arrays haben den gleichen Datentyp Einzelnes Element wird durch seinen Index adressiert 4 von 64
5 Arrays in C (Wh) Wie haben wir Array-Variablen in C definiert? Zum Beispiel: Die sechs Lottozahlen? Die Anzahl Tage jedes Monats im Jahr? Muss man bei der Definition einer Array-Variablen in C die Array-Grösse angeben? Welche zwei Möglichkeiten zum Anlegen und Verwenden von Arrays gibt es in C? 5 von 64
6 Deklaration eines Arrays in Java Datentyp[] Arrayname; Datentyp: Datentyp der einzelnen Elemente Das Array existiert nach der Deklaration noch nicht, erst der Variablenname Die Anzahl Elemente im Array sind ebenfalls noch nicht bestimmt Beispiel: int[] fahrtenamso; 6 von 64
7 Arrays / Felder Array-Datentyp Element-Datentyp int[] Element-Datentyp Array-Datentyp Beachte: Die tatsächliche Länge des Array gehört nicht zum Array-Datentyp Deklaration,nur die Tatsache, dass es ein Array ist! 7 von 64
8 Anlegen eines Arrays in Java Arrayname = new Datentyp [Arraygrösse]; Beispiel: fahrtenamso = new int[8]; Reserviert Speicher für einen Array mit 8 Elementen vom Typ int 8 von 64
9 Unterschied C Java C int a[5]; // deklariert a und reserviert Platz fuer // 5 int Java int[] a; // deklariert a a = new int[5]; // reserviert Platz fuer 5 int C int * a; // oder int a[] in Funktionsdeklaration a = (int *)malloc(5*sizeof(int)); // reserviert Platz fuer 5 int 9 von 64
10 Initialisierung Array-Elemente bei der Erzeugung auf die Default-Werte gesetzt Für int-arrays ist der Default-Wert 0 Möglichkeiten zur expliziten Initialisierung: Jedes Element einzeln: fahrtenamso[0] = 1; fahrtenamso[1] = 1;... fahrtenamso[7] = 1; Besser: Mit for-schleife: for (int i=0; i<8; i++){ fahrtenamso[i] = 1; } Direkt bei der Deklaration des Arrays: int[] fahrtenamso = {1,1,1,1,1,1,1,1}; 10 von 64
11 Initialisierung Wenn ein Array direkt initialisiert wird, wird dabei auch die Grösse des Arrays festgelegt: double[] messwerte= {1.5, 7.3, 3.6, 9.4}; // Grösse 4 Der Initialisierungsausdruck mit geschweiften Klammern ist nur bei der Deklaration erlaubt double[] messwerte; messwerte = {1.5, 7.3, 3.6, 9.4}; // geht nicht! messwerte = new double[] {1.5, 7.3, 3.6, 9.4}; // ok 11 von 64
12 Zugriff auf Array-Elemente Arrayname[index] Greift auf das Element mit dem angegebenen Index zu Das erste Element hat den Index 0! Ein Array-Element kann verwendet werden wie eine Variable vom entsprechenden Datentyp: Zuweisung, Eingabe, Ausgabe, Argument bei Methodenaufruf, usw. Beispiel: wert = a[index]; // ein Element lesen a[index] = 5; // in ein Element schreiben 12 von 64
13 Länge eines Arrays Die Länge eines Arrays wird beim Erzeugen festgelegt Sie kann dann nicht mehr verändert werden Sie ist in einer Instanzenvariable des Array-Objekts gespeichert: arrayname.length Achtung: Das ist keine Methode, also nicht: arrayname.length() 13 von 64
14 Final, Umgang mit Array-Elementen Oft werden Arrays mit for-schleifen bearbeitet final int ANZAHL = 100; int[] zweierreihe; zweierreihe = new int[anzahl]; for (int i = 0; i < zweierreihe.length; i++) { zweierreihe[i] = i*2; } Tipp: Array-Grössen in Konstanten (mit final) angeben mit length arbeiren 14 von 64
15 Umgang mit Arrays Arrays sind Java-Objekte Sie werden sie als Referenz (s.u.) übergeben Bei der Parameterdeklaration im Methodenkopf muss die Länge des übergebenen Arrays nicht spezifiziert werden: public int summe(int[] arr) { } von 64
16 Umgang mit Arrays: Beispiel public int summe(int[] arr) { int total = 0; for (int i =0; i < arr.length; i++) { total = total + arr[i]; } return total; } Aufruf: int[] reihe = {1,2,3,4}; int sum; sum = summe(reihe); 16 von 64
17 Übung Schreiben Sie eine Methode, die das grösste Element in einem beliebig langen Array von ganzen Zahlen zurückgibt Die Methode soll nur den Wert des grössten Elementes zurückgeben 17 von 64
18 Arrays von Objekten Array von Strings: String[] arbeitstage = {"Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag"}; int tag = 2; String tagname; tagname = arbeitstage[tag]; Welchen Index hat der Dienstag? 18 von 64
19 Programmierfehler Der gewählte Index liegt ausserhalb des erlaubten Bereichs ArrayIndexOutOfBoundsException Ein Array wird verwendet, bevor es erzeugt wird Nullpointer-Exception In Java ist es nicht möglich ausserhalb der Array Grenzen zuzugreifen In Java gibt es das Dangling Pointer Problem nicht 19 von 64
20 Zweidimensionale Arrays Beispiel: Umsatzzahlen eines Geschäftes mit 3 Filialen für eine Woche 20 von 64
21 Zweidimensionale Arrays in Java Array, dessen Elemente ebenfalls wieder Arrays sind Deklaration: Datentyp[][] Arrayname; Erzeugung des Arrays: Arrayname = new Datentyp [AnzahlZeilen][AnzahlSpalten]; Beispiel: int[][] umsatz; umsatz = new int [3][7]; Analog sind auch mehrdimensionale Arrays möglich 21 von 64
22 Zweidimensionale Arrays in Java Beispiel: Schachbrett String[][] schachbrett; final int GROESSE = 8; schachbrett = new String[GROESSE][GROESSE]; Beispiel: Kinoplätze boolean[][] kinoplatz; int anzreihen = 10; anzplaetzeproreihe = 20; kinoplatz = new boolean[anzreihen][anzplaetzeproreihe]; 22 von 64
23 Zweidimensionale Arrays in Java Initialisierung Bei der Deklaration: int [][] tabelle = {{1,0,1},{0,1,0}}; Im Programmcode mit for-schleifen Zugriff auf Array-Elemente Arrayname[zeilenindex][spaltenindex] Beispiel: // Element in der 3. Zeile und 4. Spalte des Arrays umsatz: int ums = umsatz[2][3]; 23 von 64
24 Referenzdatentypen 24 von 64
25 Referenzdatentyp Array sind Referenzendatentypen Im Gegensatz zu einfachen Datentypen Einfache Datentypen (Wh): Speichern und Verarbeiten einzelne Werte (Zahlen, Buchstaben, logische Werte) Variablenname bezeichnet den Speicherplatz, wo der Wert abgespeichert ist Speicherplatz wird bei der Deklaration der Variablen reserviert 25 von 64
26 Einfache Datentypen (Wertetypen - Whd) Nur ein Wert int, double, double, boolean, char,... Bei Zuweisungen und Methodenaufrufen wird nur Kopie des Wertes übergeben ( by value ) a = 5; b = 7; b = a; a 5 b von 64
27 Referenzdatentyp Speichern und Verarbeiten mehrerer Werte zusammen Die einzelnen Werte vom gleichen oder von unterschiedlichem Datentyp sein Beispiel: Klassen, Arrays (Felder) Bei der Deklaration der Variablen wird nur Platz für die Adresse der eigentlichen Daten reserviert Daher auch als Referenzdatentypen bezeichnet 27 von 64
28 Speicherbereich anlegen Der Speicherbereich für die eigentlichen Daten wird durch eine explizite Anweisung dynamisch im Arbeitsspeicher (Heap) angelegt: fahrtenamso = new int[8]; // Array Der benötigte Speicherplatz wird im Arbeitsspeicher reserviert und die Startadresse dieses Speicherbereichs in den Speicherplatz für die Referenz abgelegt Vor der Erzeugung des Objekts enthält die Variable noch keine gültige Referenz (null) 28 von 64
29 Referenzdatentypen Bei Zuweisungen und Methodenaufrufen wird nur Kopie der Adresse (Referenz) übergeben Nach einer Zuweisung existieren 2 Referenzen auf dasselbe Objekt double[] messwerte = {... }; double[] neuewerte; neuewerte = messwerte; messwerte neuewerte Ref null Ref 29 von 64
30 Datenübergabe Einfache Datentypen: Bei der Zuweisung oder der Übergabe von Daten an Methoden wird der Wert der Variablen übergeben ( call by value ) Referenzdatentypen: Wie bei einfachen Typen, der Wert ist dann aber eine Referenz, d.h. die Adresse der Daten Nach einer Zuweisung var1 = var2; stellen beide Variablen also Referenzen auf dieselben Daten dar Bei der Datenübergabe an eine Methode werden ebenfalls Referenzen übergeben: Methode arbeitet mit den Originaldaten, nicht mit einer Kopie! 30 von 64
31 Methodenaufruf public void foo() int[] a = {1,2,3,4}; bar( a ); System.out.println("Result = "+ a[0]); } public void bar(int[] b) { } b[0] = 2; Button 1,2,3,4 A 31 von 64
32 Strings 32 von 64
33 Strings in Java Ein String (eine Zeichenkette) ist eine beliebig lange Folge von Zeichen (Characters): Ich bin ein String _owjddpoie;:-opüäw%jpowb +^\/wljd Strings werden in Programmen sehr häufig verwendet Ausgabe von Meldungen Einlesen von Benutzereingaben Lesen und Schreiben von Textdateien Namen von Verzeichnissen, URLs In Java werden Strings als Objekte behandelt Ein Objekt enthält einen String beliebiger Länge Die Zeichen im String werden wie in einem Array indexiert: 0...(Länge 1) S t r i n g (0) von 64
34 Deklaration und Initalisierung Referenzdatentyp: String String ist ein Object -> Referenztyp Strings sind unveränderbar (immutable Object). Deklaration, Initialisierung: String stringname [= "Zeichenfolge"]; Zeichenfolgen (String Literals) stehen immer zwischen doppelten Anführungszeichen Frage: Unterschied zw. c = 'a' und s = "a"? Beispiele: String name; String name = new ("Hugo"); name name "Hugo" "Hugo" 34 von 64
35 Erzeugung von Strings Erzeugung von Strings name = new ("Hugo"); str = "Hello"; // gebräuchliche Schreibweise String str = "Hello"; // Deklaration und Initialisierung String str = ""; // Leerer String str = name; Dabei werden nicht einfach die Referenzen kopiert! Sondern str wird echte Kopie von name zugewiesen Obwohl Strings Objekte sind, verhalten Sie sich wie Wertedatentypen name name "Hugo" "Hugo" str = name; copy str str "Hugo" "Hugo" 35 von 64
36 Array of Strings Array of Strings: String[] staedte = new String[2]; staedte[0] = "Winterthur"; staedte[1] = "Zuerich"; Erzeugung von Arrays of Strings String [] bergsteiger = {"Messner","Seiler","Sherpa","Yeti"}; 36 von 64
37 Strings als Methodenparameter Bereits bei Zuweisungen von Strings haben wir gesehen, dass sich Strings in wie primitive Datentypen verhalten: String str1 = "Hello, World"; String str2 = str1; // Komplette Kopie von str1 Dasselbe gilt für die Parameterübergabe: Der übergebene String verhält sich in der Methode wie eine lokale Kopie Änderungen innerhalb der Methode haben keinen Einfluss auf den übergebenen String Sollen die Änderungen zurückgegeben werden g return Beispiel: private String dupliziere(string str) { str = str + str; return str; } str2 = dupliziere(str1); 37 von 64
38 Stringgrundoperationen 38 von 64
39 Konvertierung und Verkettung von Strings Konvertierung einer Zahl in einen String: int zahl = 123; String zahlstr1 = "" + zahl; // implizit String zahlstr2 = Integer.toString(zahl); // explizit i.m. zahl = Integer.parseInt("123"); Zusammenhängen von Strings mit dem + Operator: String str1 = "Hello, "; String str2 = "World!"; String str3 = str1 + str2; // Hello, World! Verketten mit Zahlen: String str1 = "Hallo " ; // "Hallo 12" String str2 = "Hallo " + (1 + 2); // "Hallo 3" 39 von 64
40 Vergleich von Strings Test auf Gleichheit häufige gemachter Fehler: verwenden von "==": String s = "abc"; // new String("abc") String t = "abc"; // new String("abc") if (s == t) {} : testet auf Gleichheit von Referenz = false equals-methode von String verwenden if (s.equals(t)) {} : teste auf Gleichheit von Wert = true equalsignorecase ignoriert Grossklein-Schreibung String v = "ABC"; s.equalsignorecase(v); s s s == t; "abc" "abc" s.equals(t); t t "abc" "abc" 40 von 64
41 Reihenfolge von Strings int compareto(string str); compareto Methode bestimmt Reihenfolge String a = "ameise"; String b = "biene" int n = a.compareto(b); n == 0: n < 0: n > 0: a ist gleich b a steht vor b "ameise" < "biene" a steht nach b Aber : "ameise" kommt nach "Biene" (Zeichen-Code Reihenfolge) Lexikographischer Vergleich von str mit dem gegebenen String Strings werden zeichenweise von links nach rechts verglichen Kein Zeichen kommt vor Sonderzeichen kommt vor Zahlen kommt vor Grossbuchstaben kommt vor Kleinbuchstaben (entspricht dem jeweiligen Unicode der Zeichen) "a" kommt vor "b" "a" kommt nach "Z" "abcdzzzz" kommt vor "abce" "a" kommt vor "ab" "a1 " kommt nach "a1" "Anna" kommt vor "anna" "10" kommt vor "2" 41 von 64
42 Stringmanipulationen 42 von 64
43 String-Methoden Manipulationen Wichtig: der aktuelle String wird nicht verändert, sondern Methode gibt einen neuen String zurück (Strings = immutable Objects)! String replace(char alt, char neu); String replace(string alt, string neu); String str1 = "Abrakadabra"; String str2 = str1.replace('a', 'u'); // Abrukudubru str2 = str2.replace('u', 'a'); // es wird ein neues str2 kreiert String tolowercase(); str2 = str1.tolowercase(); // abrakadabra String touppercase(); str2 = str1.touppercase(); // ABRAKADABRA String trim(); Entfernt White Space am Anfang und am Ende str1 = " \t viel leerer Raum \n\n \t "; str2 = str1.trim(); // viel leerer Raum 43 von 64
44 Bei umfangreichen String Manipulationen StringBuffer (oder StringBuilder) für umfangreiche Manipulationen auf Strings Inhaltsveränderung bei StringBuffer möglich! Enthält Methoden, um den eingebetteten String direkt zu manipulieren (z.b. insert, append) Beispiel umfangreiche Mutationen auf Strings: nicht String s = ""; for (int i = 0; i < 1000; i++) { s = s + i; } sondern StringBuffer buf = new StringBuffer(); for (int i = 0; i < 1000; i++) { buf.append(integer.tostring(i)); buf.append(","); } String s = buf.tostring(); 44 von 64
45 String-Methoden Untersuchung Beispiel-String für die nachfolgenden Methoden: String str1 = "eins zwei drei"; // Position Achtung: Achtung: bei bei Arrays: Arrays: array.length array.length (ohne (ohne Klammern) Klammern) int length(); int len = str1.length(); // 14 // Methode: gibt zurück Anz. Chars im String char charat(int index); str1 = "eins zwei drei"; char zeichen = str1.charat(2); // n int indexof(string str); int indexof(string str, int index); Sucht str im gegebenen String; Beginn der Suche bei index oder von Anfang an Gibt Position des ersten Auftretens zurück oder -1 falls nicht gefunden int pos = str1.indexof("dre", 6); // von 64
46 String-Methoden Untersuchung int lastindexof(string str); int lastindexof(string str, int index); Wie indexof, sucht aber das letzte Auftreten von str Sucht rückwärts, beginnend bei index oder vom Ende weg int pos = str1.lastindexof("e"); // 12 boolean startswith(string str); boolean endswith(string str); true, wenn der gegebene String mit str beginnt/endet, sonst false 46 von 64
47 Zerlegung von Strings 47 von 64
48 Zerlegung von Strings Oftmals ist man nur an einem Teil des Strings interessiert Herauslösen eine Teilstrings aus dem Original anhand Positionen : z.b anhand Muster im String: z.b. "IP Adresse= " Zerteilen des Strings in Teile, die durch Trennzeichen getrennt sind z.b. "23, 454, 63, 21, 56" 48 von 64
49 Anhand Positionen String substring(int start, int afterend); Gibt Substring zwischen den Zeichen start (inkl. und afterend (exkl.) zurück String str1 = "Biene" String str2 = str1.substring(1, 4); // ien String str3 = str1.substring(1); //bis zum Schluss: iene Das erste Zeichen hat Index 0 Das zweite optionale Argument ist der Index des ersten Zeichens nach dem gewünschten Teilstring Vorsicht beide Werte müssen im gültigen Index Bereich des Strings sein, sonst Laufzeitfehler B i e n e von 64
50 Zerteilen von Strings: StringTokenizer StringTokenizer (Zer-)teilt einen String in Substrings (Tokens) auf; die Tokens im String sind durch Grenzmarken abgetrennt Grenzmarken basieren auf einer Liste der Zeichen Mögliche Anwendung: Untersuchung von Daten aus einem Text-File, einzelne Datensätze sind z.b. durch Komma, Leerzeichen Zeilenumbruch oder Tab getrennt Generierung der Tokens: String data = "4, 5, 6 2,8,, 100, 18"; StringTokenizer tokens = new StringTokenizer(data, "\t\n,"); java.util.* java.util.* Resultiert in 7 Tokens: Man beachte: Folgen von Trennzeichen werden zusammengefasst Die Tokens sind im StringTokenizer-Objekt enthalten und können nachfolgend abgefragt werden String String mit mit Trennzeichen: Trennzeichen: tab, tab, Leerzeichen; Leerzeichen; Zeilenumbruch Zeilenumbruch oder oder "," "," 50 von 64
51 Abfragen der Tokens im StringTokenizer String nexttoken(); Gibt das vorderste Token zurück und entfernt es von der Liste der Tokens boolean hasmoretokens(); Testet, ob noch Tokens vorhanden sind int counttokens(); Gibt die Anzahl noch vorhandener Tokens zurück Beispiel Tokenizer tokens = new StringTokenizer(data, "\t\n,"); while (tokens.hasmoretokens()) { System.out.println(tokens.nextToken())); } in neuen Java-Programmen eher "split" verwenden-> später 51 von 64
52 Reguläre Ausdrücke 52 von 64
53 Reguläre Ausdrücke: Regex Zum Suchen von definierten Mustern in Texten d.h. Strings ein bestimmter String: "ZHAW" Muster kann "unscharf" definiert sein: z.b. ST15a, ST15b,ST14ac (Teil-)Muster kann sich wiederholen: Die meisten heutigen Programmiersprachen unterstützen die Suche nach Muster in Form von reguläre Ausdrücke (Regular Expressions oder kurz Regex) Regex ist unabhängig von Java definiert Java Klassenbibliothek definiert im Package java.util.regex die Klassen Pattern und Matcher 53 von 64
54 Definition des regulären Ausdrucks Zuerst muss der reguläre Ausdruck vorbereitet werden Die Klasse Pattern Pattern pat = Pattern.compile("ZHAW"); Das Muster kann im einfachsten Fall ein Textzeichen-String sein Alle Zeichen sind erlaubt ausser: ([{\^-$ ]})?*+. Diese müssen mit \ vorangestellt geschrieben werden Vorsicht in Java String Konstante muss "\\" für "\" geschrieben werden Beispiel Pattern pat = Pattern.compile("wie geht's \\?"); 54 von 64
55 Abfrage nach den gefundenen Stellen Ausgabe der gefundenen Stellen Die Klasse Matcher Matcher matcher = pat.matcher("willkommen an der ZHAW"); Suche nächste Textstelle boolean find() true falls gefunden matcher.find(); Gebe gefunden Teilstring zurück String group() matcher.group(); ZHAW Start und Endposition innerhalb String int start() und int end() matcher.start(); //18 matcher.end(); //22 55 von 64
56 Vollständiges Beispiel import java.util.regex.*; Pattern pat = Pattern.compile("ZHAW"); Matcher matcher = pat.matcher("willkommen an der ZHAW"); while (matcher.find()) { String group = matcher.group(); int start = matcher.start(); int end = matcher.end(); // do something } 56 von 64
57 Platzhalter Oftmals wird nach unscharfen Muster gesucht, z.b. alle ET Klassen Es sind Platzhalter Zeichen erlaubt, die Zeichenmengen matchen z.b. "." für beliebiges Zeichen "\d" für Zahl, ^\d für keine Zahl Platzhalter Beispiel Bedeutung Menge der gültigen Literale. a.b Ein beliebiges Zeichen aab, acb, azb, a[b,... \d \d\d Digit[0-9] 78, 10 \D \D kein Digit a, b, c ^ ^\d Negation a, b, c \s \s Leerzeichen (Blank,etc) blank, tab, cr, \S \S kein Leerzeichen Aufgabe: Geben Sie das Suchmuster für beliebige ST Klassen an: ST15a, ST15b, ST14a ET\d\d. 57 von 64
58 Eigene Zeichenmengen Statt vordefinierte Zeichenmengen zu verwenden, können auch eigene definiert werden diese werden in "[" "]" geklammert Aufzählung der Zeichen in der Zeichenmenge ein Zeichen aus der Menge z.b. "a", "b" oder "c" : [abc] Bereiche z.b. alle Kleinbuchstaben [a-z] alle Buchstaben [a-za-z] Negation: Alle Zeichen ausser z.b. [^a] Aufgabe: Geben Sie das Suchmuster für beliebige ET Klassen an; es gäbe aber nur "a" bis "d" ET\d\d[a-d] 58 von 64
59 Optional, Alternative und Wiederholung Optionale Teile:? wenn einzelner Buchstaben optional, z.b. ZHA?W -> ZHW oder ZHAW Alternative wenn ein A oder B -> ZH(A B)W -> ZHAW oder ZHBW "natürliche" Verwendung von Klammern Wiederholungen Beliebig oft * eine Folge von Ziffern \d* -> _, 2,23,323,423,.. Mindestens einmal + eine Folge von Ziffern aber mindest eine \d+ -> 3,34,234, Bestimmte Anzahl mal {n} Auch Auch 0 0 mal mal erlaubt erlaubt eine Folge von drei Ziffern \d{3} -> 341,241,123.. Mindestens, maximal Anzahl mal {n,m} eine Folge von 1 bis 3 Ziffern \d{1,3} -> 1, 23, 124, von 64
60 Zusammenfassung Metasymbole (Meta-)Sprache zur Beschreibung der Bildungsregeln von Sätzen Metasymbole: *,+,?,,(),.[] Metasymbol Beispiel Bedeutung Menge der gültigen Literale * ax*b 0 oder mehrere x ab, axb, axxb, axxxb,... + ax+b 1 oder mehrere x axb, axxb, axxxb,...? ax?b x optional ab, axb a b a oder b a, b () x(a b)x Gruppierung xax, xbx. a.b Ein beliebiges Zeichen aab, acb, azb, a[b,... [] [abc]x 1 Zeichen aus einer Menge ax, bx, cx [-] [a-h] Zeichenbereich a,b,c,..., h \d \d\d Digit[0-9] 78, 10 \D \D kein Digit a, b, c ^ ^\d Negation a, b, c \s \s Leerzeichen (Blank,etc) blank, tab, cr, \S \S kein Leerzeichen 60 von 64
61 Weitere String-Methoden für Regex Prüfe of String einem Regex Muster entspricht boolean matches(string regexp); String text = "Hallo Welt"; boolean passt; passt = text.matches("h.*w.*"); passt = text.matches("h..o Wel?t"); passt = text.matches("h[alo]* W[elt]+"); passt = text.matches("hal+o Welt.+"); // true // false // true // false Aufgabe: Regex zum Prüfen ob ein String eine Int Zahl enthält -?\d+ Aufgabe: Regex zum Prüfen ob ein String eine IP Adresse enthält \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} 61 von 64
62 Weitere String-Methoden für Regex String replaceall(string regexp, String replacestr); String replacefirst(string regexp, String replacestr); Ersetzt im gegebenen String alle (bzw. den Ersten bei replacefirst) Substrings, die regexp entsprechen, mit replacestr String new = text.replaceall("l+", "LL"); // HaLLo WeLLt String[] split(string regexp); Teilt den gegebenen String in mehrere Strings, regexp ist die Grenzmarke Das Resultat ist ein Array mit Teilstrings String data = "4, 5, 6 2,8,, 100, 18" String[] teile = data.split("[,]+"); // Menge der Zeichen " " und"," // // teile[0] = "4", teile[1] = "5",. 62 von 64
63 Reguläre Ausdrücke Übung 63 von 64
64 Noch Fragen? 64 von 64
INE2 Von C zu Java Teil 2: Arrays und Strings. Arrays Werte- und Referenzdatentypen Strings
INE2 Von C zu Java Teil 2: Arrays und Strings Arrays Werte- und Referenzdatentypen Strings 1 Arrays 2 von 65 Array Was ist ein Array? 15 12 17 18 21 8 33 1 14 15 8 12 33 17 18 1 21 14 Index: 0 1 2 3 4
MehrArrays. Einleitung. Deklarieren einer Array Variablen
Arrays Einleitung bisher jede Variable einzeln deklariert: 12 3 14 12 32 32 3 32 5 3 double sum; int count; ÿ Sie können Zweck und Aufbau von Array-Datentypen erklären ÿ Sie können einen Array korrekt
Mehr5.4 Arrays. Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu!
5.4 Arrays Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu! Feld: Index: 17 3-2 9 0 1 0 1 2 3 4 5 Harald Räcke 114/656
MehrAbschnitt 11: Beispiel: Die Klasse String (Teil 1)
Abschnitt 11: Beispiel: Die Klasse String (Teil 1) 11. Beispiel: Die Klasse String (Teil 1) 11.1 Einführung 11.2 Die Klasse String und ihre Methoden 11.3 Effizientes dynamisches Arbeiten mit Zeichenketten
MehrMartin 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
Mehr1 Hashing und die Klasse String
1 Hashing und die Klasse String Die Klasse String stellt Wörter von (Unicode-) Zeichen dar. Objekte dieser Klasse sind stets konstant, d.h. können nicht verändert werden (immutable). Die Zeichenkette ist
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
MehrAbschnitt 7: Beispiel: Die Klasse String (Teil 1)
Abschnitt 7: Beispiel: Die Klasse String (Teil 1) 7. Beispiel: Die Klasse String (Teil 1) 7.1 Einführung 7.2 Die Klasse String und ihre Methoden 7.3 Effizientes dynamisches Arbeiten mit Zeichenketten 7.4
Mehr1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
Mehr1. 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
MehrArrays. 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................................
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen
5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden
MehrTag 4 Repetitorium Informatik (Java)
Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)
MehrKurs OPR. Objektorientierte Programmierung
Kurs OPR Objektorientierte Programmierung Lektion: 004-Mehrd.Array, Strings etc. Zürcher Hochschule für Angewandte Wissenschaften Mitglied der Fachhochschule Zürich Version 1.4 Inhaltsverzeichnis 1 Zweidimensionale
MehrEinführung in die Programmierung für NF MI. Übung 04
Einführung in die Programmierung für NF MI Übung 04 Inhalt Arrays Einführung in Objekte Einführung in die Programmierung für NF Übung 04 2 Arrays Arrays repräsentieren Reihungen von Objekten, z.b. Variablen
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
Mehr3.2 Datentypen und Methoden
Kap03.fm Seite 217 Dienstag, 7. September 2010 1:48 13 3.2 Datentypen und Methoden 217 3.2 Datentypen und Methoden Wie bei vielen höheren Programmiersprachen gibt es auch in Java einfache und strukturierte
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
MehrVerarbeitung von Zeichenketten
Verarbeitung von Zeichenketten Character Die Character-Klassebietet statische Prüffunktionen isxxx(), die bestimmen, ob ein char einer gewissen Kategorie angehört. (Ist der char eine Ziffer, ein Leerzeichen,
MehrInstitut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke
Java 3 Markus Reschke 08.10.2014 Kommentare Kommentare nützlich zum späteren Verständnis Zwei Arten Einzeiliger Kommentar bis zum Zeilenende mit // Mehrzeiliger Kommentar mit /*Text*/ 1 double x = 5; //
MehrFelder. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 9.5.07 Übersicht 1 Was sind? 2 Vereinbarung von n 3 Erzeugen von n 4 Zugriff auf Feldkomponenten 5 Mehrdimensionale 6 als Objekte, Referenzen Kopieren
MehrJava Datentypen und Variablen
Informatik 1 für Nebenfachstudierende Grundmodul Java Datentypen und Variablen Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht
MehrEinstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
MehrGrundlagen 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
MehrDie for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben
18.11.5 1 HEUTE 18.11.5 3 Schleifen Arrays while, do reichen aus, um alle iterativen Algorithmen zu beschreiben Nachteil: Steuermechanismus ist verteilt Übersicht nicht immer leicht dazu gibt es for (
MehrKlassen als Datenstrukturen
Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung
MehrEinstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Was sind Felder? 2 Vereinbarung von Feldern 3 Erzeugen von Feldern
MehrEinstieg in die Informatik mit Java
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
MehrC++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18
C++ Teil 5 Sven Groß 13. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 13. Mai 2016 1 / 18 Themen der letzten Vorlesung Funktionen Funktionsüberladung, Signatur Rekursion const-deklaration Referenzen
MehrJava-Applikationen (Java-Programme)
Java-Applikationen (Java-Programme) Eine erste Applikation: 1 2 3 4 5 6 7 8 9 10 // Quelltext HalloWelt.java // Programm gibt den Text Hallo Welt aus public class HalloWelt public static void main(string[]
MehrZeichen. Datentyp char. char ch = 'x'; Page 1. Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes
Zeichen Datentyp char char ch = 'x'; Zeichenvariable Zeichenkonstante (unter einfachen Hochkommas) Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes ASCII (American Standard
MehrTag 4 Repetitorium Informatik (Java)
Tag 4 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2016/2017 Willkommen zum Informatik-Repetitorium!
MehrGrundlagen 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 ausgewählte
MehrProgrammierkurs C++ Variablen und Datentypen
Programmierkurs C++ Variablen und Datentypen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Überblick Welche Datentypen gibt es in
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrEinstieg in die Informatik mit Java
1 / 17 Einstieg in die Informatik mit Java String Tokenizer Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick Tokenizer 2 StringTokenizer 3 Verwendung von String.split
MehrVorkurs Informatik WiSe 16/17
Java Schleifen und Arrays Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 06.10.2016 Technische Universität Braunschweig, IPS Überblick Kommentare Typen Kontrollstrukturen Arrays 06.10.2016 Dr. Werner
MehrDer Datentyp String. Stringvariable und -vergleiche
Informatik 12 mit Java: Gierhardt Zeichenketten bzw. Strings Der Datentyp String Zeichenketten bzw. Strings sind eine häufig benutzte Datenstruktur. Man könnte auch mit Arrays aus Zeichen arbeiten. Da
MehrMartin 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
MehrTag 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
MehrEinstieg in die Informatik mit Java
1 / 24 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Klassen als Datenstruktur 2 Vereinbarung von
MehrMethoden und Wrapperklassen
Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)
Mehr3.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
MehrProgrammieren in Java
Ein Projekt 2 Wiederholung: new-operator Werte nicht-primitiver Datentypen müssen mit new erzeugt werden Es gibt keine Möglichkeit primitive Daten mit new zu erzeugen Beispiele int[] myarray = new int[]
Mehr5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?)
5.1 Mehr Basistypen Außer int, stellt Java weitere Basistypen zur Verfügung. Zu jedem Basistyp gibt es eine Menge möglicher Werte. Jeder Wert eines Basistyps benötigt die gleiche Menge Platz, um ihn im
MehrOrganisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr
Organisatorisches Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, 14.10., 14 Uhr bis Do, 23.10., 8Uhr. 14.10.2014 IT I - VO 1 1 IT I: Heute Wiederholung CuP ctd: this Arrays, ArrayLists Schleifen:
MehrOrganisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50
Organisatorisches Vorlesung Donnerstag 8:35 bis 10:05 Übung drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Tutorium (Mehr oder weniger) abwechselnd Mo und Mi 10-11:30 Termine
MehrZeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.
Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrC++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen Leibniz Universität IT Services Anja Aue Zeiger (Pointer) Verweis auf eine Speicherstelle. Speicherung einer Speicheradresse.
MehrHEUTE. Unterschiede Pseudocode / Programmcode. Rundung und modulo (Tafel) Pseudocode: findprimeswithdifference. Strings in JAVA.
15.11.06 1 HEUTE 15.11.06 3 Unterschiede Pseudocode / Programmcode Rundung und modulo (Tafel) Pseudocode: findprimeswithdifference Strings in JAVA Pseudocode: kontextfrei Variablentyp passend Schleifen
MehrÜbung Praktische Informatik I
Übung Praktische Informatik I HWS 2008/2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 24.10.08 6-1 Heutige große Übung Hinweise
MehrVariablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel
4213 Variablen 17.834 float Flugzeug 36812736294 I write code Hund long String Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 3 + 4 1 Variablen sind wie Becher. Sie speichern etwas. // Variablen
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert
Mehr8. Referenzen und Zeiger
8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen
MehrEinfü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:
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage
MehrC++ Teil 5. Sven Groß. 8. Mai IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai / 16
C++ Teil 5 Sven Groß IGPM, RWTH Aachen 8. Mai 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai 2015 1 / 16 Themen der letzten Vorlesung Live Programming zu A2 Gleitkommazahlen Rundungsfehler Auswirkung
MehrProgrammieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik
Programmieren I Arrays Heusch 7.2 Ratz 5.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arrays: Definition Arrays (dt. Felder) dienen zum Speichern mehrerer gleichartiger Daten
MehrJava für Anfänger Startup Donnerstag. Programmierkurs Manfred Jackel
Java für Anfänger Startup Donnerstag Programmierkurs 06.-10.10.2008 Manfred Jackel Das haben wir Mittwoch gelernt Felder Reihung von Elementen gleichen Typs int[] a; a ist eine Referenz auf eine (noch
MehrObjektorientierte Programmierung und Modellierung
Objektorientierte Programmierung und Modellierung Einführung, Teil 2 24.10.17 - WS17/18 Hakan Aksu 1 Raumänderung beachten Dienstag 14:15-15:45 Uhr in M001 (anstatt K101) 2 Ausfalltermine 31.10 Vorlesung
MehrGI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
MehrObjekttypen. Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays
Objekttypen Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays Primitive- und Objekt-Datentypen Primitive Datentypen benötigen einen vorher genau
MehrThemen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen
Themen der Übung 1 Organisatorisches Methoden und Wrapperklassen 2 Methoden 3 Wrapper-Klassen CoMa-Übung IV TU Berlin 07.11.2012 Organisatorisches: Im Pool nur auf die Abgabeliste setzen, wenn ihr wirklich
MehrArbeitsblätter für die Lehrveranstaltung OOP JAVA 1
Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur
MehrDr. Monika Meiler. Inhalt
Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-6 5.1.3 Kopieren eindimensionaler Felder... 5-7
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 / 15 Einstieg in die Informatik mit Java Zeichenketten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick: Zeichenketten 2 Zeichenketten 3 Erzeugen von Zeichenketten
MehrDr. Monika Meiler. Inhalt
Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6
Mehr13. Erweiterte Konzepte Grundlagen der Programmierung 1 (Java)
13. Erweiterte Konzepte Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 31. Januar 2006 Einordnung im Kontext der
MehrObjektorientierte Programmierung. Kapitel 10: Strings
10. Strings 1/16 Objektorientierte Programmierung Kapitel 10: Strings Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/ 10.
MehrObjektorientierte Programmierung. Kapitel 18: Strings
18. Strings 1/16 Objektorientierte Programmierung Kapitel 18: Strings Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/ brass/oop13/ 18.
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage
MehrString s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata:
Informatik mit Java: Gierhardt Zeichenketten bzw. Strings Der Datentyp String Zeichenketten bzw. Strings sind eine häufig benutzte Datenstruktur. Man könnte auch mit Arrays aus Zeichen arbeiten. Da aber
MehrJava I Vorlesung Imperatives Programmieren
Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.
MehrAusgabe:
Aufgabe 2.10: Schreiben Sie ein Programm, das zunächst die Quadratzahlen zu den Zahlen 1-10 mit Hilfe einer While- Schleife und danach die Quadratzahlen zu den Zahlen 3, 6, 9,.., 30 mit Hilfe einer For-Schleife
MehrTag 2 Repetitorium Informatik (Java)
Tag 2 Repetitorium Informatik (Java) Dozent: Daniela Novac Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Zeichen und
MehrII. 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:
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrVariablen, Konstanten und Datentypen
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Variablen, Konstanten und Datentypen Überblick
MehrFelder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich.
Felder Felder - Arrays Variable gleichen Types können in Feldern (array) zusammengefasst werden. Typ[] feldname; oder Typ feldname[]; dabei kann unter Benutzung des new-operators gleich die Dimension zugewiesen
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) ArrayList 0 1 2 Obj0 Obj1 size() - 1 15.12.2014 CuP - VO 2 Auer 1 ArrayList import java.util.arraylist; ArrayList buchliste; buchliste = new ArrayList();
MehrJava Einführung Objekt-Datentypen und Strings. Kapitel 8 und 9
Java Einführung Objekt-Datentypen und Strings Kapitel 8 und 9 Inhalt Was sind Objekt-Datentypen Sonderheiten bei Zuweisung und Vergleich Zeichenketten (Strings) Zeichencodes Char, Char-Arrays und Strings
MehrZeiger, Arrays und Strings in C und C++
Zeiger, Arrays und Strings in C und C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für
MehrProgrammierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ablauf Was sind Funktionen/Methoden
MehrDatenstrukturen / 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
MehrDiana Lange. Generative Gestaltung Komplexe Datentypen: String
Diana Lange Generative Gestaltung Komplexe Datentypen: String einführung In diesem Foliensatz geht es um den Datentyp String. Die Darstellung von Schrift wird in einem gesonderten Foliensatz behandelt:
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile
MehrC# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue
C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections Leibniz Universität IT Services Anja Aue Arrays... speichern mehrere Werte vom gleichen Datentyp. fassen zusammenhängende Werte
MehrC# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services
C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften
MehrObjektorientierte Programmierung. Kapitel 18: Strings
Stefan Brass: OOP (Java), 18. Strings 1/16 Objektorientierte Programmierung Kapitel 18: Strings Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/
Mehr+ C - Array (Vektoren, Felder)
+ C - Array (Vektoren, Felder) Eindimensionale Arrays Beim Programmieren steht man oft vor dem Problem, ähnliche, zusammengehörige Daten (vom gleichen Datentyp) zu speichern. Wenn man zum Beispiel ein
MehrEinstieg in die Informatik mit Java
1 / 13 Einstieg in die Informatik mit Java Zeichenketten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Zeichenketten 2 Erzeugen von Zeichenketten 3 Operatoren für
MehrDie Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein
Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter
MehrR-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung.
R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung. Carsten Szardenings c.sz@wwu.de 7. Mai 2015 A 2 B 3 C 4 D 5 F 6 R 16 S 17 V 18 W 19 Z 20 H 7 I 8 K 9
MehrEinstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Felder, mehrdimensional Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Überblick: mehrdimensionale Felder 2 Vereinbarung
MehrFunktionen nur wenn dann
Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
Mehr