我刚开始用Java写程序。下面的Java代码是什么意思?
public static void main(String[] args)
什么是字符串[]参数? 什么时候使用这些参数?
源代码和/或示例优先于抽象的解释。
我刚开始用Java写程序。下面的Java代码是什么意思?
public static void main(String[] args)
什么是字符串[]参数? 什么时候使用这些参数?
源代码和/或示例优先于抽象的解释。
当前回答
您也可以使用下面的语法。
public static void main(String... args)
这里省略,即数据类型String后面的三个点指定零个或多个参数(参数数量可变)。
其他回答
这些是Java中的命令行参数。
换句话说,如果你跑
java MyProgram一二
然后args包含:
["一","二"]
public static void main(String [] args) {
String one = args[0]; //=="one"
String two = args[1]; //=="two"
}
这样做的原因是为了配置应用程序以特定的方式运行,或者为它提供所需的一些信息。
如果您是Java新手,我强烈建议您阅读官方的Oracle Java™教程。
args包含调用时传递给Java程序的命令行参数。例如,如果我像这样调用程序:
$ java MyProg -f file.txt
然后args将是一个包含字符串"-f"和"file.txt"的数组。
除了前面所有的评论。
public static void main(String[] args)
可以写成
public static void main(String...arg)
or
public static void main(String...strings)
用通俗易懂的语言解释。
当我们将JVM指向类名时,main方法希望我们提供一些参数。这意味着,假设你的文件名是Try.java,现在要在命令提示符中执行这个命令,你写“javac Try.java”来编译,然后再写“java Try”来执行。现在假设不是简单地写“java Try”而是写“java Try 1”。这里你传递了一个参数“1”。这将由你的main方法获取,即使你没有在你的代码中使用它。
如果你想检查你的主方法是否真的取了参数"1"简单地,在你的main方法中输入以下内容:
for(int i = 0; i < args.length; i++) {
System.out.println("Argument is: "+args[i]);
}
下面的答案是基于我的理解和一些测试。
什么是字符串[]参数?
Ans:
String[] ->我们知道这是一个简单的String数组。
args ->是一个数组的名字,它可以是任何东西(例如,a, ar,参数,参数)编译器和执行没有问题,我也测试了。
E.g:
public static void main(String[]参数) public static void main(String[]参数)
什么时候使用这些参数?
nsa - >
开发人员非常聪明地设计了主要功能。实际思考是很深刻的。它基本上是在C和c++基于命令行参数的考虑下开发的,但现在没有人更多地使用它。
1-用户可以输入任何类型的数据从命令行可以是数字或字符串&必须接受它的编译器,我们应该使用哪种数据类型?看东西2
2- String是支持Java中所有基本数据类型的数据类型,如int, long, float, double, byte, shot, char。您可以轻松地以任何基本数据类型解析它。
例:下面的程序已经编译并执行了,我也进行了测试。
输入为-> 1 1
// one class needs to have a main() method
public class HelloWorld
{
// arguments are passed using the text field below this editor
public static void main(String[] parameter)
{
System.out.println(parameter[0] + parameter[1]); // Output is 11
//Comment out below code in case of String
System.out.println(Integer.parseInt(parameter[0]) + Integer.parseInt(parameter[1])); //Output is 2
System.out.println(Float.parseFloat(parameter[0]) + Float.parseFloat(parameter[1])); //Output is 2.0
System.out.println(Long.parseLong(parameter[0]) + Long.parseLong(parameter[1])); //Output is 2
System.out.println(Double.parseDouble(parameter[0]) + Double.parseDouble(parameter[1])); //Output is 2.0
}
}