It's not a secret anymore!
The moose likes Beginning Java and the fly likes args versus argv Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "args versus argv" Watch "args versus argv" New topic

args versus argv

eddie coberg

Joined: Oct 22, 2002
Posts: 1
what is the difference between these two? i see both of them being used if my eyes don't deceive me. thank you in advance.
Linda Jones
Ranch Hand

Joined: Aug 17, 2002
Posts: 57
If you mean what is the difference between
public static void main(String[] args)
public static void main(String[] argv)
the answer is they are the same. The arg bit is just a made-up name. The convention happens to be to use args or argv (short for arguments I guess) in this situation but it is not required. You could also write
public static void main(String[] eddie)
if you wanted (or anything else).
[ December 04, 2002: Message edited by: Linda Jones ]
Brian McCallister

Joined: Dec 03, 2002
Posts: 19
Historically C uses an int named argc to hold the count of comman dline arguments, and an array of char pointers to hold the values.
Args is just clearer if you only use one =)
Greg Charles

Joined: Oct 01, 2001
Posts: 2968

argv was the C standard name for the arguments. It stood for "argument vector". The Java standard uses args, which just stands for arguments. In C programs, argv[0] is the name of the program being executed, while in Java, args[0] is just the first command argument. The executable name doesn't exist.
Of course, as was already pointed out, args or argv is just a parameter name. You could call it "fred" and it would still work. Your command parameters would then be accessed by fred[0], fred[1], ...
I agree. Here's the link:
subject: args versus argv
It's not a secret anymore!