JAVA består av (lett forenklet): -Klasser -------- (grovoppskrift på objekter) (stort sett en klasse per fil) -objekter --------- (instanser av klasser) For å lage et objekt må man skrive Klasse variabelnavn = new Klasse(inputverdier); f.eks: String minTekst = new String("dette er en inputverdi"); man kan bare lage objekter av en klasse man allerede har definert eller som er ferdig definert i JAVA (se JAVA sin API) objekter kan ha variabler og metoder. Dersom disse er satt til public kan man aksessere dem utenfra objektet. f.eks: ---variabel: int nyID = person1.id; eller person1.id = nyID; ---metode: int nyID = person.getId(); eller person.setId(nyID); -primitive typer --------------- -int -char -double -float -boolean for å lage en ny primitiv type må man skrive for eksempel: int mittTall = 4; eller char minBokstav = 'A'; eller boolean minBoolean = true; -------------------- FOR-LØKKE: gjør noe et bestemt antall ganger: f.eks; for(int i = 0; i< 10 ; i++){ gjørNoe(); } vil kalle metoden gjørNoe() 10 ganger. --------------------- WHILE-LØKKE: gjør noe til en betingelse blir "false" f.eks: int i = 5; while(i > 0){ gjørNoe(); i--; } vil kalle gjørNoe() 5 ganger ------------------------ TABELLER (array) : markeres med klammeparantes [] Etasje[] = en tabell med Etasje-objekter int[] = en tabell med primitive heltall ved flerdimensjonale tabeller brukes flere klammeparanteser Rom[][] = en todimensjonal tabell med Rom-objekter Event[][][][] = en firedimensjonal tabell med Event-objekter (i rom-tidkontinuiteten?) etasje[0] = første element i etasje-tabellen etasje[3] = fjerde element i etasje-tabellen for å lage en tabell må man først bestemme størrelsen på tabellen og så fylle den med objekter eller primitiver: String[] klasseliste = new String[5]; klasseliste[0] = new String("Anders"); klasseliste[1] = new String("Beate"); klasseliste[2] = new String("Charlotte"); klasseliste[3] = new String("David"); klasseliste[4] = "Erik"; for å traversere (besøke hvert element en gang) en tabell er det som regel greit å skrive en for-løkke: for( int i = 0 ; i < etasje.length ; i++ ){ ..... } for å traversere alle elementer i an flerdimensjonal tabell bruker man som regel nøstede for-løkker: for(int i = 0; i< rom.length ; i++){ for(int j = 0; j < rom[i].length ; j++ ){ rom[i][j].gjørNoe(); } } ------------------ IF-SETNINGER: betinget utførelse if(something == true){ a.gjørNoe(); }else if(something_else == true){ b.gjørNoe(); }else{ c.gjørNoe(); } if-then-else kan også skrives på kortform: (something ? a.gjørNoe() : c.gjørNoe(); ) i stedet for: if(something){ a.gjørNoe(): }else{ c.gjørNoe(); } ------------------ STATIC/DYNAMIC Alle variabler/metoder blir tolket som dynamic hvis man ikke erklærer dem som static. static: hører til klasser dynamic(vanlig): hører til objekter: for eksempel for person: dynamisk egenskap: navn statisk egenskap: forventet levealder (fra ssb) en dynamisk greie i java (objekter) kan bruke statiske metoder og variable. en statisk greie i java (klasser) kan IKKE UTEN VIDERE bruke dynamiske metoder og variable, men må ha et objekt å kjøre dem på. (liten mening i å spørre hvilket navn hele norges befolkning har) /* SKALL SOM MÅ VÆRE RUNDT EN KLASSE I JAVA */ public class Test{ } /* KODE SOM MÅ TIL FOR AT KLASSEN SKAL KUNNE KJØRE PÅ EGEN HÅND */ public class Test{ public static void main(String[] args){ .... } }