它不是Java,而是
cmd您正在使用的shell(如果您使用的是Windows)解释
*为“当前目录中的所有文件和文件夹”。
所以当你写:
java calc * 2 5
实际上,您将为程序提供以下参数:
java calc file_1 file_2 ... file_n 2 5
file_1 ... file_n当前目录中的所有文件(和文件夹)在哪里。
如果您不希望shell解释*
为所有文件,则需要(如您所注意到的)引用该参数。

它不是Java,而是
cmd您正在使用的shell(如果您使用的是Windows)解释
*为“当前目录中的所有文件和文件夹”。
所以当你写:
java calc * 2 5
实际上,您将为程序提供以下参数:
java calc file_1 file_2 ... file_n 2 5
file_1 ... file_n当前目录中的所有文件(和文件夹)在哪里。
如果您不希望shell解释*
为所有文件,则需要(如您所注意到的)引用该参数。