| Linux - Friheden til at programmere i Java: Version 0.7.20040516 - 2020-12-31 | ||
|---|---|---|
| forrige | Kapitel 3. Basal programmering | næste |
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.
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.
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.
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.
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.
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 !
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 | |||