logo

Mètode Java main() – public static void main(String[] args)

El mètode main() de Java és el punt de partida des d'on el JVM inicia l'execució d'un programa Java. JVM no executarà el codi, si al programa li falta el mètode principal. Per tant, és un dels mètodes més importants de Java, i tenir-ne una comprensió adequada és molt important.

El compilador Java o JVM cerca el mètode principal quan comença a executar un programa Java. La signatura del mètode principal ha de ser d'una manera específica perquè la JVM reconegui aquest mètode com el seu punt d'entrada. Si canviem la signatura del mètode, el programa compila però no s'executa.



L'execució del programa Java, el java.exe es diu. El Java.exe, al seu torn, fa trucades a la interfície nativa de Java o JNI i carreguen la JVM. El java.exe analitza la línia d'ordres, genera una nova matriu String i invoca el mètode main(). Per defecte, el fil principal sempre és un fil que no és dimoni.

Sintaxi del mètode main().

La sintaxi del mètode main() sempre s'escriu com:

avantatges d'instagram per a ús personal

Sintaxi del mètode Java main().



Exemple

El més comú per definir el mètode main() es mostra a l'exemple següent.

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');  } }>

Sortida
I am a Geek>

Cada paraula a la principal buit estàtic públic La declaració té un significat a la JVM que es descriu a continuació:

1. Públic

És un Modificador d'accés , que especifica des d'on i qui pot accedir al mètode. Fer públic el mètode main() el fa disponible a nivell mundial. Es fa públic perquè JVM pugui invocar-lo des de fora de la classe ja que no està present a la classe actual.



Si el mètode principal no és públic, el seu accés està restringit.

Exemple:

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');  } }>


Sortida

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

És un paraula clau és a dir, quan s'associa amb un mètode, fent-lo a mètode relacionat amb la classe . El principal () El mètode és estàtic perquè la JVM pugui invocar-lo sense instància de la classe . Això també estalvia el malbaratament innecessari de memòria que hauria estat utilitzat per l'objecte declarat només per cridar el principal () mètode per la JVM.

Si intenteu executar codi Java on principal no és estàtic, obtindreu un error.

Exemple:

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');  } }>


Sortida

gràfic d'assignació de recursos
Error: Main method is not static in class test, please define the main method as: public static void main(String[] args)>

3. Buit

És un paraula clau i està acostumat especifiqueu que un mètode no retorna res . Com el principal () El mètode no retorna res, el seu tipus de retorn és buit . Tan aviat com el principal () finalitza el mètode, el programa Java també finalitza. Per tant, no té cap sentit tornar del principal () mètode ja que JVM no pot fer res amb el seu valor de retorn.

Si el mètode principal no és nul, obtindrem un error.

Exemple:

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;  } }>


Sortida

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

Això és el nom del mètode principal de Java . Això és el identificador que la JVM cerca com a punt de partida del programa Java . No és una paraula clau.

Si canviem el nom mentre iniciem el mètode principal, obtindrem un error.

Exemple:

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');  } }>


Sortida

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

Això emmagatzema la línia d'ordres de Java arguments i és una matriu de tipus java.lang.String classe. Aquí, el nom de la matriu String és args però no està arreglat i l'usuari pot utilitzar qualsevol nom en lloc d'ell.

Exemple: Procés d'execució de la cadena[]

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);  } }>>> 


Sortida

1 2 3>

A part de la signatura principal esmentada anteriorment, podeu utilitzar public static void main(String args[]) o public static void main(String... args) per cridar la funció principal en Java. El mètode principal s'anomena si el seu paràmetre formal coincideix amb el d'una matriu de cadenes.

Nota: El mètode principal és Compulosory a Java

diana ankudinova

Sobrecàrrega del mètode main() a Java

La sobrecàrrega del mètode main() és possible a Java, és a dir, podem crear qualsevol nombre de mètodes main() en un programa.

Per sobrecarregar el mètode main() a Java, hem de crear el mètode main() amb diferents paràmetres.

Exemple:

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);  } }>

Sortida:

El mètode Java main() és el punt de partida d'un programa Java. És el cos principal que executa la JVM, i sense el mètode main() no es pot executar cap programa Java sense ell.

Aprèn més: Tutorial de Java

Mètode Java main() - Preguntes freqüents

El mètode principal pot ser int? Si no, per què?

No, el mètode principal de Java no pot ser int. Hi ha dues raons principals per a això:

si java
  1. JVM busca public static void main(String[] args) quan s'inicia l'execució del programa, ja que és la signatura estàndard per a l'entrada. L'ús de la signatura int causaria problemes de confusió i compatibilitat durant l'execució del programa.
  2. Tenir signatura void significa que el mètode principal no retornarà res, però utilitzar int signatura significa que la funció principal haurà de retornar un enter, cosa que no és útil per a JVM.

Podem executar un programa Java sense el mètode principal?

No, de JDK7 El mètode principal és obligatori. El compilador verificarà primer si main() està present o no. Si el vostre programa no conté el mètode principal, obtindreu un mètode principal d'error que no s'ha trobat a la classe.

Per consultar més informació sobre el tema consulteu El mètode principal és obligatori a Java? article.

Podem declarar el mètode main() sense els arguments String[]?

Sí, podem declarar el mètode main() sense arguments String[]. Tot i que generarà un missatge d'error si intentem executar directament el mètode principal dins de la classe del controlador, tal com es fa a l'exemple següent.

A continuació es mostra el mètode correcte per escriure un programa sense String args[].

Java
import java.io.*; import javafx.application.Application; abstract class GFG  extends javafx.application.Application {  // static block  static  {  System.out.println('Hello, world!');  System.exit(0);  } }>

Sortida

Hello, world!>

Per què és el buit principal a Java?

El mètode principal serveix com a punt de partida per a l'execució del programa en Java. La JVM no espera un valor de retorn del principal perquè no hi ha cap mecanisme perquè rebi o processi aquest valor.