with uso read pass metodo from java parameters command-line-arguments main convention

uso - pass command line arguments in java



¿Cuál es el punto de String[] args en Java? (6)

En realidad, no tengo idea de por qué es necesario, aparte de decir que es una convención sintáctica. De la misma manera que una función es (nombre-función definido ()) en Lisp / Scheme, o hay bloques do..end en Ruby, la sintaxis de una función principal Java es con String [] args.

En cuanto a no usar argumentos de línea de comando, es completamente dependiente del programa. Enteramente. Escribo programas en Java todo el tiempo que toman argumentos de línea de comando; es solo una cuestión de lo que estás tratando de lograr.

Siempre que declare el método principal en una clase, siempre debe hacer una matriz de String llamada "args". ¿Cuál es el punto de? A menos que viva bajo una roca, los agrupamientos de línea de comando en Java apenas se usan. Y cuando intento ejecutar esto ...

//this program won''t compile public class SomeClass { public static void main(){ System.out.println("This text will never be displayed :("); } }

El resultado muestra esto en texto rojo:

Error: Método principal no encontrado en la clase SomeClass , defina el método principal como:
public static void main (String [] args)

Yo, el novato programador de Java, lo agradecería mucho si alguien me dijera por qué es necesario ingresar ese parámetro en un método principal.


Porque

  1. Los argumentos de la línea de comandos todavía se usan, incluso por muchos programas de UI (¿sabías que Microsoft Outlook admite algunos argumentos de línea de comandos muy útiles ? ) *; y:
  2. Así es como funciona Java (TM) . Entre otras cosas, reduce la complejidad del código (al no permitir el uso de múltiples formas y posibles sombreados accidentales) y el tiempo de ejecución (al no tener que averiguar "a cuál principal llamar"). Permitir una forma secundaria sin "args" simplemente agrega muy poco.

Feliz codificación ...

* Sí, Outlook no es Java. Sin embargo, si Outlook tiene argumentos de línea de comandos, bueno, todavía deben valer algo, era una hipérbole ;-)

Casi todos los programas de UI que ofrecen abrir archivos de lectura permitirán especificar qué archivo abrir a través de argumentos de línea de comandos (Gimp, Notepad, Firefox, por nombrar algunos otros). Entre otras cosas, esto es para permitir la integración con "doble clic para abrir" en elementos en el Explorador de Windows y similares.


Porque esa es la firma del método principal al que se llama cuando ejecuta una clase Java. Es necesario que exista alguna convención sobre qué método se ejecutará. Por convención, es el

public static void main(String[] args) method

Y sí, vives bajo la roca, hay muchas situaciones en las que se usan argumentos de línea de comandos. ¿Por qué no se usarían?

Usted podría preguntar: ¿por qué lo requieren? ¿Por qué no simplemente elegir otro método principal? La respuesta es que agregaría complejidad con 0 beneficio. Como es ahora, la función principal se ve distintiva. Si lo miras, sabes que es el que será llamado. Si se llamara a alguna main, siempre tendrías que preguntarte: ¿es el principal el que estoy buscando? ¿O hay otro main en esta clase que tenga precedencia?


Respuesta corta: porque así es Java.

Los argumentos de la línea de comandos se usan todo el tiempo, pero no siempre los ve debido a las secuencias de comandos del iniciador, o porque el programa se ejecuta en un servidor, etc.

Dicho eso, una gran cantidad de tiempo los argumentos de la línea de comando son de la variedad -D , sorbidos por la JVM antes de llegar a la main . Pero depende de lo que estés haciendo.


Un caso en el que puedo pensar es cuando desea tener una interfaz de línea de comandos para su software junto con la GUI. Un ejemplo son las herramientas de Android, todas ellas tienen interfaces impulsadas por consola.


Una aplicación Java puede aceptar cualquier cantidad de argumentos desde la línea de comando. Esto permite al usuario especificar información de configuración cuando se inicia la aplicación. (De Argumentos de línea de comando ) y como todos los demás dijeron aquí, ¡así son las cosas!

¡Por los dioses, por favor, no digas que si no necesito esto, nadie más necesita esto! :)