Java命令行参数解析:从C D E F输出EF的原因与扩展

在做题的时候,我遇到了如下问题:

Java命令行参数解析:从C D E F输出EF的原因与扩展

C类{

公共静态无效主(字符串[] args){

for(int i = 1; i < args.length; i++) {

System.out.print(args[i]);

在命令行中执行:java CDEF

那么输出是

(A) CDEF (B) DEF (C) EF (D) F

乍一看,我想我选择B是因为for循环从1开始,而C是args[0],所以打印了DEF。

运行后打印C:EF

仔细想了想,java C是执行程序,D是args[0]

于是我自己扩展了关于Java的命令行参数。

Java命令行参数

1.什么是命令行参数?

例如:java Test1 365 156“中国”

注意:(上面的Test1必须是主类,否则无法运行)

2. 谁接收命令行参数?

程序从调用函数 main() 开始。这样做时,两个参数被赋予 main(),

其中之一描述了命令行参数的数量,通常称为argc;另一个是命令行参数数组,通常称为argv。 (C语言中,标准的main函数是这样的)

命令行参数都是字符串,所以argv的类型是char*[argc+1]。程序的名称也以argv[0]的形式传入,

所以argc的值至少是1。这个参数列表总是以0结尾,即argv[argc]==0。 [1]

3、命令行传递参数时需要注意什么?

命令行参数以空格分隔。但是,如果命令行参数本身包含空格,则

该参数必须用一对双引号引起来。

例如:java Test1 365 156 China“中国北京”

4、如何在命令行中输入*(乘法):如果在命令行中直接输入*(乘法),系统会将其处理成当前路径名的几个字符串。如果你想让*表示乘法,你应该输入“*”或者“*”,从args中获取字符串后,使用trim()去掉两端的空格。当然,你也可以输入“#*”,然后想办法去掉前面的#,也就是只要不单独输入*就可以了。

5. Total Commander 启动时,您可以使用一两个文件夹作为命令行参数。这些文件夹用于在一侧或两侧设置文件窗口。这样,你就可以在程序或启动菜单中为Total Commander创建多个图标,每个Total Commander启动后都会打开不同的文件夹甚至压缩包。并且可以指定不同的ini文件,而不仅仅是默认的wincmd.ini,这样同一台机器上的不同用户可以有不同的设置。

你可能想看:
« 上一篇
下一篇 »

相关推荐

java中什么是冒泡,冒泡算法

2026年09月06日

27阅读

java中冒号,java双冒号

2026年09月06日

26阅读

java中的->,java中的是什么意思

2026年09月06日

24阅读

java中的super用法,Java中super的说明

2026年09月06日

28阅读

java中反射的应用,java中反射的应用场景

2026年09月06日

25阅读

java中开关的定义,Java关键字有哪些

2026年09月06日

25阅读