3.9. Appendiks

Dette afsnit sætter det, du har lært i kapitlet, i system og kan senere bruges som opslagsværk. Enkelte steder står der noget, som ikke er gennemgået endnu, men som er med for helhedens skyld.

3.9.1. Navngivningsregler

Variabler og metoder bør have lille startbogstav.

Eksempler: n, alder, tal, talDerSkalUndersøges, main(), println(), sqrt().

Klasser bør have stort startbogstav.

Eksempler: HejVerden, Cylinderberegning, Syvtabel2

Består navnet af flere ord, stryger man normalt mellemrummene og lader hvert af de efterfølgende ord starte med stort (nogen bruger også understreg _ som mellemrum).

Da visse styresystemer endnu ikke understøtter æ, ø og å i filnavne, bør man undgå disse i klassenavne.

3.9.2. De simple typer

Her er en oversigt over alle de simple variabeltyper i Java.

Tabel 3-1. Simple variabeltyper i Java

Type Art Antal bit Mulige værdier Standardværdi
byte heltal 8 -128 til 127 0
short heltal 16 -32768 til 32767 0
int heltal 32 -2147483648 til 2147483647 0
long heltal 64 -9223372036854775808 til 9223372036854775807 0
float kommatal 32 ±1.40239846E-45 til ±3.40282347E+38 0.0
double kommatal 64 ±4.94065645841246544E-324 til ±1.79769313486231570E+308 0.0
char unicode 16 \u0000 til \uffff (0 til 65535) \u0000
boolean logisk 1 true og false false

De vigtigste er int, double og boolean. I enkelte tilfælde bliver long og char også brugt, mens byte, short og float meget sjældent bruges.

3.9.3. Værditypekonvertering

Konvertering til en anden type sker automatisk i de tilfælde, hvor der ikke mistes information (forstået på den måde, at intervallet af de mulige værdier udvides), dvs.

Den anden vej, dvs. hvor der muligvis mistes information, fordi intervallet af mulige værdier indsnævres, skal man skrive en eksplicit typekonvertering.

Det gøres ved at skrive en parentes med typenavnet foran det, der skal konverteres:

 
int x; 
double y; 
y = 3.8; 
x = (int) y 

Her skæres kommadelen af 3.8 væk og x får værdien 3.

Eksplicit typekonvertering sikrer at programmøren er bevidst om informationstabet (glemmes dette kommer oversætteren med fejlen: possible loss of precision: double, required: int). Det skal ske

Der kan ikke typekonverteres til eller fra boolean.

3.9.4. Aritmetiske operatorer

Tabel 3-2. Java

Operator Brug Forklaring
+ a + b a lagt sammen med b
- a - b b trukket fra a
* a * b a gange b
/ a / b a divideret med b
% a % b rest fra heltalsdivision af a med b
- -a den negative værdi af a
++ a++ a = a+1; værdi før optælling
++ ++a a = a+1; værdi efter optælling
-- a-- a = a-1; værdi før nedtælling
-- --a a = a-1; værdi efter nedtælling

Operatorerne giver altid samme type som operanderne, der indgår. Det skal man være specielt opmærksom på for / (divisions) vedkommende, hvor resten mistes ved heltalsdivision.

Operatoren ++ tæller en variabel op med én : a++ svarer til a=a+1. Tilsvarende er a-- det samme som a=a-1.

3.9.5. Regning med logiske udtryk

u1 og u2 er to logiske udtryk eller logiske variabler

Tabel 3-3. Java

Operator Brug Forklaring
&& u1 && u2 både u1 og u2 er sandt
|| u1 || u2 u1 eller u2 er sandt
! ! u1 negation af u1

Operator && udtrykker, at både 1. og 2. udtryk skal være sandt:

Tabel 3-4. Java

1. udtryk 2. udtryk 1. udtryk && 2. udtryk
FALSK FALSK FALSK
FALSK SAND FALSK
SAND FALSK FALSK
SAND SAND SAND

F.eks. er udsagnet (a > 5 && a < 10) sandt, hvis a er større end 5, og a er mindre end 10.

Operator || udtrykker, at 1. eller 2. udtryk skal være sandt.

Tabel 3-5. Java

1. udtryk 2. udtryk 1. udtryk || 2. udtryk
FALSK FALSK FALSK
FALSK SAND SAND
SAND FALSK SAND
SAND SAND SAND

F.eks. er udsagnet (a > 5 || a == 0) sandt, hvis a er større end 5, eller a er 0.

Operator ! Udtrykker, at udtrykket skal negeres, dvs. at (!u1) er sandt, hvis u1 er falsk, og falsk hvis u1 er sandt, f.eks. er udsagnet (!(a > 5)) sandt, hvis der ikke gælder at a er større end 5 (det er det samme som (a <= 5)).

I visse andre programmeringssprog skrives AND for &&, OR for || og NOT for !

3.9.6. Sammenligningsoperatorer

Tabel 3-6. Java

Operator Brug Forklaring
> a > b a større end b
>= a >= b a større end el. lig med b
< a < b a mindre end b
<= a <= b a mindre end el. lig med b
== a == b a er lig med (identisk med) b
!= a != b a forskellig fra b

3.9.7. Gode råd om programmering