Java >> Java tutorial >  >> Java

Java Hello World-program

Java Hello World-programmet er et simpelt program, der viser "Hello World" på skærmen. I dette indlæg lærer vi, hvordan man udfører et Java-program uden at generere en bytekodefil. Filnavn og klassenavne kan være forskellige eller ej. Du vil også lære om kildekoden, kompileringen og udførelsesfaserne. Java- og java-kommandoerne bruges til hvilket formål, deres syntaks og muligheder. Hvilken stil skal bruges til at skrive Java-programmerne?

Software, der kræves til udvikling af Java-program

  1. Teksteditor:- til at indtaste og gemme Java-koden. Eksempler på tekstredigeringssoftware er en notesblok, Editplus, Atom, Textpad, Notepad++ e.t.c
  2. JDK:- til kompilering og udførelse af Java-programmet
  3. Kommandoprompt:- til at udføre javac, java og en anden kommando

For at udvikle Java-programmer har vi brug for enhver teksteditor som notesblok, atom e.t.c. Ved hjælp af en teksteditor skriver vi programmet og gemmer det i mappen. Efter dette vil vi ved hjælp af kommandoprompten kompilere og køre java-programmet. Kommandoprompten er kun for visningen og for at tage kommandoformål. Det vil tage input og display output. Kompilering og eksekvering sker ved hjælp af JDK. JDK har compiler og JVM.

I stedet for at bruge den anden software, kan du også bruge IDE ligesom Eclipse. IDE er et softwareprogram, der kan bruges til redigering, kompilering og udførelse af programmet. Ved at bruge IDE som Eclipse kan du gøre alle ting på et enkelt sted. Eclipse er den mest populære IDE til Java.

Men det anbefales at starte din Java-rejse med teksteditorer og efter at have lært grundlæggende programmer og begreber i Java, flytte til IDE. På denne måde vil du nemt huske syntakser.

Væsentlige udsagn om Java-program

For at udvikle, kompilere, udføre og udskrive output på konsollen eller overvåge skal hvert Java-program have under 3 sætninger

  1. Klasseblok:- kun klasse tillader os at definere metoden med logik.
  2. Hovedmetoden:- Det er det indledende punkt for udførelse af klasselogik.
  3. Udskriv erklæring:- Alle slags data udskrives ved hjælp af denne erklæring.

Simpelt Hello World-program i Java

Et Java Hello World-program er et simpelt program, der viser "Hello, World!" på skærmen. Det er et meget simpelt program, som ofte bruges til at introducere et nyt programmeringssprog til en nybegynder.

Trin 1 :- Åbn en hvilken som helst teksteditor (som notesblok) og skriv koden til Java Hello World-programmet.

 //Hello, World program in Java
 class FirstProgram{
     public static void main(String[] args){
         System.out.println("Hello, World!");
     }
 }

Gem nu Java hello world-programmet som FirstProgram.java i en hvilken som helst mappe på din computer. Her vil vi gemme det i mappen E:\Java\eksempler\

Trin 2 :- Åbn kommandoprompt(cmd), og gå til den mappe, hvor du havde gemt ovenstående program.

Vores program er i E:\Java\examples\ mappe, så vil vi skrive disse kommandoer nedenfor givet i billedet

C:\Users\user> E:
E:\> cd Java\examples
E:\Java\Examples>

Trin 3 :- Kompiler programmet ved at bruge kommandoen javac FirstProgram.java

> javac FirstProgram.java

Bemærk, tidligere havde vi kun én fil FirstProgram.java i vores mappe. Nu har vi også hinanden fil FirstProgram.class

Trin 4 :- Kør den nye fil FirstProgram.class med kommandoen java FirstProgram

> java FirstProgram

Output:-

Hej verden!

Forklaring af Java Hello World-programmet

//Hello, World program in Java

Denne udtalelse er en kommentar, og den er valgfri. Enhver linje, der starter med // er en kommentar, som fuldstændig ignoreres af compileren. Det bruges til bedre forståelse og funktionalitet af programmet.

 class FirstProgram {
     //---
 }

Java er et objektorienteret programmeringssprog. Hvert java-program starter med en klassedefinition. I vores program er navnet på klassen FirstProgram.

 public static void main(String[] args){
     //---
 }

