2. Java 辰r ett programspr奪k som:
Utvecklats av Sun Microsystems
r objekt-orienterat
r plattformsoberoende
r allm辰nt tillg辰ngligt
3. Med JAVA kan du:
Skapa grafiska program
Skriva parallella program
Skapa s.k. Applets (applets 辰r sm奪 program
som l辰ggs p奪 t ex hemsidor och k旦rs ig奪ng n辰r
din webl辰sare tar hem sidan)
4. Plattformsoberoende?
Att Java 辰r plattformsoberoende inneb辰r att
du kan k旦ra programmen direkt oavsett vilken
plattform du sitter p奪 (t ex Windows, Mac
osv).
Om du programmerar i ett annat spr奪k (t ex
C,C++) s奪 kan du bara k旦ra programmet p奪
den plattform du befinner dig p奪. F旦r att f奪
det att fungera p奪 andra plattformar kr辰vs en
omuppbyggnad p奪 aktuell plattform.
5. Vart hittar jag JAVA?
Java hittar du p奪 www.java.com. Det
utvecklades av Sun Microsystems och det har
varit allm辰nt tillg辰ngligt och gratis sedan 1995.
Sun hittar du p奪 www.sun.com (numera
ORACLE)
Det finns 辰ven m奪nga olika program som
hj辰lper dig att skriva din Java-kod och k旦ra
programmen, bl a Netbeans som du l辰tt
h辰mtar p奪 www.netbeans.org
6. Varf旦r JAVA?
F旦rdelen med Java 辰r dels
plattformsoberoendet, men 辰ven att man kan
skriva parallella program (sk Multithreading).
Det inneb辰r att ett Javaprogram kan beskriva
flera aktiviteter som p奪g奪r samtidigt. Man t ex
visa en r旦rlig bild samtidigt som l奪ter
anv辰ndaren mata in data i programmet.
7. Varf旦r JAVA?
Den st旦rsta nackdelen med Java 辰r
prestandan. N辰r man exekverar ett
javaprogram s奪 g奪r det l奪ngsammare 辰n om
det hade varit skrivet i t ex C++. Detta har att
g旦ra med interpreteringen. Man kan s辰ga att
Java g旦r interpreteringen(snabbt 旦versatt
tolkar kod till maskinspr奪k) on-the-fly, medan
den redan 辰r gjord med de andra spr奪ken. Det
辰r allts奪 d辰rf旦r man kan k旦ra dessa program
p奪 vilken plattform man vill.
8. Hur g奪r det till?
Oavsett vilket programspr奪k man anv辰nder s奪
kr辰vs en kompilator. Utan den s奪 kan man inte
旦vers辰tta koden till maskinspr奪k(bin辰rt, dvs
ettor och nollor). S奪 efter det att man skrivit
sin kod, s奪 k旦r man kompilatorn som s辰tter
samman koden till en objektsfil. Denna
objektsfil kan sedan k旦ras i en Javamaskin.(dvs
k旦ra programmet)
9. Hur ser det ut?
Ett exempel p奪 ett v辰ldigt kort javaprogram
kan se ut s奪 h辰r:
public class Test1 {
public static void main (String[] arg) {
System.out.println(Ett litet exempel);
}
}
Detta program skulle efter kompilering helt enkelt
bara skriva ut texten Ett litet exempel till sk辰rmen.
10. Till sist
Detta 辰r en v辰ldigt kort och ytlig presentation
av vad JAVA 辰r. Vill man s辰tta sig in mer i
辰mnet finns mycket att l辰sa p奪:
www.javasoft.com
www.javaworld.com
www.apple.com/java/ (f旦r Macintosh)
Man kan 辰ven l辰sa boken Java direkt med swing, som jag anv辰nt som k辰lla.
(Skansholm,Jan. ISBN 978-91-44-06074-3)
Editor's Notes
#3: Skapat av Sun Microsystems, allm辰nt tillg辰ngligt 1995. Objektorienterat inneb辰r att man skapar olika objekt som man sedan l奪ter arbeta tillsammans. Ett objekt kan anv辰ndas flera g奪nger i samma program. Objekten kan vara text eller sifferbaserade och man kan utf旦ra en rad olika utr辰kningar med dem t.ex. Be anv辰ndaren fylla i 2 olika tal och sedan addera dessa tal med varandra. Plattformsoberoende 辰r att man kan k旦ra java-program p奪 vilken plattform som helst, t.ex Mac eller Windows. terkommer till detta.Allm辰nt tillg辰ngligt. Vill man programmera java eller l辰ra sig mer s奪 finns det gratis p奪 internet att ladda ner. terkommer till detta.
#4: Grafiska program. Mycket av det vi ser p奪 n辰tet idag 辰r skapat med java, hur ofta har det inte h辰nt att man har kommit till en sida d辰r den s辰ger att man m奪ste ha java-plugin installerat f旦r att kunna visa sidan ordentligt. Grafiska program 辰r helt enkelt vad det l奪ter som, program som visar bilder eller animationer. Parallella program. Man kanske ocks奪 vill att du som anv辰ndare skall kunna mata in n奪nting trevligt under det att en animation spelar i bakgrunden. Det g奪r alldeles utm辰rkt i Java, med s.k. Multithreading, 奪terkommer till detta.Applets 辰r oftast de program som vi ser p奪 n辰tet (som 辰r skapade med java) och det 辰r helt enkelt sm奪 program som k旦rs p奪 hemsidor. Eftersom Java pga sitt plattformsoberoende 辰r ganska kr辰vande kan man inte ha f旦r stora program p奪 n辰tet, f旦r det skulle ta f旦r l奪ng tid f旦r oss i IT-奪ldern.
#5: M奪nga idag sitter p奪 oftast en PC som k旦r windows eller en Macintosh som k旦r n奪n form av OS X, men en del anv辰ndare sitter 辰ven p奪 Linux-system eller andra sorters plattformar. F旦r v辰ldigt m奪nga 辰r idag datorn en portal ut till Internet, s奪 f旦r att kunna g旦ra lite kluriga program som alla kan ta del av oavsett var de befinner sig har man Java. I och med sitt plattformsoberoende kan man g旦ra programmen utan att beh旦va oroa sig f旦r att de som sitter p奪 en anna sorts plattform inte kommer kunna se det du har skapat (om det s奪 辰r en h辰ftig animation eller ett r辰kneprogram) Hade ditt program som du lagt p奪 din hemsida varit skrivet i t.ex. C++ hade anv辰ndaren som surfar i p奪 din sida varit tvungen att f旦rst ladda ner sj辰lva grundkoden till programmet och sedan 辰ven en tolkare (en s.k. Kompilator) f旦r den aktuella plattformen och spr奪ket. Sedan anv辰nda denna p奪 ditt program och sedan k旦ra det. Om han/hon satt p奪 en anna plattform 辰n vad du skapat programmet i. Det 辰r VLDIGT m奪nga mer steg en vad en vanlig surfare idag skulle vara villig att g旦ra.
#6: Om du skall h辰mta Java till din dator s奪 finns det p奪 www.java.com. Detta 辰r det program du m奪ste ha installerat f旦r att din webl辰sare skall kunna k旦ra javaprogram p奪 n辰tet. Det finns 辰ven g奪tt om information kring java, t.ex vilken de n seanste versionen 辰r samt en m辰ngd svar p奪 fr奪gor man kan t辰nkas ha. Mycket av denna information 辰r kanske mest f旦r de som anv辰nder java i n辰tverk osv. D辰r olika program som k旦rs kan vara olika k辰nsliga f旦r vilken javaversion som k旦rs. Som hem-anv辰ndare r辰cker det oftast med att bara ta hem java och installera det, sen kommer det s辰ga till n辰r det beh旦ver uppdateras.Java-kod kan du skriva i vilken text-editor som helst t.ex. Anteckningar eller Word. Sen anv辰nder man en kompilator f旦r att g旦ra om det till ett javaprogram. Men f旦r att slippa kr奪ngla med dessa steg s奪 finns det p奪 n辰tet en hel del olika program som man l辰tt kan skriva och k旦ra programmen i direkt f旦r att se att de funkar osv. Netbeans 辰r ett exempel p奪 ett s奪dant program. N辰r man startar ett nytt projekt d辰r f奪r man v辰lja mellan en hel massa olika alternativ f旦r vad sorts program man t辰nkt skriva och sedan finns mycket redan uppst辰llt 奪t dig innan du b旦rjar. Netbeans visar ocks奪 direkt i programkoden du skriver om n奪got inte verkar st辰mma, man kan j辰mf旦ra med r辰ttstavningen i Word. Det f旦rklarar ocks奪 vad felen man kan t辰nkas g旦ra beror p奪 s奪 att de l辰tt g奪r att r辰tta till. Detta sparar ov辰rderlig tid ist辰llet f旦r att man ska sitta och gissa vart man gjort fel n辰r kompilatorn inte riktigt vill k旦ra ihop koden till ett javaprogram.
#7: Multithreading 辰r som ni ser att man kan skriva parallella program. Skulle man beh旦va flera program ig奪ng samtidigt skulle det ta upp en v辰ldig massa on旦dig processorkraft, d辰rf旦r 辰r det s奪 finurligt att javaprogrammen kan sk旦ta flera saker samtidigt. Som ni ser ovan kan det t.ex. Visa r旦rliga bilder samtidigt som man matar in indata i programmet. Hade jag beh旦vt skriva 2 separata program f旦r detta hade kraften f旦r detta f旦rdubblats, och som jag kommer visa 辰r javaprogram tyv辰rr r辰tt prestandakr辰vande, s奪 att kunna minimera detta med hj辰lp av multithreading 辰r essentiellt.
#8: Prestandan 辰r den st旦rsta nackdelen med Java, men det 辰r n奪got som man f奪r offra f旦r att kunna vara plattformsoberoende. Det 辰r lite som att j辰mf旦ra med t奪gtrafiken h辰r i Sverige, du kan ta det lite b辰ttre t奪get X2000, det g奪r fortare men det stannar inte 旦verallt. (om det startar 旦verhuvudtaget) ker du med det vanliga regionala t奪get tar det l辰ngre tid, men det stannar d奪 ocks奪 旦verallt l辰ngs v辰gen. Java 辰r allts奪 lite som det regionala t奪get, det k旦r p奪 samma r辰ls som X2000 (som kan j辰mf旦ras med t.ex. C++) men tar lite l辰ngre tid p奪 sig att komma fram. F旦rdelen 辰r ju naturligtvis att alla passagerare l辰ngs sp奪ret f奪r 奪ka med, och ingen av oss tycker det 辰r s辰rskilt kul att bli l辰mnad kvar.
#9: Jag har tidigare n辰mnt ordet kompilator, det 辰r allts奪 ett program som 辰r n旦dv辰ndigt oavsett vilket programspr奪k man anv辰nder sig av. Kompilatorn fungerar som en slags tolk mellan dig och din dator, den s辰tter ihop, kompilerar, den kod du har skrivit och g旦r om den till bin辰r kod, s奪 din dator f旦rst奪r vad du vill att den skall utf旦ra. Bin辰r kod best奪r endast av ettor och nollor, sedan beroende p奪 vart dessa ettor och nollor befinner sig s奪 har de olika v辰rde. Man skulle kunna s辰ga att det 辰r en l奪ng rad lysknappar, antingen 辰r de p奪 eller av, och beroende p奪 vart i raden av lysknappar man t辰nder s奪 f奪r den lysknappen olika v辰rde. Ni har s辰kert sett en IP-adress n奪gon g奪ng i ert liv, det 辰r ocks奪 en f旦renkling av bin辰ra tal, f旦r man skriver dem i decimal form f旦r att g旦ra det snabbt f旦r oss att f旦rst奪. S奪 om man skulle beh旦va sitta och skriva sin programkod p奪 det s辰ttet s奪 skulle man nog bli kn辰pp f旦rr eller senare.
#10: H辰r har vi ett litet kort java program som bara utf旦r en enda liten 奪tg辰rd: Det skriver ut texten Ett litet exempel till sk辰rmen. Jag pratade tidigare om att det 辰r ett objektorienterat spr奪k, och h辰r 辰r v奪rt objekt ett f辰lt, detta f辰lt tillh旦r kroppen kan man s辰ga, den skall alltid finnas med n辰r man skriver ett program. Sen kan man l辰gga till hur m奪nga andra objekt til detta som helst. Vi kan ocks奪 se att detta f辰lt 辰r av text-karakt辰r, genom att det st奪r String innan de 2 klamrarna. Hade t.ex. St奪tt int hade varit ett f辰lt med heltal. Det vi har gjort sen h辰r 辰r vi har givit kommandot (eller funktionen) println, som st奪r f旦r print line. Och sedan vad den skall skriva ut f旦r n奪got. Det som st奪r innan println, dvs System.out pekar p奪 vart programmet skall skriva ut texten, i detta fall 辰r det till sk辰rmen, men vi kan definiera om vilket systemets utenhet skall vara, man kan t.ex. Skriva ut direkt till en fil om man hellre vill det. Man skulle kunna, lite f旦renklat, se java-programmen som en riksdag, men genomf旦r mycket i sj辰lva riksdagen, men man har 辰ven en massa olika utskott som bara tar hand om just sin del av hela kakan, f旦r att sen presentera detta i riksdagen.
#11: Ja, detta var en VLDIGT ytlig presentation om vad java 辰r. Eftersom det 辰r ett programspr奪k s奪 finns det v辰ldigt mycket man kan g奪 in p奪 och djupdyka i. F旦r den som 辰r sugen finns v辰ldigt mycket dokumentation och hj辰lpmedel p奪 n辰tet. F旦rutom dessa 3 sidor s奪 finns det m奪nga privata sidor d辰r folk har hj辰lpt varandra med olika sorters problem man kan st旦ta p奪 beroende p奪 vilket sorts program man skapar. Jag har h辰mtat min info fr奪n boken Java Direkt med swing av Jan Skarsholm vilket 辰r en v辰ldigt bra bok om man vill b旦rja l辰ra sig Java och 辰ven om man kan Java och beh旦ver f旦rdjupa sig. Tack f旦r mig!/Daniel Bostr旦m