popp109 (Normal User)
Rookie
Messaggi: 27
Iscritto: 27/11/2010
|
Salve ragazzi sto studiando i vari comportamenti dei linguaggi di programmazione e in java per il momento ho trovato una cosa che non riesco a capire
scrivendo:
Codice sorgente - presumibilmente Java |
//quì mi da errore perchè giustamente sto usando un double,un float e il long che in questo caso //hanno bisogno del cast. byte paperino = 1.5 + 1.2f +5425L; //quì non mi da errore e non capisco perchè mi fa il cast automatico byte topolino = 0; topolino += 1.5 + 1.2f +5425L + '§' + \234;
|
1 .Volevo sapere perchè secondo voi paperino ha bisogno del cast per ricevere quei valori e topolino no.
grazie
Ultima modifica effettuata da popp109 il 02/06/2012 alle 11:15 |
|
ale.gatti96 (Member)
Pro
Messaggi: 71
Iscritto: 29/11/2011
|
Penso perché nel secondo caso usi += e quindi diventa:
Codice sorgente - presumibilmente Plain Text |
topolino = topolino + 1.5 + 1.2f +5425L + '§' + \234;
|
Essendo il primo addendo un byte penso faccia alla fine il cast automaticamente.
prova a fare:
Codice sorgente - presumibilmente Java |
byte paperino = 1 + 1.5 + 1.2f +5425L;
|
e vedi se ti da errore.
Le mie sono solo ipotesi, può anche darsi che ho detto delle cavolate. |
|
popp109 (Normal User)
Rookie
Messaggi: 27
Iscritto: 27/11/2010
|
Postato originariamente da ale.gatti96:
Penso perché nel secondo caso usi += e quindi diventa:
Codice sorgente - presumibilmente Plain Text |
topolino = topolino + 1.5 + 1.2f +5425L + '§' + \234;
|
Essendo il primo addendo un byte penso faccia alla fine il cast automaticamente.
prova a fare:
Codice sorgente - presumibilmente Java |
byte paperino = 1 + 1.5 + 1.2f +5425L;
|
e vedi se ti da errore.
Le mie sono solo ipotesi, può anche darsi che ho detto delle cavolate. |
Questo è stato il mio primo pensiero però mi dice che manca il cast.
In rete non ho trovato nulla a riguardo e sono convinto che ci deve essere un motivo valido perchè altrimenti uno così potrebbe aggirare quelle che sono le basi del linguaggio. |
|