Java: Utvecklingsverktyg, datatyper,
kontrollstrukturer
Sven-Olof Nyström
Uppsala Universitet
11 mars 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 t.ex. BlueJ
http://www.bluej.org.
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.4.2/docs/api/ eller
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