首页 > 编程 > Java > 正文

Java初学之命令行参数

2019-11-08 02:13:11
字体:
来源:转载
供稿:网友

在做题的时候遇到了下面一道题:

class C {

public static void main(String[] args) {

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

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

}

}

}

在命令行中执行 :java C D E F

则输输出为 

(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 "China"注意:(以上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 "Beijing of China"4、命令行中输入*(表示乘法)的方法:若直接在命令行中输入*(乘法),系统会处理成当前路径名的几个字符串,若要*表示乘法,应该输入“ *”或“ * ”,由args取得该字符串后,再用trim()去掉两端空格即可,当然也可输入“#*”,然后再想办法去掉前面的#即可,即只要不单独输入*即可。5、Total Commander启动时可以把一个或两个文件夹做为命令行参数。这些文件夹用来设置一侧或两侧的文件窗口。这样你可以在程序或启动菜单为Total Commander创建多个图标,每个Total Commander启动后打开不同文件夹甚至压缩包。而且可以指定不同的ini文件,不止默认的wincmd.ini,这样同一机器上的不同用户可以拥有不同的设置。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表