Dette er den vigtigste metode til Java-programmer. Ethvert Java-program skal indeholde hovedmetoden, uden hovedmetoden kan vi ikke udføre et Java-program. Her starter udførelsen fra hovedmetoden. Bemærk, at hovedmetoden er inde i klassedefinitionen. Hovedmetoden skal være tilgængelig overalt i programmet, så dens tilgængelighed er public . De offentlige, private, standard og beskyttede er adgangsmodifikatorer.

System.out.println("Hello, World!");

Denne erklæring vil udskrive strengen inden for anførselstegnene, dvs. Hej, verden! til standard outputskærmen. System er en foruddefineret klasse, out er et objekt inde i System-klassen og println() er en metode til objekt ud. Bemærk, at denne sætning er inde i hovedmetoden, og at hovedmetoden er inde i klassedefinitionen. Semikolon brugt i slutningen af ​​sætningen indikerer, at erklæringen er fuldført.

Kildekode

Det program vi har skrevet hedder kildekode. Teksteditorer bruges til at udvikle kildekoden. Kildekoden er skrevet i Java-programmeringssproget, så kildekoden gemmes med filtypenavnet .java . Det er derfor, vi gemte vores program som FirstProgram.java. Kildekoden er platform-uafhængig. Hvis vi har skrevet kildekode i et Windows-operativsystem, kan vi også bruge den samme fil i et andet styresystem, ingen grund til at skrive anden gang. Javas slogan er WORA (Skriv én gang, løb hvor som helst).

Kompileringsfase

JDK har både compiler og JVM. Ved at bruge kommandoprompten kan vi kommunikere med compileren for at oversætte kildekoden. Dette kan gøres ved kommandoen javac , javac er et program i sig selv. Compileren tager kildekoden og kontrollerer syntaksen for kildekodefilen. Hvis der er en syntaksfejl eller en stavefejl, vil compileren give kompileringstidsfejl ellers vil den konvertere kildekoden til bytekode. Denne bytekode vil blive gemt i vores system som Name_Of_Class.class . I vores program er navnet på klassen FirstProgram, så vi får en fil FirstProgram.class i den aktuelle mappe, hvor kildekoden var til stede. Denne .class-fil er genereret af compileren. Byte-kode er også platform-uafhængig.

Udførelsesfase

En .class-fil indeholder ikke kode, der er hjemmehørende i vores computerprocessor. I stedet indeholder den bytekoder. Bytekoden er modersmålet for Java Virtual Machine. Vores operativsystem forstår ikke denne bytekode. Denne bytekode er kun forståelig af JVM. Så ved at bruge en anden kommando java vi kan udføre .class-filen. java er også et program som javac . Hvis der er en logisk fejl, får vi en runtime-fejl (runtime-fejl kaldes også Exception) af JVM ellers oversætter JVM bytekoden til det oprindelige maskinsprog (sæt instruktioner, som en computers CPU udfører direkte). I denne fase vil der ikke blive oprettet nogen fil, og output kom ind på skærmen. Efter afslutningen af ​​udførelsesfasen ødelægges det genererede maskinsprog.

Nogle vigtige punkter

  • Java-programmer kompileres og udføres ved hjælp af binære Java-filer javac og java . Vi kalder disse to binære filer som "værktøjer" i kort form. Disse to værktøjer bruges fra kommandoprompten.
  • Hvor Java-filer skal gemmes, i Java-software (JDK) installeret mappe eller i en anden mappe? Det anbefales ikke at gemme Java-kildefiler i Java-software installeret mappe, for hvis vi afinstallerer den nuværende Java-software til at installere den næste version, så vil alle vores kildefiler også blive slettet. Så af sikkerhedsmæssige årsager anbefales det altid at gemme Java-kildefiler i en anden mappe, ikke i Java-software (JDK) installeret mappe.

Kommandoer brugt til kompilering og udførelse af Java-programmet er javac og java. Nu vil vi diskutere begge kommandoer.

Javac-kommandoen

javac kommandoen bruges til at kompilere en enkelt eller gruppe af Java-kildefiler (.java-filer).

