Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Somma e assegnazione senza effettuare il cast !
Forum - Java - Somma e assegnazione senza effettuare il cast !

Avatar
popp109 (Normal User)
Rookie


Messaggi: 27
Iscritto: 27/11/2010

Segnala al moderatore
Postato alle 11:14
Sabato, 02/06/2012
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

  1. //quì mi da errore perchè giustamente sto usando un double,un float e il long che in questo caso
  2.   //hanno bisogno del cast.
  3.   byte paperino = 1.5 + 1.2f +5425L;  
  4.  
  5.   //quì non mi da errore e non capisco perchè mi fa il cast automatico
  6.   byte topolino  = 0;
  7.   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
PM Quote
Avatar
ale.gatti96 (Member)
Pro


Messaggi: 71
Iscritto: 29/11/2011

Segnala al moderatore
Postato alle 14:50
Sabato, 02/06/2012
Penso perché nel secondo caso usi += e quindi diventa:
Codice sorgente - presumibilmente Plain Text

  1. 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

  1. 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.

PM Quote
Avatar
popp109 (Normal User)
Rookie


Messaggi: 27
Iscritto: 27/11/2010

Segnala al moderatore
Postato alle 17:07
Sabato, 02/06/2012
Testo quotato

Postato originariamente da ale.gatti96:

Penso perché nel secondo caso usi += e quindi diventa:
Codice sorgente - presumibilmente Plain Text

  1. 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

  1. 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.

PM Quote