2016-04-01 5 views
2

Ich studiere das Buch für die JAVA OCA-Zertifizierung. Ich bin im Kapitel binärer Operator. Das Buch erwähnt die folgende Regel.Kein Sinn in der Verwendung von Byte, kurz und char

byte, short und char werden zu int hochgestuft, wenn sie binäre Operatoren verwenden.

Also, im Moment, wenn ich definiere und eine Variable vom Typ kurz initialisieren oder Byte es wird automatisch in int umgewandelt. In dem Buch heißt es = Zuweisung ist ein binärer Operator.

Gibt es einen Punkt, diese Art von Variablen zu verwenden?

Wie kann ich diese Art von Variablen in Java drucken?

+1

Wahrscheinlich die doppelte Frage [hier klicken] (http://stackoverflow.com/questions/27582233/why-byte-and -short-values-sind-promoted-to-int-wenn-ein-Ausdruck-wird-ausgewertet- –

+2

'Byte a = -1' wird nicht in ein' int' konvertiert. Wenn Sie einen * binären Operator * (oder einen arithmetischen Operator) verwenden, wird er zu einem 'int' hochgestuft. 'Byte b = a + (Byte) 1; // <--int' –

+1

Zuweisung ist nicht wirklich ein binärer Operator. Entweder ist das Buch verwirrend oder du liest es falsch. – ajb

Antwort

0

Solche Variablen nicht zu int umgewandelt werden, wenn Sie sie definieren. Sie werden zu int befördert, wenn sie zusammen mit einem binären Operator wie dem &-Operator verwendet werden. Holen Klassennamen eines Objekts unter Verwendung.

variablename.getClass() getName()

-1

eine Instanz eines Objekts gegeben, können Sie seine getClass() Methode aufrufen, eine Instanz des Class zu bekommen Objekt, die den Typ des Objekts beschreiben.

Mit dem Class Objekt, können Sie einfach seine Typnamen drucken:

Integer number=Integer.valueOf(15); 
System.out.println(number.getClass().getName()); 
Verwandte Themen