Jag har laddat ner SDK 2.yada-yada-någonting och sitter med alla filerna i en viss mapp. I denna finns lite andra olika mappar som t.ex. bin, demo, include osv... samt en src.zip. Ska jag zippa upp den? Vart ska isf innehållet läggas?
... när jag läste i min E-book om Java så stod det att jag skulle skriva så här för att göra ett Hello world-prog (fast utan siffror):
1: class HelloWorld {
2: public static void main (String args[]) {
3: System.out.println("Hello World!");
4: }
5: }
Sedan skulle man spara programmet med .java och därefter kompilera det med javac.exe. Här börjar problemet, två frågor...
1. Var ska jag lägga java-filen som ska kompileras?
2. När jag kör javac.exe öppnas ett svart fönster som stängs ner igen efter en halv sekund... känns inte riktigt rätt!
:)
1. Javac.exe (Java Compiler) är ett DOS program (Konsol) så du måste starta ett konsol för att köra det.
2. Du bör lägga till 2 miljö variabler, JAVA_HOME som ska peka på katalogen där jdk finns, och CLASSPATH som i ditt fall bara behöver peka på "Current Directory", dvs ./. Men det är bara börja,n, CLASSPATH kommer att växa :)
Du bör även lägga till javas bin katalog i din path (använd då JAVA_HOME variabeln och lägg bara till /bin)
3. Du kan spara din java fil vart du vill, det spelar ingen roll.
4. När du har sparat din java fil så startar du en konsol och går till katalogen där du sparade din java fil, skriv "javac DIN_JAVA_FIL.java", nu kommer den att kompileras, du har nu också en fil som slutar på ".class", för att köra ditt java program nu så skriver du "java DIN_JAVA_FIL" (OBS! ingen extension när du ska köra filen).
Filen HelloWorld.java kan du lägga istort sett var som helst, det spelar ingen roll. Bara att kompilera med javac.exe, precis som boken säger - men det ska du göra via kommandoprompten.
Har du sparat HelloWorld.java i mappen C:\Programmering, t.ex., så öppnar du bara kommandoprompten ( Start > Kör och skriv "cmd" ). Du flyttar dig till din mapp:
cd \
cd Programmering
Sen kör du javac.exe och skickar ditt filnamn som attribut:
javac HelloWorld.java
Har du inte lagt till bin-katalogen i din PATH innan, så skriver du det här innan du kompilerar:
SET PATH=%PATH%; C:\j2sdk1.4\bin
Om du installerade Java-paketet till C:\j2sdk1.4 vill säga.
För att köra dina filer:
java HelloWorld
Notera att .class ska du inte ha med efter filnamnet.
Hoppas att min luddiga förklaring fick dig på rätt köl. :)
Jag antog att "PATH-grejen" ska skrivas i cmd...
men sedan när jag skriver javac hello.java så kommer:
javac är inte ett internt kommando, externt kommando, program eller kommandofil.
Filnamnet måste vara samma som klass namnet, så om din klass heter HelloWorld måste filen heta "HelloWorld.java". Om det inte hjälper kan du prova med att köra programmet med
"java -classpath ./ HelloWorld"
Perfekt! Nu flyter det som bara den!
Tackar, tackar!
PS! Måste säga att jag är väldigt glad att jag bestämde mig för att lära mig java och inte vb som jag hade tänkt förrut. Med ett så bra språk och trevliga "utövare" som ni kan ju det här bli jätteskoj!
:)
! Måste säga att jag är väldigt glad att jag bestämde mig för att lära mig java och inte vb som jag hade tänkt förrut. Med ett så bra språk och trevliga "utövare" som ni kan ju det här bli jätteskoj!
:)
En liten sak som jag märkte, men som tydligen inte spelade någon roll ( Man kan ju fråga sig varför? :q ) var att du hade glömt att deklarera klassen public. Det trodde jag att man faktiskt var tvungen till, men det verkar ju som att det inte behövdes. :)
WOW! Det fungerar utan public, har aldrig provat förut men det trode jag aldrig skulle fungera. Det fungerar tom med flera privata klasser i den klassen också. Varje dag ska man lära sig något nytt :)
Hm, det kanske har kommit med den nya versionen av J2? Det står inget om att man måste deklarera med public i Java-tutorial på Sun, men i en del exempel används det - i andra inte. Jaja, spillerill. :)
Red.} Ah, där har vi svaret. :)
Är det något med de nya versionerna?
Man kan bara ha en publicklass i varje fil, men om man däremot inte deklarerar andra klasser som public så går det bra att ha flera klasser i samma fil, eftersom klassen som innehåller mainmetoden gärna vill ha ensamrätt på public :D
Om man inte skriver public på klassen som innehåller mainmetoden så kommer man bara åt den inom samma bibliotek, misstänker jag.
258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e