KEYWORDS - NØKKELORD i JAVA

Keywords er ord som er en viktig del av Java språket. Det er tilsammen 49 stykker. Her kan du se hva de forskjellige betyr og hvordan de brukes.

Du kan ikke bruke dem når du skal sette navn på variabler, konstanter, klasser eller metoder.

Husk; de skrives med små forbokstav.

 

 

 

 

 

 

 

abstract

Klasser og metoder kan erklæres abstrakt.

En abstrakt klasse (class) kan det ikke opprettes objekter (object) av.
Vanlig å bruke som superklasse (superclass) for å utnytte arv (inheritance).
Klassen merkes med abstract, slik:

abstract class AnsattVA {
kode...
}

Man kan også lage abstrakte metoder.
Det indikerer at metodekroppen befinner seg et annet sted, slik tilfelle også er med native.

abstract public double beregnUkeLonn(double AntallTimer);
// det kommer altså ikke noen { }

For å få noen praktisk nytte av metoden må man altså lage en subklasse og overkjøre den abstrakte metoden.

En klasse erklæres abstrakt for å kompilere hvis den

  • har en eller flere abstrakte metoder.
  • arver en eller flere abstrakte metoder den ikke fyller
  • implementerer et interface det ikke fyller alle metodene til.

På mange måter er abstrakt motsatsen til final. En final klasse kan ikke subklasses, mens en abstrakt klasse subklasses.

 

 

 

 

 

 

 

 

 

 


assert

Ny i Java 1.4.
Brukes av programmereren for å teste programmet under utvikling.

Assert betyr forutsette
eks: assert a > 42;
//Hvis ikke betingelsen er oppfyllt avbrytes programmet med en assertion error.

MEN: Assert-testen blir BARE utført hvis vi kjører
java -ea ProgramNavn

 

 

 

 

 

 

 

 


boolean

Primitiv datatype

Kan ikke castes til annen type

Kan enten være true eller false.
- Default verdi er false.
- Deklarering og initialisering:
boolean tid = true;

 

 

 

 

 

 

 

 


break

Brukes for å avbryte en løkke (loop).
Utføring av en break-setning i en løkkekropp fører til at resten av løkkekroppen ikke blir utført, og programmet kjører videre etter løkka.

Eks fra ei for-løkke:

for(int i = 1; i <=10; ++1) {

if(i == 3) break;
resten av løkkekroppen
}

Break brukes som regel alltid i switch'er:

switch(tegn) {

case '1' : tilfStreng += "en"; break;
case '2' : tilfStreng += "to"; break;
case '3' : tilfStreng += "tre"; break;
default; System.out.println(tegn + "er ikke er tall");
}

 

 

 

 

 

 

 

 

 


byte

Primitiv datatype

initialiseringsverdi: 0

Brukes til å lagre integer data. Kan castes til alle andre primitive datatyper utenom boolean.

  • 1 byte (8 bits) memory
  • Kan ha verdier fra -2 i 7 til +2 i 7- 1
  • Kan ha verdier fra -128 til +127

Når en unary operator brukes på en Byte, short eller char konverteres de automatisk til int.
Unntak; ++, --

Unary operator er -, +, ++, -- eller ~ som tilføres tallet.
Ved binary operator skjer ingen konvertering.

 

 

 

 

 

 


case

Brukes i switcher. Tar int eller litteraler som kan konverteres automatisk til int.

 

 

 

 

 

 

 

 


catch

Brukes sammen med en try-blokk for å fange opp exceptions.
Exceptions kan også sendes videre med nøkkelordet throw.

try {
// lager en FileOutputStream som kan lese fra en fil
//parameter til FileOutputStream slik at dialogboksen bestemmer fil
FileInputStream fis = new FileInputStream(jfc.getSelectedFile().getPath());
// lager en FileOutputStream som kan lese fra en fil
DataInputStream dis = new DataInputStream(fis);

String s1 = dis.readUTF();

// skriver ut de verdiene som ble lest
tekstOmråde.setText(s1);

// lukker dis
dis.close();

// lukker fis
fis.close();
}

catch (IOException g) {
System.out.println(g);
}

Kan også avsluttes med en finally-blokk

Se også try, catch, finally, throw og throws.
OG Hva slags exceptions må behandles?

 

 

 

 

 

 

 

 


char

char litterals må stå i enkeltfnutter:
char c = 'w';

initialiseringsverdi: '\u0000'

Størrelse: 16 bit
Char er unsigned, range fra 0 til 2 opphøyd i 16 -1

Når en unary operator brukes på en Byte, short eller char konverteres de automatisk til int.
Unntak; ++, --

Unary operator er -, +, ++, -- eller ~ som tilføres tallet.
Ved binary operator skjer ingen konvertering.

