Anuncios

Bienvenidos sean a este post, hoy veremos otra forma de pasar informacion.

Anuncios

Una opcion interesante que disponemos es poder enviar valores desde linea de comando a nuestro programa. Esto es util cuando necesitamos enviar informacion a nuestro programa de manera externa o al inicio del mismo. Por ejemplo, pueden ser opciones de configuracion o parametros especificos del programa.

Anuncios

Este tipo de informacion se envia directamente al main y es la que esta por detras de nuestro comando ejecutor. Al igual como sucede en C++, Java tambien almacena estos parametros en un Array de tipo String llamado args y los podemos extraer de una manera muy sencilla. Analicemos el siguiente ejemplo:

Args.java
public class Args
{
  public static void main(String[] args)
  {
     for(int i=0, j=1; i < args.length; i++, j++)
        System.out.println("arg #" + j + ": " + args[i]);
  }
}
Anuncios

Como pueden ver es un codigo simple, solo posee un bucle for donde mediante la propiedad length establece la cantidad de elementos que posee nuestro array y nos servira como limite al bucle. Este tiene la particulardad de incremetar dos variables, siendo i para cumplir la condicion y j para indicar cual argumento es. En el bloque mostramos cada uno de los elementos cargados en la linea. Compilemos y ejecutemos el siguiente comando:

$ java Args uno dos tres cuatro 100 -200 tinchicus
Anuncios

La salida que obtendremos sera la siguiente:

$ java Args uno dos tres cuatro 100 -200 tinchicus
arg #1: uno
arg #2: dos
arg #3: tres
arg #4: cuatro
arg #5: 100
arg #6: -200
arg #7: tinchicus
$
Anuncios

Si conocen sobre C++, una de las principales diferencias es que Java no toma al primer argumento como el programa sino que solamente los valores informados. Como mencionamos al inicio, esto nos permite recibir informacion y poder utilizar en nuestro codigo. Tomemos el codigo anterior y realicemos el siguiente cambio:

public class Args
{
  static void saludar(String nombre)
  {
     System.out.println("Hola, " + nombre);
  }

  public static void main(String[] args)
  {
     for(int i=0; i < args.length; i++)
        saludar(args[i]);
  }
}
Anuncios

Agregamos una nueva funcion para saludar al nombre que recibe como argumento. En el main modificamos al bucle para llamar a esta funcion y le pasamos como argumento cada uno de los valores recibidos desde la linea de comandos. Compilemos, y veamos algunas ejecuciones de ejemplo:

$ java Args tinchicus
Hola, tinchicus
$
Anuncios
$ java Args Enzo Marta Ariel Raul
Hola, Enzo
Hola, Marta
Hola, Ariel
Hola, Raul
$
Anuncios

Como mencionamos al inicio, esta es una forma basica de pasar parametros de opciones a nuestro codigo o programa pero existe una libreria especifica para ello y mucho mas util pero no quita que tambien se puede usar para esto.

Anuncios

En resumen, hoy hemos visto a args, o mejor dicho los argumentos de linea de comando, esta conducta se encuentra en muchos lenguajes similares a C/C++, tal como este, y hemos visto algunas de las practicidades que nos ofrece. Espero les haya sido de utilidad y les dejo un link a GitHub donde estan los codigos creados hoy:

GitHub / Args

Les dejo algunas de mis redes sociales para seguirme o recibir una notificacion cada vez que subo un nuevo post:

Anuncios
pp258

Donación

Es para mantenimento del sitio, gracias!

$1.50