Java main方法中的String[] args

在每一个学习Java的同学,都应该写过下面的这一段代码。

public class Hello{
	public static void main(String[] args) {
		System.out.println("Hello,World!");
	}
}

在Java语言中,规定了入口函数是一个main()方法,该方法有一个String[]类型的参数,但是在很多时候,很多人都使用不上这个参数,也不关心为什么要写这个参数。

那么这个字符串数组类型的参数究竟是什么东西呢?

其实很简单,main()方法中的字符串数组类型的参数就是java命令的参数,使用java命令的方式运行main()方法,会将java命令的参数入参到Java main()方法的字符串数组参数中。

我们可以通过以下方式来进行验证:

  • 1、先编写一个Hello.java文件,文件内容如下:
public class Hello{
	public static void main(String[] args) {
		System.out.println("==============args start============");
		for(int i = 0; i < args.length; i++) {
			System.out.println(args[i]);
		}
		System.out.println("==============args end============");
	}
}
  • 2、在Hello.java文件的路径下打开cmd命令提示符,运行javac Hello.java命令编译该文件,这将会在对应的文件路径下,得到一个Hello.class字节码文件。

  • 3、使用java Hello命令运行Hello.class文件,我们将会得到如下的运行结果:
    -

  • 4、我们这次在java命令后面添加一些参数,这些参数我们可以自己定义。
    例如:java Hello a b c d ,我们将会得到如下的运行结果:
    在这里插入图片描述

正是因为Java main()方法的这个扩展性,使得每一个开发者,可以通过自己定义一些Java命令的参数,实现一些不同的功能。

其中SpringBoot的启动类,其实也使用了这个特性,SpringApplication.run()方法有一个重载方法,其中第一个入参的是注解了@SpringBootApplication注解的类的字节码对象,而第二个参数,即为main()方法的字符串数组参数。

SpringBoot可以通过这个字符串数组参数,通过java命令参数的方式,在不同的环境下实现不同的应用配置。

@SpringBootApplication
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}
### 回答1: 参数 在Javamain方法是程序的入口点。它是一个静态方法,它接受一个字符串数组作为参数。这个字符串数组被称为“args”,它包含了从命令行传递给程序的参数。在main方法,我们可以使用args数组来访问这些参数,并根据需要对它们进行处理。例如,我们可以使用args数组来指定程序的输入文件或输出文件的名称,或者指定程序的运行模式等。 ### 回答2: 在Java使用main方法args参数是为了接收命令行参数。当我们在命令行窗口运行一个Java程序时,可以在程序名称后面添加一些参数,这些参数会被传递给main方法args参数,供我们在程序进行处理。 main方法的签名通常是这样的:public static void main(String[] args),其String[] args就是用来接收命令行参数的。它是一个字符串数组,可以存储任意数量的参数。 假设我们在命令行窗口运行以下命令来执行Java程序:java MyProgram arg1 arg2 arg3 其,MyProgram是Java程序的名称,arg1、arg2、arg3是我们添加的参数。在MyProgram的main方法,我们可以通过访问args数组来获取这些参数。 比如,我们可以通过下标来访问args数组的元素,args[0]代表第一个参数,args[1]代表第二个参数,以此类推。我们可以使用args.length来获取参数的数量,这样可以方便地进行循环遍历args数组并处理每个参数。 举个例子,假设我们想要在命令行窗口输入两个数字并求它们的和,我们可以这样编写Java程序: public class SumCalculator { public static void main(String[] args) { int num1 = Integer.parseInt(args[0]); int num2 = Integer.parseInt(args[1]); int sum = num1 + num2; System.out.println("The sum is: " + sum); } } 运行这个程序时,我们可以在命令行窗口输入两个数字作为参数,程序会将这两个参数解析为整数并求它们的和,并在控制台输出结果。 总而言之,main方法args参数在Java用来接收命令行参数,它是一个字符串数组,我们可以通过遍历数组来处理参数的值。 ### 回答3: 在Javamain方法是程序入口的方法,它的作用是启动程序并执行主要的功能代码。main方法的参数args是一个字符串数组,可以在命令行向程序传递参数。 args参数的作用是接收命令行传递的参数,这些参数可以用于在程序运行时动态地指定程序的行为。args数组的每个元素都是一个字符串,它们是命令行传递的参数按顺序进行存储的。 通过args参数,我们可以在程序运行时根据实际情况动态地调整程序的行为。比如,我们可以通过命令行参数指定程序的文件输入路径、输出路径、运行模式等等。这样,我们不需要修改程序代码,只需要在命令行传递相应的参数,就可以修改程序的执行方式。 在使用args参数时,我们可以通过args数组的length属性获取传递参数的个数,通过循环遍历args数组获取具体的参数值。我们可以根据不同的参数值来决定程序的执行分支,实现不同的功能。 例如,我们可以在命令行执行"java MyClass input.txt output.txt",其MyClass是包含main方法的类名,input.txt是输入文件的路径,output.txt是输出文件的路径。在程序,我们可以通过args[0]获取输入文件的路径,通过args[1]获取输出文件的路径,从而实现根据不同的命令行参数来处理不同的文件。 总之,通过main方法args参数,我们可以在Java程序动态地接收和处理命令行传递的参数,从而实现程序的灵活性和可扩展性。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值