在一个主函数里面的命名方式,如果输入一个main,然后再ctrl + /,它会自动生成后面的东西
package Basic;
public class Test {
public static void main(String[] args) {
}
}
那这段代码块中的args里面中有东西吗?
package Basic;
public class Test {
public static void main (String[] args) {
System.out.println(args[0]);
}
}
此时会出现一个错误
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Basic.Test.main(Test.java:5)
args[0]就是取第一个参数,因运行的时候没有参数所以会把索引越界异常。所以说明了这个没有值,那如何设置值呢?
可以通过以下步骤进行设置:
因为args是arguments的缩写,这是一个默认值
如果我们把args中后面的s去掉
此时的结果没有报错还是可以执行
但是如果我们把String[] args 删除,此时会出现错误
错误: 在类 Basic.Test 中找不到 main 方法, 请将 main 方法定义为:
public static void main(String[] args)
否则 JavaFX 应用程序类必须扩展javafx.application.Application
java 本身不存在不带String args[]的main函数,java程序中去掉String args[]会出现错误
我在百度上找到的为什么main后面是String[] args的回答
1、 字符串变量名(args)属于引用变量,名字代号而已,可以自己取的。
2、总的来说就是个存放字符串数组用的, 去掉就不知道 "args" 声明的变量是什么类型了。
3、如果有 public static void main 则代表当你RUN这程序曷会RUN这部分,;
4、你在其他位置写的都是为这MAIN而设的。args是arguments的缩写,只是一个默认名,一般都习惯性照写。
5、就是一个字符串数组的变量名,不是关键字args是arguments的缩写默认名,一般都习惯性照写你可以改成其他名。
6、String[] args是main函数的形式参数,可以用来获取命令行用户输入进去的参数。
7、java 本身不存在不带String args[]的main函数,java程序中去掉String args[]会出现错误。