In questo frammento di codice:Che cos'è il punto di casting del tipo?
c = (char)(c - 'A' + 'a');
Perché abbiamo bisogno del (char)
? Questo tipo di casting è giusto?
Si supponga che lo c
sul lato destro dell'istruzione di assegnazione sia una lettera maiuscola. Presumo che stiamo facendo addizione e sottrazione Unicode qui.
Questo è il frammento del libro Java che sto leggendo:
Quando aritmetica è fatto su un char, è prima convertito alla int che lo rappresenta nel sistema Unicode. Sottraendo "A" da una variabile si chiede in sostanza "Fino a che punto le lettere maiuscole sono il carattere in c?" L'aggiunta di "a" restituisce l'int che è la stessa distanza nella sequenza dell'alfabeto minuscolo codice del personaggio. Il cast in char è necessario perché char è un tipo speciale di int con un intervallo di valori più limitato. Usando il cast, il programmatore riconosce che lui o lei capisce la natura particolare l'assegnazione e si aspetta il valore di essere nel range corretto, da 0 a 66535.
Non capisco il punto del cast (char)
? Cosa sarebbe diverso se non usassimo il cast (char)
? Qual è il casting più in generale?
In parole semplici: In java numero 8 può essere preso come carattere e non intero .... quindi 8 + 8 può giv 88 e non 16 ... poiché 8 dovrebbe essere considerato come numero intero per l'operazione airmetic, noi type caste come 'int' –