El método main() de Java es el punto de partida desde donde JVM inicia la ejecución de un programa Java. JVM no ejecutará el código si al programa le falta el método principal. Por lo tanto, es uno de los métodos más importantes de Java y es muy importante comprenderlo adecuadamente.
El compilador de Java o JVM busca el método principal cuando comienza a ejecutar un programa Java. La firma del método principal debe ser de una manera específica para que la JVM reconozca ese método como su punto de entrada. Si cambiamos la firma del método, el programa se compila pero no se ejecuta.
La ejecución del programa Java, el java.exe se llama. Java.exe, a su vez, realiza llamadas Java Native Interface o JNI y cargan la JVM. Java.exe analiza la línea de comando, genera una nueva matriz de cadenas e invoca el método main(). De forma predeterminada, el hilo principal es siempre un hilo que no es un demonio.
Sintaxis del método main()
La sintaxis del método main() siempre se escribe como:
prime no code in java

Ejemplo
El método más común para definir el método main() se muestra en el siguiente ejemplo.
Java // Java Program to demonstrate the // syntax of the main() function class techcodeview.com { public static void main(String[] args) { System.out.println('I am a Geek'); } }> Producción
I am a Geek>
Cada palabra en el principal pública estática vacía La declaración tiene un significado en la JVM que se describe a continuación:
1. público
Es un modificador de acceso , que especifica desde dónde y quién puede acceder al método. Hacer público el método main() lo hace disponible globalmente. Se hace público para que JVM pueda invocarlo desde fuera de la clase, ya que no está presente en la clase actual.
Si el método principal no es público, su acceso está restringido.
Ejemplo:
Java // Java Program to demonstrate the // use of any other access modifier // other than public class techcodeview.com { private static void main(String[] args) { System.out.println('I am a Geek'); } }>
Producción
Error: Main method not found in class, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application>
2. Estático
Es un palabra clave es decir, cuando se asocia con un método, convirtiéndolo en un método relacionado con la clase . El principal() El método es estático para que JVM pueda invocarlo sin instanciando la clase . Esto también ahorra el desperdicio innecesario de memoria que habría sido utilizada por el objeto declarado sólo para llamar al principal() método por la JVM.
Si intenta ejecutar código Java donde main no es estático, obtendrá un error.
Ejemplo:
Java // Java Program to demonstrate the // error occurred when we dont use the // static keyword in the main() method class techcodeview.com { public void main(String[] args) { System.out.println('I am a Geek'); } }>
Producción
eliminando de la lista de matrices
Error: Main method is not static in class test, please define the main method as: public static void main(String[] args)>
3. Vacío
Es un palabra clave y está acostumbrado a especificar que un método no devuelve nada . como el principal() El método no devuelve nada, su tipo de retorno es vacío . Tan pronto como principal() El método termina, el programa Java también termina. Por lo tanto, no tiene ningún sentido regresar del principal() método ya que JVM no puede hacer nada con su valor de retorno.
Si el método principal no es nulo, obtendremos un error.
Ejemplo:
Java // Java Program to demonstrate the // error occurred when we dont use the // void return type in the main() method class techcodeview.com { public static int main(String[] args) { System.out.println('I am a Geek'); return 1; } }>
Producción
Error: Main method must return a value of type void in class Main, please define the main method as: public static void main(String[] args)>
4. principal
Es el nombre del método principal de Java . Es el identificador que la JVM busca como punto de partida del programa Java . No es una palabra clave.
Si cambiamos el nombre al iniciar el método principal, obtendremos un error.
Ejemplo:
Java // Java Program to demonstrate the // error occurred when we name the // main() method as newmain. class techcodeview.com { public static void newmain(String[] args) { System.out.println('I am a Geek'); } }>
Producción
Error: Main method not found in class, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application>
5. Cadena [] argumentos
Él almacena la línea de comandos de Java argumentos y es una matriz de tipo java.lang.String clase. Aquí, el nombre de la matriz de cadenas es argumentos pero no está arreglado y el usuario puede usar cualquier nombre en su lugar.
Ejemplo: Proceso de ejecución de String[]
Java // Java Program to demonstrate // the working of String[] args // in the main() method class techcodeview.com { // Commamd-Line Code ->// javac techcodeview.com.java // java techcodeview.com 1 2 3 public static void main(String[] args) { for (String elem : args) System.out.println(elem); } }>
Producción
1 2 3>
Aparte de la firma principal mencionada anteriormente, puede usar principal vacío estático público (argumentos de cadena []) o principal público estático vacío (cadena… argumentos) para llamar a la función principal en Java. Se llama al método principal si su parámetro formal coincide con el de una matriz de cadenas.
Nota: El método principal es cumpulosorio en Java
¿cuanto pesa kat timpf?
Sobrecarga del método main() en Java
La sobrecarga del método main() es posible en Java, lo que significa que podemos crear cualquier número de métodos main() en un programa.
Para sobrecargar el método main() en Java, necesitamos crear el método main() con diferentes parámetros.
Ejemplo:
Java public class Main { public static void main(String[] args) { if (args.length == 0) { System.out.println('Running main() with no arguments'); } else if (args.length == 1) { try { int value = Integer.parseInt(args[0]); main(value); } catch (NumberFormatException e) { main(args[0]); } } else { // Handle more arguments as needed } } public static void main(int value) { System.out.println('Running main() with integer argument: ' + value); } public static void main(String message) { System.out.println('Running main() with string argument: ' + message); } }> Producción:
Running main() with no arguments>
Conclusión
El método Java main() es el punto de partida de un programa Java. Es el cuerpo principal que ejecuta la JVM, y sin el método main() ningún programa Java se puede ejecutar sin él.
Aprende más: Tutorial de Java
Método Java main(): preguntas frecuentes
¿Puede el método principal ser int? Si no, ¿por qué?
No, el método principal de Java no puede ser int. Hay dos razones principales para ello:
- JVM busca principal vacío estático público (String [] argumentos) al iniciar la ejecución del programa ya que es la firma estándar para la entrada. El uso de la firma int causaría confusión y problemas de compatibilidad durante la ejecución del programa.
- Tener una firma nula significa que el método principal no devolverá nada, pero usar la firma int significa que la función principal tendrá que devolver un número entero, lo cual no es útil para JVM.
¿Podemos ejecutar un programa Java sin el método principal?
No, desde JDK7 El método principal es obligatorio. El compilador verificará primero si main() está presente o no. Si su programa no contiene el método principal, obtendrá un error de método principal que no se encuentra en la clase.
Para consultar más sobre el tema consulte ¿Es obligatorio el método principal en Java? artículo.
¿Podemos declarar el método main() sin argumentos String[]?
Sí, podemos declarar el método main() sin argumentos String[]. Aunque generará un mensaje de error si intentamos ejecutar directamente el método principal dentro de la clase del controlador como se hace en el siguiente ejemplo.
A continuación se muestra el método correcto para escribir un programa sin String args[].
Javaimport java.io.*; import javafx.application.Application; abstract class GFG extends javafx.application.Application { // static block static { System.out.println('Hello, world!'); System.exit(0); } }>Producción
variable variable javaHello, world!>
¿Por qué el principal está vacío en Java?
El método principal sirve como punto de partida para la ejecución del programa en Java. La JVM no espera un valor de retorno del main porque no existe ningún mecanismo para recibir o procesar dicho valor.