ett Java-program är en sekvens av Java-instruktioner som körs i en viss ordning. Eftersom Java-instruktionerna körs i en viss ordning har ett Java-program en start och ett slut.
för att köra ditt Java-program måste du signalera till Java Virtual Machine var du ska börja köra programmet. I Java måste alla instruktioner (kod) placeras i en Java-klass. En klass är ett sätt att gruppera data och instruktioner som hör ihop. Således kan en klass innehålla både variabler och metoder., En variabel kan innehålla data, och en metod grupperar tillsammans en uppsättning operationer på data (instruktioner). Oroa dig inte om du inte helt förstår detta ännu. Det kommer att förklaras i mer detaljer i senare texter.
en enkel Java Klassdeklaration
förklara en enkel klass utan några variabler, metoder eller andra instruktioner, ser ut så här i Java-kod:
public class MyClass {}
denna Java-kod måste placeras i en fil med samma filnamn som klassen och slutar med filen suffix .java
., Mer specifikt måste filnamnet vara MyClass.java
. När filen är placerad i en fil som matchar dess klassnamn och slutar med .java
, kan du kompilera den med Java kompilatorn från Java SDK, eller inifrån din Java IDE (vilket är mycket lättare).
det rekommenderas att du hittar din klass i ett Java-paket. Ett Java-paket är helt enkelt en katalog i filsystemet som kan innehålla en eller flera Java-filer. Paket kan kapslas, precis som kataloger kan normalt., Du kan till exempel skapa ett paket som heter myjavacode
vilket skulle motsvara en katalog på hårddisken med namnet myjavacode
.
om du hittar en Java-klass i ett Java-paket måste du ange Paketnamn högst upp i Java-filen. Så här ser klassen från tidigare ut med en paketdeklaration tillagd:
package myjavacode;public class MyClass {}
Obs! filen MyClass.java
måste nu finnas i katalogen myjavacode
och innehåller paketdeklarationen package myjavacode;
., Det räcker inte att Java-filen finns i rätt katalog. Det räcker inte heller att bara ha paketdeklarationen i Java-filen. Båda kraven måste uppfyllas.
huvudmetoden ()
ett Java-program måste starta sitt utförande någonstans. Ett Java-program startar genom att köra metodenmain
I någon klass. Du kan välja namnet på klassen att utföra, men inte namnet på metoden. Metoden måste alltid kallas main
., Så här ser metoddeklarationenmain
ut när den finns i Java-klassdeklarationen från tidigare:
package myjavacode;public class MyClass { public static void main(String args) { }}
de tre nyckelorden public
, static
och void
har en särskild betydelse. Oroa dig inte för dem just nu. Kom bara ihåg att enmain()
metoddeklaration behöver dessa tre sökord.
efter de tre sökorden har du metodens namn. För att sammanfatta är en metod en uppsättning instruktioner som kan utföras som om de vore en enda operation., Genom att ”ringa” (exekvera) en metod utför du alla instruktioner i den metoden.
efter metodens namn kommer först en vänster parentes, och sedan en lista med parametrar. Parametrar är variabler (data / värden) vi kan övergå till den metod som kan användas av instruktionerna i metoden för att anpassa sitt beteende. Amain
– metoden måste alltid ta en matris medString
– objekt. Du deklarerar en matris med String
objekt som detta:
String stringArray
oroa dig inte för vad en sträng är eller vad en matris är., Detta kommer att förklaras i senare texter. Det spelar ingen roll vilket namn du ger parametern. I metoden main()
tidigare kallade jag parametern String
args
, och i det andra exemplet kallade jag det stringArray
. Du kan välja namnet fritt.
efter metodens parameterlista kommer först en vänster lockig konsol ({
), sedan lite tomt utrymme, och sedan en höger lockig konsol (}
)., Inuti de lockiga konsolerna hittar du Java-instruktionerna som ska utföras när metodenmain
körs. Detta kallas också metodkroppen. I exemplet ovan finns inga instruktioner som ska utföras. Metoden är tom.
låt oss infoga en enda instruktion i metodenmain
., Här är ett exempel på hur det kan se ut:
package myjavacode;public class MyClass { public static void main(String args) { System.out.println("Hello World, Java app"); }}
nu innehåller metoden main
den här enkla Java-instruktionen:
System.out.println("Hello World, Java Program");
den här instruktionen skriver ut texten Hello World, Java Program
till konsolen. Om du kör ditt Java-program från kommandoraden ser du utmatningen i kommandoradskonsolen (det textiga gränssnittet till din dator). Om du kör ditt Java-program inifrån en IDE, fångar IDE normalt all utmatning till konsolen och gör den synlig för dig någonstans inuti IDE.,
kör huvudmetoden ()
När du startar ett Java-program brukar du göra det via kommandoraden (konsolen). Du anropar kommandot java
som följer med JRE och berättar vilken Java-klass som ska köras och vilka argument som ska skickas till metoden main()
. Java-programmet körs sedan inuti JVM (eller av JVM några skulle hävda). Här är ett diagram som illustrerar detta:
en kommandorad som utför java-kommandot, vilket i sin tur utför ett Java-huvudprogram.,
här är ett exempel på kommandoraden:
java -cp classes myjavacode.MyClass
den första delen av detta kommando är kommandotjava
. Detta kommando startar upp JVM. I vissa fall kan du behöva ange den fullständiga sökvägen till den plats där kommandot java
finns på din dator (vanligtvis i underkatalogen bin
för Java install dir).
andra och tredje argumenten (-cp classes
) talar om för JVM i vilken katalog de kompilerade Java-klasserna finns (CP betyder klassväg)., I det här fallet finns de kompilerade Java-klasserna i en katalog som heter classes
.
det fjärde argumentet är namnet på Java-klassen som JVM ska utföra. Lägg märke till hur klassnamnet också innehåller namnet på paketet klassen finns i (”fullständigt kvalificerat klassnamn”).
skickar argument till huvudmetoden ()
Du kan skicka argument från kommandoraden tillmain()
– metoden., Den här kommandoraden visar hur:
java -cp classes myjavacode.MyClass Hello World
När JVM utför main()
– metoden för myjavacode.MyClass
kommer String
– matrisen att skickas som parameter till main()
– metoden att innehålla två strängar: ”Hej” och ”världen”.
main()
– metoden kan komma åt argumenten från kommandoraden så här:
att sammanställa och köra Java-källkoden förklaras mer detaljerat i texten Java Project översikt, sammanställning och utförande.,
variabler och matriser kommer att förklaras mer detaljerat i senare texter. Oroa dig inte om du inte förstår dem helt vid denna tidpunkt.
Java-huvudklassen
om endast en enda Java-klass i Java-programmet innehåller enmain()
– metod, kallas klassen som innehåller metodenmain()
ofta huvudklassen.
Du kan ha så många klasser som du vill ha i ditt projekt med en main()
metod i. Men Java Virtual Machine kan bara instrueras att köra en av dem åt gången., Du kan fortfarande ringa den andra metoden main()
inifrån metoden main()
Java Virtual Machine exekverar (du har inte sett hur ännu) och du kan också starta flera virtuella maskiner som var och en utför en enda metod för main()
.