Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1
Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se vidare kurshemsidan. För den som vill prova ett integrerat utvecklingsverktyg finns BlueJ, NetBeans, Eclipse De viktigaste verktygen i korthet: javac: kompilator java: interpretator appletviewer: för att visa applets 2
Dokumentation När man arbetar med Java behöver man dokumentation av alla standardklasser. Bäst är att ladda hem den till sin dator men man kan också länka direkt till originalet på http://java.sun.com/j2se/1.5.0/docs/api Suns tutorial http://java.sun.com/docs/books/tutorial beskriver Java från grundläggande syntax till de mest avancerade konstruktionerna. 3
Verktyg (forts) Arbetsgången är: man redigerar sina filer (klasser) med något redigeringsverktyg, kompilerar dem med javac och kör den med java (applikationer) eller appletviewer. 4
Verktyg (forts) Applets kan också visas i webbläsare som t.ex. Explorer, Netscape eller Mozilla. Kompilator, interpretator och appletviewer startas från ett terminalfönster (Unix) eller från ett MS-DOS-fönster (Windows). Om filen heter MinTest.java skriver man alltså: javac MinTest.java java MinTest 5
Java Application Programmer s Interface (API) är ett stor samling färdiga programvarukomponenter uppdelat i paket (packages) t.ex. AWT och Swing för grafik and grafiska användargränssnitt objekt, strängar, trådar, tal, input, output, datastrukturer m.m. applets nätverksklasser (URL, sockets, IP adresser) 6
Ett första exempel Klassen Hej implementerar ett klassiskt exempel: en applikation som skriver ut ett meddelande. Filen ska heta Hej.java, samma namn som klassen public class Hej { public static void main(string[] args) { System.out.println("Hej hopp"); } } 7
Enkelt exempel (testkörning Unix) harpo$ javac Hej.java harpo$ java Hej Hej hopp harpo$ 8
Tips Om ni provkör ovanstående kommer i att upptäcka att det går ganska långsamt att starta upp programmet. Det beror på att bytekoden (inklusive alla bibliotek) måste översättas till maskinkod. Skriv java -Djava.compiler=NONE Hej så går det snabbare att komma igång. 9
Enkelt exempel Att notera: Påminner mycket om C++. I Java är allting klasser, även main är en metod i en klass. I programmet deklareras en klass med namnet HelloWorld (filen ska då heta HelloWorld.java). Klassen har en metod main som i sin tur har ett metodanrop till metoden println i (det statiska) objektet out i klassen System. Liksom i C++ kan attribut och metoder deklareras private, public eller protected. 10
Att notera mera: Metoden main måste vara public, static och void: public för att man ska kunna komma åt den utifrån klassen. static betyder att den är en klassmetod och inte tillhör något objekt i klassen void för att den inte returnerar något. 11
Mera att notera Man kompilerar en Java-applikation med kommandot javac. För att kompilera programmet ovan skriver vi alltså javac HelloWorld.java. Kompilatorn skapar en bytekod-fil som heter HelloWorld.class Man exekverar en Java-applikation genom att skriva java xxx där xxx är den klass som innehåller metoden main. I exemplet skriver vi alltså java HelloWorld 12
Mera att notera I Java används ofta klassattribut (out i klassen System) och klassmetoder (main). Sådana attribut och metoder deklareras static de inte tillhör något objekt i klassen utan själva klassen. I C++ kommer man åt sådana metoder med ::-operatorn, i Java räcker det med en punkt. Man kan ha flera klasser i en källkodsfil om alla klasser utom den som har samma namn som filen bara används internt av "huvudklassen"(den med samma namn som filen). 13
En liten Java-applet Applets (appletprogram, miniprogram) är små applikationer som (oftast) körs av webbläsare. Vi skriver en liten applet: import java.awt.*; import java.applet.*; public class HelloWorldApplet extends Applet { public void paint(graphics g) { g.drawstring("hello world", 5,25); } } 14
En liten applet (forts) Här ser du appleten "i aktion": 15
En liten applet (forts) Applets startas som sagt från en webbläsare: man lägger helt enkelt in ett anrop till appleten på en webbsida. Filen HelloWorldApplet.html: <APPLET CODE="HelloWorldApplet.class" WIDTH=200 HEIGHT=50 ALIGN=MIDDLE> </APPLET> Programmet appletviewer kan användas för att titta på appleten. För att se appleten, ange kommandot: appletviewer HelloWorldApplet.html varvid ett litet fönster poppar upp på skärmen. 16