Bitte erläutern Sie, was genau passiert, wenn die folgenden Codeabschnitte ausgeführt werden:
int a='\15';
System.out.println(a);
dies druckt 13 aus;
int a='\25';
System.out.println(a);
dies druckt 21 aus;
int a='\100';
System.out.println(a);
dies druckt 64 aus.
int a='\15'Erstellt zuerst eine charauf der Oktalzahl basierende Zahl "15" (Dezimalzahl 13, als Zeichen die ASCII "Wagenrücklauf"), die Sie dann in eine intGanzzahl umwandeln. Dies ist legal, da Zeichen 16-Bit-Ganzzahlen sind. Es handelt sich also um einen sicheren Upcast, und Java gibt keine Hinweise zum Casting aus. Die anderen Antworten decken bereits die gesamte Oktal- / Dezimalsache ab.