Kan castes til alle andre primitive datatyper utenom boolean.

 

 

 

 

 

 

 

 

 

 


class

brukes når man skal definere en klasse.

 

 

 

 

 

 

 

 

 


const

const og goto har ingen mening i java, men de er reservert som nøkkelord.

 

 

 

 

 

 

 

 

 

 


continue

Brukes sammen med break i looper. (I stedet for goto som andre språk benytter).

 

 

 

 

 

 

 

 

 

 


default

er egentlig ikke et nøkkelord.
I datasammenheng betyr default STANDARD.
Her i keywordsammenheng i Java er det først og fremst en Access modifier som kan brukes på klasser, variabler, metoder og konstruktører.

Vi bruker ikke navnet default, vi utelater å bruke en access modifier. Dette blir også kalt package eller friendly.

DEFAULT gir kun aksess til andre klasser i samme pakke.

Åpen for alle Fra pakke og sub-klasser Kun for pakka Kun for klassen

 

 

 

 

 

 

 

 

 

 

 


do

Brukes til å lage en løkke i kombinasjon med while

I motsetning til while-løkka vil do - while-løkka alltid kjøre minst en gang, siden betingelsen kommer til slutt.

int i;

do {
System.out.println( i );
i++;
}
while (i <59);

 

 

 

 

 

 

 

 

 


double

Double er 64 bits flyt-tall med suffix D eller d
Eks: 12345.45D

initial value: 0.0d

Kan castes til alle andre primitive datatyper utenom boolean.

 

 

 

 

 

 


else

Brukes til å lage en valgsetning sammen med nøkkelordet if

if (int j= =0) {

l = 1.0;
}
else if(j= =1) {

l = 1.5;
}
else if(j= =2) {

l = 2.0;
}

else {
System.out.println("Dette gikk i dass");
}

 

 

 

 



extends

Brukes ved sub-classing.

Eks: class Child extends Parent {

innholdskode...
}

Denne nye klassen arver metodene og constructoren til foreldreklassen eller superklassen, de kan overkjøres (override).

 

 

 

 

 

 

 

 

 

 


final

Vi deklarerer klasser, metoder og konstanter med nøkkelordet final, og bruker store bokstaver i navnet, slik:

private float final PRODUKT_A = 239.99f

En klasse som deklareres final kan man ikke lage subklasse av.
En metode som deklareres final kan ikke overkjøres (override)
En variabel som deklareres final kan ikke endres, og er dermed en konstant.

 

 

 

 

 

 

 

 

 


finally

I forbindelse med try og catch blokker kan vi ha en finally-blokk tilslutt.

Den bli alltid kjørt, utenom når:

  • Man bruker System.exit();
  • En exception i selve finally-blokka
  • Tråden dør
  • Noen skrur av strømmen

Se også try, catch, finally, throw og throws.
OG Hva slags exceptions må behandles?

 

 

 

 

 

 

 

 


float

Float er 32 bits flyt-tall med suffix F eller f
Eks: 1234.45f

initial value: 0.0f

Kan castes til alle andre primitive datatyper utenom boolean.

 

 

 

 

 


for

Brukes til for-løkker.

for (int i = 0; i <object.length; i++) {
sum = int Tall1 * i;
System.out.println("--------------------");
}

 

 

 

 

 

 

 


goto

const og goto har ingen mening i java, men de er reservert som nøkkelord.

 

 

 

 

 

 

 

 

 

 


if

Brukes til å lage en valgsetning.

if (int j= =0) {

l = 1.0;
}
else if(j= =1) {

l = 1.5;
}
else if(j= =2) {

l = 2.0;
}

else {
System.out.println("Dette gikk i dass");
}


 

 

 

 

 

 

 


implements

Brukes i klassedeklarasjoner når vi skal implementere et interface, slik:

public class Geir1 implements Runnable {

.....
}

 

 

 

 

 


import

Brukes i import-statements hvis klassen importerer fra andre klasser, slik:

package MinPakke;

import javax.swing.*;

public class Geir 2 extends Geir1 implements Runnable {

....
}

 

Hvis alle elementene er med MÅ package, import og classedefinisjonen komme i denne rekkefølgen.

 

 

 

 


instanceof

Operator som sjekker et objekts klasse ved runtime.

if (p instanceof Parent)

hvor p er en objektreferanse, vanligvis en variabel eller et array element, og
hvor Parent må være en klasse, et interface eller en array.
(Man kan IKKE bruke java.lang.Class objekt referanse eller String som høyre operand i uttrykket over.)

Blir true hvis klassen til venstre er den samme som, eller en subklasse av klassen til høyre.

 

 

 

 

 

 

 