1. Syntaksen til kompilering af én Java-kildefil:-

javac [options] file.java

2. Syntaksen til kompilering af flere Java-kildefiler:-

javac [options] file1.java file2.java file3.java

3. Syntaksen til kompilering af alle Java-kildefiler i den aktuelle mappe:-

javac [options] *.java

Forskellige muligheder for javac kommando:-

Mulighed Bruges til
-version JDK-versionsoplysninger
-d bibliotek (Gem .class-fil i
bestemt bibliotek)
-cp Sådan indstilles klassestien
-verbose Output meddelelser om
hvad compileren laver

For at se alle mulighederne for javac-kommandoen, skriv javac --help kommando i cmd.

Java-kommandoen

java kommandoen bruges til at køre et Java-program.

Syntaksen til at udføre en klasse:-

java [options] ClassName [args…]

Forskellige muligheder for java-kommando:-

Mulighed Bruges til
-version JDK-versionsoplysninger
-D indstil systemegenskaber
-cp For at indstille klassestien

Brug java --help for at se andre syntaks og muligheder for java-kommando kommando

Bemærk:- Brug javac kommando, kan vi kompilere et hvilket som helst antal af java-kildefiler, men ved at bruge java kommando kan vi kun køre én .class-fil ad gangen.

Skal klassenavn og filnavn være det samme?

I Java Hello World-programmet var navnet på klassen FirstProgram og filnavnet var FirstProgram.java . Så vi brugte det samme navn til klassen og også til navnet på filen. Men det er ikke obligatorisk. Vi kan bruge et andet navn til klasse og fil. Se nedenstående eksempel:-

 //Test.java
 class FirstProgram{
     public static void main(String[] args){
         System.out.println("Hello, World!");
     }
 }

Gem denne fil som Test.java og kompilér den. Filen genereret af compileren vil FirstProgram.java, udføre den.

> javac Test.java
> java FirstProgram

Output:-

Hej verden!

Når der opstår en fejl ?

Fejlen kom kun, hvis vi erklærer klassen som offentlig.

// Test1.java
public class FirstProgram{
     public static void main(String[] args){
         System.out.println("Hello, World!");
     }
 }
