Sem I (Program I) - N3 Flashcards
Was passiert bei einer Umwandlung char → int?
Bei einer Umwandlung von char nach int in Java wird der Unicode-Wert des Zeichens als int-Wert dargestellt. Jedes Zeichen hat eine entsprechende Unicode-Zahl, die seinem Wert im Unicode-Zeichensatz entspricht.
char c = 'A'; int i = c; // implizite Umwandlung von char zu int System.out.println(i); // Ausgabe: 65
Typumwandlung (Casting) implizit
Automatisch vom Compiler durchgeführt
Typumwandlung (Casting) explizit
Vom Programmierer durch Cast-Operator gefordert
Wo sollte man Kommentare hinzufügen? (JAVA)
1) Kopf der Methode
2) Wichtigsten Schritte der Methode
Wie werden nach der lexikalischen Konvention die Klassen in Java geschrieben?
Klassennamen werden im sogenannten CamelCase-Stil geschrieben, bei dem jedes Wort im Namen mit einem Großbuchstaben beginnt und keine Leerzeichen
Wie werden nach der lexikalischen Konvention die Methoden in Java geschrieben?
Methodennamen folgen ebenfalls dem CamelCase-Stil, beginnen jedoch mit einem Kleinbuchstaben
Wie werden nach der lexikalischen Konvention die Variablen in Java geschrieben?
Variablennamen werden ebenfalls im CamelCase-Stil geschrieben und sollten aussagekräftig sein, um ihren Verwendungszweck zu verdeutlichen.
Wie werden nach der lexikalischen Konvention die Konstantennamen in Java geschrieben?
Konstantennamen werden normalerweise ausschließlich in Großbuchstaben geschrieben und können Wörter durch Unterstriche trennen
Was sollten die Namen der Methoden und der Variablen
ausdrucken?
- Beschreibend sein
- Vermeiden von Abkürzungen
- Konsistenz:
- Vermeidung von Magischen Zahlen
- Kontext berücksichtigen
- Vermeidung von Overloading
17 / 3 + 20f
1) Datentyp?
2) Implizites Casting in int möglich?
3) Explizites Casting in int erlaubt?
0) 26.666666 (bevor der Ausdruck explizit in int umgewandelt wird)
1) float
2) Ja (möglich, aber es wird zu einem gerundeten Wert führen)
3) Ja
(10 - 8) / 4.0
1) Datentyp?
2) Implizites Casting in int möglich?
3) Explizites Casting in int erlaubt?
0) 0.5
1) double
2) Casting in int: Nein (da ein Wert vom Typy double verwendet wird)
3) Ja
“100 - 99.0” + 2
1) Datentyp?
2) Implizites Casting in int möglich?
3) Explizites Casting in int erlaubt?
0) 100 - 99.02
1) String
2) Nein
3) Nein
(5 < 5) && true
1) Datentyp?
2) Implizites Casting in int möglich?
3) Explizites Casting in int erlaubt?
0) false
1) boolean
2) Nein
3) Nein
(short)(2 * 3) - 10
1) Datentyp?
2) Implizites Casting in int möglich?
3) Explizites Casting in int erlaubt?
0) -4
1) short
2) Ja
3) Ja
-112 + ‘A’
1) Datentyp?
2) Implizites Casting in int möglich?
3) Explizites Casting in int erlaubt?
0) 33
1) int
2) Ja
3) Ja
9283847762773.31223f
1) Datentyp?
2) Implizites Casting in int möglich?
3) Explizites Casting in int erlaubt?
0) 9.2838478E12
1) float
2) Ja (möglich, aber es wird zu einem Verlust der Nachkommastellen führen)
3) Ja (möglich, aber es wird zu einem Verlust der Nachkommastellen führen)
9283847762773.31223
1) Datentyp?
2) Implizites Casting in int möglich?
3) Explizites Casting in int erlaubt?
0) 9283847762773.312
1) double
2) Nein
3) JA
Warum führt der folgende Code bei der Übersetzung zu einem Fehler?
~~~
int x = 0;
long y = 1000;
x = y;
~~~
Wie kann man das Programm reparieren?
Weil Größerem Speicherbedarf (long) zu einem Datentyp mit kleinerem Speicherbedarf (int) stattfindet.
int x = 0; long y = 1000; x = (int) y;
Welche Werte haben nach der Ausführung des kleinen Programms die Variablen k und g?
int k; float f = 1.5f; float g; k = 10 * (int) f; g = 10 * f; System.out.println("Variable k: " + k); System.out.println("Variable g: " + g);
Variable k: 10 Variable g: 15.0
Was ist die Ausgabe des folgenden Programms:
~~~
int ganz = 3;
double gleit = 2.1;
int div = ganz/gleit;
System.out.println(div);
~~~
Wie kann man das Programm reparieren?
Das Programm würde bei der Kompilierung einen Fehler verursachen, da eine implizite Konvertierung von einem double-Wert zu einem int-Wert stattfinde.
int ganz = 3; double gleit = 2.1; double div = ganz / gleit; System.out.println(div);