User Tools

Site Tools


linuxbog:java:java-basal-prg-appendiks
Linux - Friheden til at programmere i Java: Version 0.7.20040516 - 2020-12-31
forrige Kapitel 3. Basal programmering næste

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.

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).

  • Navnet kan bestå af A-Å, a-å, 0-9, $ og _
  • Det må ikke starte med et tal. Det kan have en vilkårlig længde.
  • Lovlige navne: peter, Peter, $antal, var2, J2EE, dette_er_en_test
  • Ulovlige navne: 7eleven, dette-er-en-test, peter#

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.

  • fra byte til short, int, long, float eller double
  • fra short til int, long, float eller double
  • fra int til long, float eller double
  • fra long til float eller double
  • fra float til double.

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

  • fra double til float, long, int, short, char eller byte
  • fra float til long, int, short, char eller byte
  • fra long til int, short, char eller byte
  • fra int til short, char eller byte
  • fra short til char eller byte
  • fra byte til char
  • fra char til short eller byte.

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

  • Gennemtænk problemstillingen, inden du sætter dig til computeren.
  • Formulér problemet eller formålet med programmet.
  • Overvej mulige løsningsstrategier. De fleste problemer kan løses på mere end én måde.
  • Lav en skitse til programmet i pseudokode (på papiret med danske ord). Du kan også tegne flowdiagrammer (der beskriver rækkefølgen tingene sker i).
  • Det er ikke altid, man kan tænke hele programmet igennem på forhånd. Ved mere komplicerede programmer må man skifte mellem kodning og refleksion over koden.
  • Når du sidder ved computeren, så skriv ganske få linjer ad gangen, og afprøv. På den måde er det ofte lettere at se problemet, hvis programmet ikke virker.
  • Gør flittigt brug af System.out.println(…) til at kontrollere, om programmet gør som forventet.
  • Lær en standardiseret indrykning fra starten og følg den stringent (Se afsnitAfsnit 3.4).

forrige hjem næste
Opgaver op Objekter
linuxbog/java/java-basal-prg-appendiks.txt · Last modified: by 127.0.0.1

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

Brug af AI : Al tekst kán være uddrag af AI genereret tekst og kan være fejlbehæftet.
AI kan lave fejl og det kan mennesker også, men al tekst er gennemgået af et menneske for fejl, og personlig bias kan være tilføjet.