GeeksforGeeks (Español)

En los programas Java, el punto desde donde el programa comienza su ejecución o simplemente el punto de entrada de los programas Java es el método main(). Por lo tanto, es uno de los métodos más importantes de Java y tener una comprensión adecuada de él es muy importante.

Sintaxis más común del método main():

classGeeksforGeeks {

publicstaticvoidmain(String args)

{

System.out.println("I am a Geek");

}

}



I am a Geek

Explicación:
Cada palabra de la sentencia public static void main tiene un significado para la JVM.

  1. Public: 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 la JVM pueda invocarlo desde fuera de la clase ya que no está presente en la clase actual.

    classGeeksforGeeks {

    privatestaticvoidmain(String args)

    {

    System.out.println("I am a Geek");

    }

    }

    
    

    
    

    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ática: Es una palabra clave que cuando se asocia a un método, lo convierte en un método relacionado con la clase. El método main() es estático para que la JVM pueda invocarlo sin instanciar la clase. Esto también ahorra el desperdicio innecesario de memoria que habría sido utilizado por el objeto declarado sólo para llamar al método main() por la JVM.

    classGeeksforGeeks {

    publicvoidmain(String args)

    {

    System.out.println("I am a Geek");

    }

    }

    
    
    
    
    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 una palabra clave y se utiliza para especificar que un método no devuelve nada. Como el método main() no devuelve nada, su tipo de retorno es void. Tan pronto como el método main() termina, el programa java termina también. Por lo tanto, no tiene ningún sentido retornar desde el método main() ya que la JVM no puede hacer nada con el valor de retorno del mismo.

    classGeeksforGeeks {

    publicstaticintmain(String args)

    {

    System.out.println("I am a Geek");

    return1;

    }

    }
    
    
    
    

    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
  4. main: Es el nombre del método main de Java. Es el identificador que la JVM busca como punto de partida del programa java. No es una palabra clave.

    classGeeksforGeeks {

    publicstaticvoidmyMain(String args)

    {

    System.out.println("I am a Geek");

    }

    }

    
    

    
    

    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. String args: Almacena los argumentos de la línea de comandos de Java y es un array de tipo java.lang.String clase. Aquí, el nombre del array String es args pero no es fijo y el usuario puede utilizar cualquier nombre en su lugar.

    class

    GeeksforGeeks {

    publicstaticvoidmain(String args)

    {

    for(String elem : args)

    System.out.println(elem);

    }

    }

    
    

    
    
    123

    Aparte de la mencionada firma de main, puedes usar public static void main(String args) o public static void main(String… args) para llamar a la función main en java. El método main es llamado si su parámetro formal coincide con el de un array de Strings.

    ¿Puede el método main ser int? Si no es así, ¿por qué?

    classGeeksforGeeks {

    publicstaticintmain(String args) {

    System.out.println("GeeksforGeeks");

    }

    }

    
    

    
    

    Java no devuelve int implícitamente, incluso si declaramos el tipo de retorno de main como int.
    Obtendremos un error en tiempo de compilación

    prg1.java:6: error: missing return statement
    }
    ^
    1 error

    classGeeksforGeeks {

    publicstaticintmain(String args) {

    System.out.println("GeeksforGeeks");

    return0;

    }
    }

    
    
    
    

    Ahora, incluso si devolvemos 0 o un entero explícitamente nosotros mismos, desde int main.
    Obtenemos error en tiempo de ejecución.

    Error: El método main debe devolver un valor de tipo void en la clase GeeksforGeeks, por favor
    defina el método main como:
    public static void main(String args)

    Explicación –
    Los programas C y C++ que devuelven int desde main son procesos del Sistema Operativo. El valor int devuelto desde main en C y C++ es el código de salida o estado de salida. El código de salida del programa C o C++ ilustra, por qué el programa terminó. El código de salida 0 significa una terminación exitosa. Sin embargo, un estado de salida distinto de cero indica un error. Por ejemplo, el código de salida 1 representa varios errores, como «dividir por cero»

    El proceso padre de cualquier proceso hijo sigue esperando el estado de salida del hijo. Y después de recibir el estado de salida del hijo, limpia el proceso hijo de la tabla de procesos y libera los recursos asignados a él. Por lo que es obligatorio para los programas C y C++ (que son prcoesses de OS) para pasar su estado de salida de la principal explícitamente o implícitamente.

    Sin embargo, el programa java se ejecuta como ‘hilo principal’ en JVM. El programa Java ni siquiera es un proceso del Sistema Operativo directamente. No hay interacción directa entre el programa Java y el Sistema Operativo. No hay asignación directa de recursos al programa Java directamente, o el programa Java no ocupa ningún lugar en la tabla de procesos. A quién debe devolver el estado de salida, entonces. Es por eso que el método main de Java está diseñado para no devolver int o estado de salida.

    Pero JVM es un proceso de un sistema operativo, y JVM puede ser terminado con cierto estado de salida. Con ayuda de java.lang.Runtime.exit(int status) o System.exit(int status)

    Etiquetas del artículo :

    Java

    Etiquetas de la práctica :

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *