2016-11-28 1 views
-1

Je suis novice dans l'apprentissage de Java et j'ai expliqué que chaque variable doit être déclarée. Pourquoi n'ai-je pas besoin de le faire en deux étapes?Java Typage statique

int a = Integer.parseInt(console.readLine("How old are you? ")); 
console.printf("a: %d", a); 
+3

Pouvez-vous expliquer un peu plus? Je ne suis pas sûr de ce que vous êtes confus. – 4castle

+2

Pourquoi * auriez-vous besoin de le faire en deux étapes, dans votre esprit? C'est plus facile à expliquer si nous savons ce qui vous a fait penser en premier lieu. –

+0

La raison pour laquelle j'ai pensé que cela devrait être fait en deux étapes est à cause du typage statique. La réponse de console.readLine n'est pas déclarée. – n2java

Répondre

0

Vous n'avez pas besoin de déclarer une variable, mais lorsque vous le faites, vous devez spécifier un type (ou un super type de ce qui se trouve sur le côté droit).

La valeur de retour de console.readLine("How old are you? ") est une chaîne et printf peut prendre cela comme paramètre, il n'y a donc pas d'information de type manquante.

0

Rien ne vous empêche d'écrire dans une ligne, à savoir

console.printf("a: %d", Integer.parseInt(console.readLine("How old are you? "))); 

Cela fonctionnera sans aucun problème. il écrit dans une ligne devient une question de préférence/lisibilité et si vous voulez faire quoi que ce soit avec la variable avant de l'imprimer ...

Quant à votre commentaire, vous pouvez vérifier dans documentation que console.readLine() retours String.