...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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 | ||||||
---|---|---|---|---|---|---|
| ||||||
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 | ||||||
---|---|---|---|---|---|---|
| ||||||
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 | ||||||
---|---|---|---|---|---|---|
| ||||||
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
|
|