Java 静态类型

Java Static typing

我是新手 Java 并且被解释为每个变量都需要声明。为什么我不需要分两步执行此操作?

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

没有什么能阻止你把它写成一行,即

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

这将毫无问题地工作。将它写在一行中成为一个偏好/可读性的问题,以及你是否想在打印之前对变量做任何事情......

关于您的评论,您可以在 documentation 中查看 console.readLine() returns String.

您不需要声明变量,但是当您这样做时,您必须指定一个类型(或右侧的超类型)。

console.readLine("How old are you? ")的return值是一个字符串,printf可以将其作为参数,所以不会丢失类型信息。