int

Primitiv datatype

Brukes til å lagre integer data. Kan castes til andre primitive datatyper.

  • 4 byte (16 bits) memory
  • Kan ha verdier fra -2147483648 til +2147483647
  • Eller -2 opphøyd i 31 til 2opphøyd i 31 - 1

 

 

 

 

 

 

 

 


interface

Et interface en en samling abstrakte metoder og eventuelt konstanter som kan implementeres i en klasse.

Metodene i interfacet definerer navn, parameter og returtype. Disse må overkjøres i klassen for å kunne brukes, men eventuelle konstanter i interfacet er tilgjengelig direkte i klassen.

 

 

 

 

 

 


long

Primitiv datatype

Brukes til å lagre integer data. Kan castes til andre primitive datatyper.

  • 8byte (64 bits) memory
  • Kan ha verdier fra -9223372036854775808 til +9223372036854775807

 

 

 

 

 

 


native

Modifier som KUN kan brukes på metoder. Som nøkkelordet abstract indikerer native at metodekroppen er et annet sted. For native-metoder ligger metodekroppen i et bibliotek i Java Virtual Machine og er ikke skrevet i Java, men f.eks ii C++ eller C.

Mange vanlige metoder ernative, f.eks clone() og notify()N i Object klassen.

 

 

 

 

 

 

 


new

Brukes når vi lager en instanse av en klasse, slik:

Integer tall = new Integer(42);
//lager en instans av Wrapperklassen Integer som inneholder 42.

 

 

 

 

 

 


package

Pakke med filer.
Dersom fila tilhører en pakke må pakkedeklarasjonen komme aller først i fila.
Deretter kommer eventuell import
Deretter klassen

Hvis variabler eller metoder er default - uten akksessmodifier - har kun andre klasser i pakken adgang til disse.

Hvis variabler eller metoder er protected - har andre klasser i pakken og subklasser til klassen adgang til disse.

 

 

 

 

 

 

 


private

Access modifier.
Kan brukes på variabler, metoder og konstruktører.
IKKE på klasser.

PRIVATE er den mest restriktive. Kun adgang fra instanser av klassen.
Klasser som arver kan IKKE aksessere private metoder eller variabler den fra superklassen.

Åpen for alle Fra pakke og sub-klasser Kun for pakka Kun for klassen

 

 

 

 

 

 

 

 

 


protected

Access modifier.
Kan brukes på variabler, metoder og konstruktører.
IKKE på klasser.

PROTECTED
Gir aksess til andre klasses i samme pakke og til subklasser.

Åpen for alle Fra pakke og sub-klasser Kun for pakka Kun for klassen

 

 

 

 

 

 

 

 

 

 


public

Access modifier.
Kan brukes på klasser, variabler, metoder og konstruktører.

PUBLIC gir aksess til ALLE JavaProgram uten restriksjoner. Derfor må main-metoden være public.

Åpen for alle Fra pakke og sub-klasser Kun for pakka Kun for klassen

 

 

 

 

 

 

 

 

 


return

Når en metode returnerer noe brukes kodeorder return.

 

 

 

 

 


short

 

Primitiv datatype

Brukes til å lagre integer data. Kan castes til andre primitive datatyper.

  • 2 byte (16 bits) memory
  • Kan ha verdier fra -32768 til +32767
  • Eller -2 opphøyd i 15 til 2 opphøyd i 15 - 1

Når en unary operator brukes på en Byte, short eller char konverteres de automatisk til int.
Unntak; ++, --

Unary operator er -, +, ++, -- eller ~ som tilføres tallet.


Ved binary operator konverteres disse tre også til int eller hvis et av tallene er høyere (long, float eller double) til det høyeste.

 

 

 

 

 

 


static

  • Variabler
  • metoder og
  • spesielle kodeblokker utenfor metoder
    kan gjøres static.

