Litt grunnleggande om java

Thu 31 December 2009

Del 1 : Ein liten kopp kaffi.

Sidan java er eit objekt orientert språk passar det bra å starte med ei forklaring av java klasser og java object.

Eit objekt inneheld data og metoder for å hente ut/modifisere desse dataane.
Eit objekt er alltid ein instans av ei eller anna klasse som definerar typen av data som kan lagrast i objektet.
All koda du skriv vert skreve i ei klasse som du deretter opprettar objekt av.
Dei enklaste programma består berre av ei klasse som kanskje inneheld noken få variablar og noken få eller ingen metoder.
Eit program/klasse som skal kjøyrast må alltid inneholde ei metode ved navn main, men fordi det ikkje alltid er alle klasser som skal kjøyrast, treng ikkje alle klasser å inneholde denne metoda.
Klasser som ikkje skal kjøyrast vert brukt av kjøyrbare klasser som hjelpeklasser.
Den kjøyrbare klassa opprett objekt/instansar av dei andre klassene, og dette er essensen i objekt orientert programmering.

Sentrale java begrep i starten er variablar, konstantar, typar, kontrollstukturar, modifikatorar, operatorar, klasser, objekt og instansar, noken av dei kjem i den etterfølgande teksta, andre vil du komme over i seinare tekstar.
Etter at du har lært deg og blitt fortrulig med dei sentrale begrepa over, kjem tema som arv, interface, gui, søk/sorterings algoritmar og avanserte strukturar.

Men no er det vel på tide med eit lite kodeeksempel. Så her kjem den famous "hello world".

{codecitation class="brush: java; gutter: true;"}
public class Hello
{
public static void main (String []args)
{
System.out.println ("Heisann sveisan");
}
}


6 linjer var alt som skulle til og ditt første java program var i boks :) Og her kjem forklaringa på kva som eigentleg skjedde

(1)Her startar klassa ved navn "Hello", (Klasse deklarasjon)
(2)Her startar metoden "main", (Metode deklarasjon)
(3)Alt som ligg innanfor { kode her } tilhøyrer metoden "main", (Metode kroppen)
(4)Denne skriv ut tekst til skjermen, (Standard java utskrift metode)
(5)Her sluttar metoden "main", (Alltid husk å avslutte det du begynte på :)
(6)Her sluttar klassen "Hello", (Alltid husk å avslutte det du begynte på :)

Skriv denne koda inn i ei tekstfil med navn Hello.java, og kompiler det med javac Hello.java. Kjøyr fila ved å skrive java Hello og du får ei fin utskrift i konsoll vinduet ditt. Du har no skrevet, kompilert (javac) og kjøyrt (java) ditt første java program. Gratulerer...

Men du hadde kanskje tenkt deg at programmet skulle gjere litt meir enn å skrive ei teit helsing? Noko litt meir praktisk kanskje? Kva med ein kalkulator? Det hadde våre noke...

Før ein set igang og programmerar er det greit og tenke litt over kva ein har planar om å lage. Korleis skal det fungere? Ein skriv gjerne ned ei skisse av koda/programmet før ein set igang. Dette kallast å skrive pseudokode og noko som du vil merke er ganske praktisk når du set igang med større program som gjerne skal delast inn i fleire delar osv. Det viktige med pseudokode er at den skal vere detaljert nok til at ein kan bruke den som ei skisse før programmeringa, men den skal ikkje vere så detaljert/spesifikk at det er umulig for andre å lese den og forstå kva som skjer.

La oss skrive noke tankar om kva vi vil at kalkulatoren vår skal gjere:
(1) Les inn verdiar frå tastaturet.
(2) Lagre desse verdiane ein plass i programmet slik at vi kan bruke dei seinare. Dette kallast for variablar.
(3) Spesifisere funksjonar som kalkulatoren skal gjere. Vi kan starte med t.d x+y, x-y, x*y og x/y, der x og y er t.d heiltal.
(4) La brukaren få velge kva slags operasjon han vil utføre på tala x og y. Som du kanskje har skønt er x og y variablane frå pkt 2.
(5) Regn ut eit resultat og returner dette til brukaren.

Den vanskligaste delen her er pkt 1, innlesing frå tastatur, så her lånar vi litt frå andre. Last ned denne klassen/fila, og legg den i samme mappa som du har resten av java kode filene dine. Du kan gjerne prøve å kjøyre den og ved å skrive "java Terminal", men dette vil ikkje gå fordi at det ikkje er nokon "main" metode i denne klassa, men som tidligare nevnt er ikkje dette nødvendig for å kunne bruke den. Denne klassen vil fungere som ei hjelpe klasse til kalkulatoren vår.

I punkt 2 står det at vi skal lagre verdiar. Dette gjerast i variablar som tidligare nevnt. Vi begrensar oss til heiltal foreløbig. Heiltal heiter integer på engelsk og vert i java forkort til int. Dette er greit å vite litt om typar sidan vi alltid må spesifisere typen til ein variabel i java, i motsetning til t.d php som ordnar slikt sjølv. Det finst mange andre typar og (int, double, string, char, float, boolean mm), men dette kjem i ein egen artikkel snart.

Ok... Då er oss klar til å programmere litt igjen. Lag ei ny tekstfil med navn Regnar.java i din favoritt teksteditor

{codecitation class="brush: java; gutter: true;"}
public class Regnar
{
public static void main (String[] args)
{
//Dette er en java kommentar og er berre for å kommentere koda. Kompilatoren overser desse fullstendig...
//Husk alltid å kommentere koda di, ellers får du store problem om du t.d reise på ferie og skal fortsette på programmet ditt 2mnd seinare...

//Ok. Vi startar programmet vårt med å deklarere, dvs sette av plass i minnet til dei variablane vi treng.
int x;
int y;
int ønskaOperasjon;
//Det var variabel deklarasjonen. Enkelt ikkje sant?

//Så må vi lage eit system for å ta inn data frå brukaren
System.out.println ("Velkommen til mitt meget avanserte program");
System.out.println ("Tast inn første argument, x : ");
x = Terminal.lesInt();
System.out.println ("Tast inn andre argument, y : ");
y = Terminal.lesInt();
System.out.println ("Kva operasjon vil du utføre på desse tala?");
System.out.println ("1 = +, 2 = -, 3 = *, 4 = / : ");
ønskaOperasjon = Terminal.lesInt();

//No har vi alle data vi trenger. No treng vi ein måte for å finne ut kva operasjon brukar valgte.
//Vi ønskar velkommen til kontroll strukturen "if". Ikkje fortvil om du ikkje forstår alt med engong. Det vil komme eigen artikkel på kontroll strukturar.
if (ønksaOperasjon == 1)
{
System.out.println ("Resultatet av x + y vert : " + x + y);
}
if (ønksaOperasjon == 2)
{
System.out.println ("Resultatet av x - y vert : " + x - y);
}
if (ønksaOperasjon == 3)
{
System.out.println ("Resultatet av x * y vert : " + x * y);
}
if (ønksaOperasjon == 4)
{
System.out.println ("Resultatet av x / y vert : " + x / y);
}
else
{
System.out.println ("Du tasta ikkje inn eit gyldig valg, avsluttar");
}
}//Her sluttar main metoden
}//Her sluttar klassen Regnar


Då var kalkulatoren ferdig. Gratulerer...

Dette var vel egentli alt i første del. Neste på programmet vert å lære litt meir om dei forskjellige typane som finst. So berre heng med. Dette skal verte bra...

Tagged as : java

Comments

Tagged as : java