Printing 控制台/命令窗口上的输出始终为字符串形式/类型?

Printing 控制台/命令窗口上的输出始终为字符串形式/类型?,printing,Printing,我知道,当我们在输出窗口中使用所有语言的打印函数打印字符串时,它只会打印为字符串。但我想知道,如果我使用相同的打印函数打印一个整数/浮点,它会被转换成字符串然后打印在输出屏幕上,还是它的类型行为与我们传入打印函数时的类型行为相同? 我问这个问题是因为我参与了一些竞争性编程,发现如果我们必须在单独的行上打印1到500的整数,如果我们运行“for”循环500次,并且每次迭代/循环调用print()函数,那么这将花费很多时间。但是,如果我创建一个只包含字符串的变量,在每次迭代/循环中,在字符串末尾添加

我知道,当我们在输出窗口中使用所有语言的打印函数打印字符串时,它只会打印为字符串。但我想知道,如果我使用相同的打印函数打印一个整数/浮点,它会被转换成字符串然后打印在输出屏幕上,还是它的类型行为与我们传入打印函数时的类型行为相同?
我问这个问题是因为我参与了一些竞争性编程,发现如果我们必须在单独的行上打印1到500的整数,如果我们运行“for”循环500次,并且每次迭代/循环调用print()函数,那么这将花费很多时间。但是,如果我创建一个只包含字符串的变量,在每次迭代/循环中,在字符串末尾添加一个带新行字符的整数,并在修剪字符串后最终打印该字符串,那么所需的时间将相对较少。下面举例说明---

下面的Java“for”循环在每个迭代/周期中打印数字

for(int i=1;i<=500;i++){
    System.out.println(i);
}

for(int i=1;i首先,函数
System.out.println
通过
.toString()
方法将参数转换为字符串(请参阅)


第二,它可能更快地将所有的输出累积到一个缓冲区中,因为这些I/O操作与修改主内存中的变量相比相对较慢。如果得到类似的结果,问题不是将整数转换为字符串。

String buffer_str = "";
for(int i=1;i<=500;i++){
    buffer_str+=i+"\n";
}
System.out.println(buffer_str.trim());