Soy principiante en java y mi problema es que no entiendo el funcionamiento de los args. Creo que son listas de cadenas, ¿pero qué hay en esas cadenas? ¿Cómo se modifican? ¿O cómo se inicializan? ¿En definitiva como se manejan?.
creo que te refieres a los argumentos que se pasan al método main (que comunmente se suelen poner con el nombre de args). Primero has de saber que todos los métodos de java pueden recibir argumentos, y que para ello sólo tienes que poner entre paréntesis el tipo de datos que vas a utilizar (int, String, double, el nombre de una clase) y el nombre con el que te vas a referir a ellos dentro del método. Por ejemplo, public void metodo(String nombre) Esta es la definición del método "metodo" y sabemos que recibe como parámetro un String al que nos vamos a referir con el nombre de "nombre". Pues bien, lo mismo ocurre con el método main, recibe un argumento que es un array de String, una lista de String, y al que te vas a referir con un nombre (el que la mayoría de la gente ponga args es casual, puedes poner el nombre que quieras). Pues bien, en esa lista lo que hay es todo aquello que pongas después de "java mi programa xx1 xx2 ..." es decir, todo lo que pongas después de la invocación del programa. En esa lista de String tendrás en cada posición un String. Por ejemplo, si al invocar tu programa haces: java mi programa uno dos hola pepe En la lista de String tendrás en la posición 0->"uno", en la posición 1->"dos", en la posición 2->"hola" y en la posición 3->"pepe". Es decir, la lista no la tienes que inicializar dentro del método, puesto que va a tener todo aquello que pongas después de hacer "java programa...", y para manejarlo dentro del método tienes que utilizar el nombre que le hayas puesto. Por ejemplo si le has puesto el nombre args para referirte a la posición 0 de la lista tendrás que poner args[0] y así sucesivamente. Espero que te haya servido de algo, si necesitas alguna aclaración o lo que sea no dudes en volver a preguntar.