> javac Test1.java
test1.java:1: error: class FirstProgram is public, 
should be declared in a file named FirstProgram.java
 public class FirstProgram{
        ^
 1 error

Konklusion:- Navnet på filen og klassen kan være anderledes, men hvis vi erklærer klassen som offentlig, skal filnavnet og klassens navn være det samme.

Bemærk:- Hvis du arbejder med en hvilken som helst IDE at udvikle, kompilere og køre Java-program, så kan du også få en fejl. I IDE udføres kompilerings- og udførelsesfasen med genvejstaster, ikke ved manuelt givne kommandoer. Genvejstaster er konfigureret som til kompilering javac <filename> og til udførelse java <filename>. På grund af denne konfiguration vil du få en fejl. Så det anbefales at bruge det samme navn til filen og klassen.

Udførelse af Java-program uden at generere bytekodefil

Tidligere lærte vi, at kildekoden kompileres, og derefter udføres den genererede bytekode af JVM. Nogle sprog som Python og scriptsprog behøver ikke to-fasede, deres programmer udføres direkte uden at generere en ny fil. Fra Java11 og frem kan vi direkte udføre Java-program også. Kompilering og udførelse udføres begge ved hjælp af en enkelt kommando java .

Gem nedenstående program som Firstprogram.java

 //FirstProgram.java
 //Hello, World program in Java
 class Hello{
     public static void main(String[] args){
         System.out.println("Hello, World!");
     }
 }
> java FirstProgram.java
Hello, World!

Ingen .class-fil vil blive genereret af compileren, og Java-programmet udføres direkte. På denne måde bliver det nemmere for begyndere at lære Java-programmerne. De kan kun udføre Java-programmer i ét trin.

Hvis der er en syntaksfejl i programmet, fik vi kompileringstidsfejlen, og hvis der er en logisk fejl, får vi en undtagelse.

Filnavn og klassenavn i dette tilfælde

Bemærk, at i dette program var filnavnet og klassenavnet anderledes. Så hvis vi kun bruger java kommando til både kompilering og udførelse, så er det ikke nødvendigt, at filnavn og klassenavn skal være det samme. Da vi arbejdede med javac kommando til kompilering og java kommando til udførelse, så var der en begrænsning, at hvis klassen er erklæret som offentlig, så skulle filnavnet og klassenavnet være det samme. Men det er heller ikke nødvendigt, hvis vi kun bruger java kommando til både kompilering og udførelse.

//Test.java
public class Hello{
    public static void main(String[] args){
        System.out.println("Hello, World!");
    }
}

Kompiler og kør det ved hjælp af:- java Test.java

Hej verden!

Gemmer .class-fil i en anden mappe

Når vi kompilerer vores Java-program ved hjælp af javac-kommandoen, kontrollerer compiler syntaks, og hvis der ikke findes nogen fejl, genererer den bytekode (oversættelse af .java-fil) og gemmer den i filen Classname.class i den aktuelle arbejdsmappe (hvor .java-filen var til stede) . Nu er spørgsmålet, kan vi gemme .class-filen, der er genereret af compileren, i en anden fil eller mappe? Ja, det er muligt. Til dette formål skal vi bruge -d mulighed for Java-kompiler som vist nedenfor:-

javac -d path_of_folder_or_directory Example.java

For eksempel har vi et program FirstProgram.java

 //FirstProgram.java
 //Hello, World program in Java
 class Hello{
     public static void main(String[] args){
         System.out.println("Hello, World!");
     }
 }

FirstProgram.java er gemt i mappen D:\Java, og vi ønsker at gemme den compiler-genererede fil Hello.class i en anden mappe C:\program, så skriver vi nedenstående kommando,

D:\Java> javac -d C:\program FirstProgram.java

Ved at bruge ovenstående kommandomulighed -d C:\program vi informerer compileren om at gemme .class-filen i C-drevet og "program"-mappen.

Bemærk:- javac -d . FirstProgram.java er det samme som javac FirstProgram.java

Her repræsenterer prikken (.) den aktuelle arbejdsmappe.

Java9 versionsforbedring i -d mulighed

Op til java8-versionen skal vi udtrykkeligt oprette mappen (i vores tilfælde "program" inde i C-drevet), så vil kun .class-filen blive gemt i "program"-mappen. Hvis mappen ikke er tilgængelig, er compiler throw error:-mappen ikke fundet. Fra java9-versionen og fremefter behøver vi ikke oprette mappen "program" eksplicit. Hvis "program"-mappen ikke er tilgængelig der, opretter compileren den automatisk selv.

Vi kan også udføre .class-filen, der er gemt i en anden mappe fra den aktuelle arbejdsmappe. Til dette formål skal vi indstille klassestivariabler. Vi vil diskutere det senere i emnet:- Indstilling af klassestimiljøvariabler

Kompileringstids- og Runtime-fejl

Den fejl, som kompilatoren kastede på kompileringstidspunktet, kaldes kompileringstidsfejl . Disse fejl opstår på grund af syntaksfejl, såsom stavefejl, forkert brug af søgeord, manglende semikolon (;) i slutningen af ​​udsagn osv.

De fejl, som JVM'en kaster på udførelsestidspunktet kaldes runtime errors eller undtagelser . Disse fejl opstår på grund af logiske fejl, som at udføre klasse uden en hovedmetode, få adgang til matrixværdier med det forkerte indeks, dividere heltal med 0 osv.

Brug en ensartet stil

Der er mange stilarter til at skrive programmer. Men ovenstående er standard, og det meste kode, du støder på, vil højst sandsynligt blive skrevet på den måde. Vi foreslår, at du bruger Java-standarden fra starten.

// Standard style 
class FirstProgram{
     public static void main(String[] args){
         System.out.println("Hello, World!");
     }
 }

Standard stil er bedre end nedenstående stilarter,

// don't use this style 
class FirstProgram
 {
     public static void main(String[] args)
     {
         //It is recommended to not use this style
     }
 }
// don't use this style 
class FirstProgram
     {
         public static void main(String[] args)
             {
                 //Also, don’t use this style
             }
     }

Java tag