Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
titleInteger i java
linenumberstrue
int heltall;

heltall = 1337; // Lovlig verdi for integer-variabelen
heltall = 10.3; // Ulovlig
heltall = 5/2;  // Lovlig (heltallsdivisjon)
heltall = 5.0/2; // Ulovlig 

heltall = 2;
heltall < 3.2; // true
 

 

Double

Dersom data er av typen double, kan dataene ha verdier som desimaltall. Faktisk vil selv heltallsverdier "omgjøres" til desimaltall.  
Med double kan man beregne nye tall, og sammenligne de med andre tall.

Code Block
languagejava
titleDouble i java
linenumberstrue
double desimaltall;

desimaltall = 13.37; // Lovlig verdi for double-variabelen
desimaltall =  10;  // Lovlig, tolkes som 10.0
 
double annetDesimaltall = desimaltall/2.3; // Lovlig
 
desimaltall == 10; // true, siden de er samme faktiske verdi
desimaltall != 3; // true


Strengdata:

Når vi skal lagre tekst eller tegn brukes datatypene String eller char.

...

Code Block
languagejava
titleChar i java
linenumberstrue
char tegn;

tegn = 'A'; // I java defineres en char med enkle apostrofer. 
tegn = Character.toLowerCase(tegn); // tegn settes lik 'a' ved hjelp av en forhåndsdefinert metode som finnes i java
 
 
tegn = '#'; // Lovlig char-verdi
tegn = 't5'; // Ulovlig char-verdi, kan ikke bestå av flere tegn. Se String i stedet
tegn = '\''; // Setter tegn lik '
 
tegn = '2'; // Lovlig char-verdi
tegn == 2; // false, da int og char ikke er like, selv om verdien ser lik ut.


//Konvertering mellom char og int krever litt triksing:


// 1) Hvis man forsøke caste en char til int, vil dette gi svært rare resultater:

int heltall = (int) tegn;  // heltall settes lik 50?? 

// Dette skyldes, som nevnt ovenfor, at alle char-verdier ligger på en tall-linje. Vi vet nå at '2' er representert på plass 50 langs denne tall-linjen.

// 2) I java må vi konvertere char-verdien til en Sting, og deretter "parse" String-verdien til et integer. Det kan gjøres slik
 
String s = Character.toString(tegn); // Bruker en ny forhåndsdefinert metode i java
int heltall = Integer.parseInt(s); // heltall settes nå lik integer-verdien 2.
 

...

Code Block
languagejava
titleArray i java
linenumberstrue
double[] desimalTabell; // Klammene definerer at dette er et array som skal holde på double-verdier

// Vi må bestemme hvor stor tabellen skal være før vi kan sette elementer i den

desimalTabell = new double[10]; // Denne linjen allokerer minne til 10 desimaltall fra plass 0 til 9

desimalTabell[0] = 100.23; // Setter 100.23 inn på index-plass 0 i tabellen

// Vi kan sette inn verdier hvor vi vil, og forandre de når vi vil

desimalTabell[8] = 96.3; 
desimalTabell[10] = 77.77; // Ikke gyldig operasjon, da vi bare har allokert minne til 10 desimaltall på plassene 0 til 9
desimalTabell[4] = 0.45; 
desimalTabell[8] = desimaltabell[8] - 6.1; // Setter index-plass 8 i tabellen lik 90.2


// Vi kan også ha arrays i arrays
 
int[][] multi;
		
multi = new int[3][5]; // Setter den "ytterste" tabellen til å holde 3 tabeller som kan holde 5 integers hver

multi[0][0] = 5;
multi[2][3] = 678;
..
.. 
// Antar at en fult initialisert tabell ser slik ut
// [5,3,4,67,19],[95,57,345,0,2],[78,34,678,23,21] 
 
// Vi kan nå traversere hele tabellen på denne måten
 
for (int i = 0; i < multi.length; i++) {
	for (int j = 0; j < multi[i].length; j++) {
		System.out.println(multi[i][j]);
	}
}
 
// Som vil skrive ut tallene i den rekkefølgen de kan leses ovenfor