Man kan tenke at statiske tilfeller tilhører klassen istedet for en instans av klassen.
Metode: public static void main(String [] args) {osv.
Variabel: public static int x = 0;

Det er altså den samme x som går igjen i hele klassen, og endrede verdier får følge.

Statiske metoder kan ikke benytte ikke statiske variabler fra klassen.
Statiske metoder kan bare kalle på statiske metoder i klassen.
Må ikkestatiske metoder kalles må man spesifisere hvilken instans av klassen som utfører metoden.
Statiske metoder har ingen this.
Statiske metoder kan ikke overkjøres til å bli ikke statiske.

Statiske kodeblokker utenfor metoder kalles static initializer code:

static {System.out.println("Statisk kode: D = " + d++);}

Denne kodeblokka kjøres kun en gang, når klassen lastes.

 

 

 

 

 

 

 

 


strictfp

Eneste keyword jeg ikke veit hva betyr???

 

 

 

 

 

 

 

 

 


super

Referer til superklassen. Brukes f.eks i konstruktører i subklassen.

SubClass(int i) {

super();
}

 

 

 

 

 

 

 

 

 


switch

  • Brukes i en valgsetning med faste alternativ. Verdien til en case-etikett må være et heltall eller et tegn, altså char, bite, short eller int, ikke boolsk eller flyttall. (mer under koden)

switch (wash)
{
case 1:
j = 1.0;
break;

case 2:
j = 1.5;
break;

case 3:
j = 2.0;
break;

default:
System.out.println("Dette gikk i dass");
}

  • Det er ikke nødvendig å omslutte en handlingsliste med blokknotasjon {}.
  • Variabler deklarert i switchen kan ikke brukes utenfor.
  • Uttrykksverdien og verdien til en case-etikett
    testes for likhet, mens if-else setninger tillater vilkårlig sannhetsutrykk.

 

 

 

 

 

 


syncronized

Brukes for å controllere access til kritisk kode i flertråd programmering.

 

 

 

 

 

 

 

 

 


this

Referer til denne klassen, this.

 

 

 

 

 

 

 

 

 


throw

Brukes til å kaste en exception.
En exception er et objekt fra java.lang.throwable eller en subklasse.
Vi må opprette en instanse av et slikt objekt, deretter kaste det med throw, f.eks slik:

throw new IOExeption("File not found");

Hvis dette gjøres i en metode vil det kastes en IOException til det sted metoden kalles.
Merk:
Det er lurt å opprette exception-objektet på samme linje som det kastes.

Se også try, catch, finally, throw og throws.
OG Hva slags exceptions må behandles?

Det er også mulig å gjøre som beskrevet under, men linjenummer for hvor exceptionen oppstod blir ikke i samsvar med hvor den blei kasta fra:
Hvis vi trenger å gi programmer som kaller en metode hvor vi har en try-catch-blokk tilbakemelding på at det har sendt ivei en feil som fører til en exception kan vi sende den tilbake med kodeordet throw.

try {
//Kode som kan lage f.eks en aritmetisk exception
}
catch(AritmethicException e) {
//Hva som skal skje med exception'en her
throw e;        // Kaster exception tilbake
                    //til programmet som kalte metoden
}

 

 

 





 


throws

En metode som kan kaste en exception kan merkes med kodeordet throws, slik:

public void geirsIOMetode(String tgURL) throws EOFException

Man kan liste opp flere exceptions etter throws, og i likhet med catch-blokkene må de følge i hierarkisk rekkefølge med de mest generelle tilslutt.

Se også try, catch, finally, throw og throws.
OG Hva slags exceptions må behandles?

 

 

 

 

 

 

 

 

 


transient

En modifier. Brukes kun på variabler. Når en variabel markeres som transient blir den ikke sendt med klassen når man serialiserer.

Den blir ikke lagret i objektets vedvarende tilstand (persistent state).

Eks. rike gubbers kode til kontoen gjøres transient så vi gutta ikke skal få tak på den.

Spesielt aktuell i klasser som implementerer interface Serializable eller Externalizable og kan skrives til filer utenfor JVM.

 

 

 

 

 

 

 


try

Brukes for å fange exeptions. Koden som skal testes må legges i ei try - blokk, og sendes til en catch-blokk som avgjør om den skal sendes videre(throw) eller behandles i catch-blokka.

try {
// lager en FileOutputStream som kan lese fra en fil
//parameter til FileOutputStream slik at dialogboksen bestemmer fil
FileInputStream fis = new FileInputStream(jfc.getSelectedFile().getPath());
// lager en FileOutputStream som kan lese fra en fil
DataInputStream dis = new DataInputStream(fis);

String s1 = dis.readUTF();

// skriver ut de verdiene som ble lest
tekstOmråde.setText(s1);

// lukker dis
dis.close();

// lukker fis
fis.close();
}

catch (IOException g) {
System.out.println(g);
}

Kan også avsluttes med en finally-blokk

Se også try, catch, finally, throw og throws.
OG Hva slags exceptions må behandles?

 

 

 

 

 

 


void

Returtype void returnerer ingen ting.

 

 

 

 

 

 

 

 

 


volatile

Ganske uvanlig Modifier. Kun for variabler. Indikerer at de kan modifiseres asynkront i multiprosessor miljø.

(Ikke examens stoff). Betyr flyktig.

 

 

 

 

 

 

 

 

 


while

Brukes til å lage en løkke (loop)

int i = 4; //f.eks
while (i <=6) {
i++;
System.out.println(" + i + " Geir Sundet " + i );
}


 

 

 

s