Estoy empezando a escribir programas en Java. ¿Qué significa el siguiente código Java?
public static void main(String[] args)
¿Qué es String[] args
?
¿Cuándo utilizarías estos args
?
El código fuente y/o los ejemplos son preferibles a las explicaciones abstractas
En Java args
contiene los argumentos de la línea de comandos suministrados como una matriz de objetos String
.
En otras palabras, si ejecutas tu programa como java MiPrograma uno dos
entonces args
contendrá ["uno", "dos"]
.
Si quieres mostrar el contenido de args
, puedes hacer un bucle a través de ellos así...
public class ArgumentExample {
public static void main(String[] args) {
for(int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
}
}
args
contiene los argumentos de la línea de comandos que se pasan al programa Java al invocarlo. Por ejemplo, si invoco el programa así
$ java MyProg -f file.txt
Entonces args
será un array que contiene las cadenas "-f"y
"archivo.txt".
String [] args
es también la forma de declarar un array de Strings en Java.
En esta firma de método, el array args
se llenará de valores cuando se llame al método (como muestran los otros ejemplos aquí). Sin embargo, ya que estás aprendiendo, vale la pena entender que este array args
es igual que si crearas uno tú mismo en un método, como en esto:
public void foo() {
String [] args = new String[2];
args[0] = "hello";
args[1] = "every";
System.out.println("Output: " + args[0] + args[1]);
// etc... the usage of 'args' here and in the main method is identical
}