8 - Zeichen und Strings Flashcards

1
Q

Wie werden Zeichen intern gespeichert, welches Format wird dafür verwendet und durch welchen Datentyp werden sie repräsentiert?

A

Zeichen werden intern durch Zahlen gespeichert. Java verwendet dafür das Unicode (16 Bit, ca. 65.000 Zeichen) Format (die ersten 128 Zeichen entsprechen dem ASCII Format). In Programmen werden Zeichen durch den Datentyp char (Character) repräsentiert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Welche Zeichen werden hier dargestellt?
32
48 - 57
65 - 90
97 - 122

A

32: Leerzeichen
48 - 57: Zahlen von 0 - 9
65 - 90: Großbuchstaben A - Z
97 - 122: Kleinbuchstaben a - z

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wie viel beträgt die Distanz zwischen Großbuchstaben und Kleinbuchstaben?

A

a - A = 32

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie wird ein char in einer Variable gespeichert?

A

Das Zeichen muss zwischen einfache Hochkomma gestellt werden ‘ ‘.
Bsp.: char c = ‘A’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist der Unterschied zwischen diesen beiden Varianten?
1 - char c = ‘A’; c++;
2 - char c = ‘A’; int code = c++;

A

Bei 1 wird c zu ‘B’, während bei 2 die interne Zahl in code gespeichert wird (=65, anschließend wird c erhöht).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Auf welcher Ebene der Typhierarchie steht der Datentyp char?

A

Der Datentyp char befindet sich auf der gleichen Ebene wie short.
byte < short, char < int < long < float < double

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was machen die folgenden Hilfsfunktionen?
- Character.isLetter(char c)
- Character.toUpperCase(char c)
- Character.toLowerCase(char c)
- Character.isDigit(char c)
- Character.getName(int codePoint)

A
  • Character.isLetter(char c): prüft, ob c ein Buchstabe ist
  • Character.toUpperCase(char c): verwandelt c in einen Großbuchstaben
  • Character.toLowerCase(char c): verwandelt c in einen Kleinbuchstaben
  • Character.isDigit(char c): prüft, ob c eine Ziffer ist
  • Character.getName(int codePoint): gibt den Unicode-Namen (\u…) für das Zeichen mit dem Code codePoint zurück
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wozu dienen Zeichenarrays?

A

Mit Zeichenarrays hat man die Möglichkeit, Texte zu speichern.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wozu gibt es in Java den Datentyp/die Klasse String?

A

Strings werden verwendet, um Zeichenketten zu speichern (Texte).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie werden Strings intern dargestellt?

A

Ein String verwendet intern ein Zeichenarray.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was sind Strings?

A

Stringkonstanten (Text-Literale) sind Zeichenfolgen zwischen doppelten Hochkommas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Formulierung einer String-Deklaration

A

String word = “Hallo!”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie können Strings über die Zeilengrenzen gehen?

A

Strings dürfen nicht über die Zeilengrenzen gehen, allerdings ist das mit “”” möglich.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Formulierung einer Umwandlung eines Zeichenarrays in einen String

A

char data[] = {‘a’, ‘b’, ‘c’};
String str = new String(data);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was speichern Stringvariablen?

A

Stringvariablen speichern Referenzen auf Strings (wie Arrays).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Können Strings verändert werden?

A

Nein, Strings sind konstant (immutable) und können nicht (direkt) verändert werden. Man kann Strings manipulieren, aber dadurch wird ein neuer String erzeugt.

17
Q

Wie kann man bei Strings auf einzelne Elemente zugreifen?

A

Bei Strings ist es nicht möglich, direkt per Index auf einzelne Elemente zuzugreifen. Dazu müssen Methoden verwendet werden, z.B. name.charAt(int index).

18
Q

Was machen diese Funktionen?
- concat(String str)
- endsWith(String str)
- indexOf(int ch)
- indexOf(String str)

A
  • String hw = “hello “.concat(“world”): ein String wird einem anderen String hinzugefügt (wie mit +)
  • if (hw.endsWith(“world”))…: true, wenn hw mit “world” endet
  • hw.indexOf(‘w’): gibt Position des Zeichens aus (als Zahl); wenn nicht enthalten, dann -1
  • hw.indexOf(“hel”): wie oben, aber für Strings
19
Q

Was sind weitere nützliche Funktionen von Strings?

A
  • hw.length();
  • hw.substring(4);
  • hw.substring(3, 7);
  • hw.toUpperCase();
  • hw.toCharArray();
  • hw.split(“ “); ->in Array speichern
  • hw.lastIndexOf(‘l’);
  • hw.startsWith(“Hello”);
20
Q

Wie kann man Strings vergleichen?

A

Strings können nicht mit == verglichen werden, sondern müssen mit str1.equals(str2) verglichen werden.

21
Q

Wie kann man Strings effizient manipulieren?

A

Muss ein String öfters geändert werden, kann man die Klasse StringBuilder verwenden.
StringBuilder sb = new StringBuilder();
sb.append(“Hi”).append(“ “);
System.out.println(sb.toString());

22
Q

Mit welchen Hilfsfunktionen können Strings in andere Datentypen konvertiert werden?

A
  • int: Integer.parseInt(String str)
  • float: Float.parseFloat(String str)
  • double: Double.parseDouble(String str)
  • boolean: Boolean.parseBoolean(String str)
23
Q

Wie kann man andere Datentypen in einen String umwandeln?

A

String.valueOf(myInt)

24
Q

Was sind reguläre Ausdrücke?

A

Reguläre Ausdrücke (RegEx) sind Strings, die Suchmuster über syntaktische Regeln beschreiben. Sie beinhalten Spezialzeichen für Alternativen, Wiederholungen oder Verkettungen und werden häufig zum Filtern von Texten verwendet.

25
Q

Was wird hier gesucht?
- c
- c+
- ca
- ab.
- ^c.
o$
- [a-z] [0-9]
- [a-z] \d
- [a-z&& [^aeiou]]*
- a\s

A
  • c: das Zeichen c
  • c+: c ein oder mehrmals
  • c*a: c beliebig oft, gefolgt von a
  • ab.: a gefolgt von b, gefolgt von EINEM beliebigen Zeichen
  • ^c.*o$: c am Beginn der Zeile, gefolgt von beliebigen Zeichen, sowie einem o am Ende
  • [a-z] [0-9]: beliebiges Zeichen von a-z, gefolgt von einer Ziffer
  • [a-z] \d: beliebiges Zeichen von a-z, gefolgt von einer Ziffer
  • [a-z&& [^aeiou]]*: beliebiges Zeichen von a-z, außer ein Selbstlaut - beliebig oft
  • a\s: a gefolgt von einem Leerzeichen