Permalänk
Medlem

[hjälp] Variabler och java.

Hej, behöver lite hjälp med variabler och java.

Nämligen med vad som är skillnaden på Deklarera, initiera och tilldela.

Som jag har förstått det så tilldelar jag en variablel när jag ger den ett värde?

t.ex

a=5;

där har jag gjort en tilldelning.

och initiera är det man gör när man skapar variablen
t.ex
int a = 5;

där har jag intierat variablen.

Men vad gör man när man deklarerar en variabel?
och har jag rätt på de andra två orden eller är jag ute och cyklar?

Visa signatur

Letar du bostad i Stockholm?
Snabbostad.se

Permalänk
Medlem
Skrivet av folke123:

Hej, behöver lite hjälp med variabler och java.

Nämligen med vad som är skillnaden på Deklarera, initiera och tilldela.

Som jag har förstått det så tilldelar jag en variablel när jag ger den ett värde?

t.ex

a=5;

där har jag gjort en tilldelning.

och initiera är det man gör när man skapar variablen
t.ex
int a = 5;

där har jag intierat variablen.

Men vad gör man när man deklarerar en variabel?
och har jag rätt på de andra två orden eller är jag ute och cyklar?

Du är inte direkt ute och cyklar. En initiering är precis som du säger när man skapar variabeln, tex

String s; eller
int i;

När du deklarerar en variabel TILLDELAR du den ett värde, tex

s = "Sweclockers.com är framtiden, typ"
i = '~'

Tilldela = deklarera

Du kan ju även göra såhär, bara som tips:

String s = "Sweclockers.com whatever"

Har börjat läsa java jag med så jag är bara nybörjare. Lycka till!

Permalänk
Hedersmedlem

Initiering är tilldelning vid deklarering.

Permalänk
Medlem

Tack så mycket för svaren
en annan liten fråga:

Om jag har ett földeschema, och jag har en loop med, ska den betecknas med en romb eller en rektangel?

Visa signatur

Letar du bostad i Stockholm?
Snabbostad.se

Permalänk
Medlem
Skrivet av Zorobay:

Tilldela = deklarera

Det stämmer väl inte? Att tilldela ett värde går att göra på variabler efter att de har deklarerats. Själva deklarationen är det som anger variabelnamn och reserverar minnesutrymme -- tilldelningen kan komma senare... eller kanske har jag fel..

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

Det stämmer väl inte? Att tilldela ett värde går att göra på variabler efter att de har deklarerats. Själva deklarationen är det som anger variabelnamn och reserverar minnesutrymme -- tilldelningen kan komma senare... eller kanske har jag fel..

Nej, du har rätt.

Elgots fina mening beskriver det precis som det är. Initiering är tilldelning vid deklarering, dvs. att deklarera en variabel görs så här:

String s; int i;

Att tilldela variabeln ett värde görs så här:

s = "Hej"; i = 5;

...och att initiera en variabel, dvs. tilldela den ett värde när man deklarerar den görs så här:

Sting s = "Hej"; int i = 5;

Permalänk
Medlem

Initialisering heter det väl?

Och om man ska vara petig, så är:

Citat:

Initiering är tilldelning vid deklarering.

...inte helt sant i Java. Du kan initialisera en variabel efter att du deklararerat den.

Det är i Java förbjudet att använda en variabel som inte är initialiserad, men kompilatorn är smart nog att hitta situationer där risk för detta föreligger. Så en kodsnutt som den nedan kommer inte att kompilera:

String s; // deklarerar s if (foo) // nån boolean s = "foo"; // initialiserar s else if (bar) // en annan boolean s = "bar"; // initialiserar s System.out.println(s); // s är inte initialiserad i alla lägen!

(...såvida inte antingen foo eller bar är deklarerade som final och intialiserad till true. )

Detta gäller lokala variabler. Klassmedlemmar kommer automatiskt att initialiseras när objekt av klassen skapas.

EDIT: Vid närmare eftertanke så kanske inte ovanstående heller är helt rätt, och mer fel än det jag anmärkte på: En möjlig tolkning av Java-specen är att ingen initialisering sker i ovanstående kodsnutt, bara tilldelning. En tilldelning är dock tillräckligt för att bli av med felmeddelandet "variable s might not have been initialized"... vilket ju antyder att första tilldelningen man gör är en initialisering. Oh well.

Permalänk
Medlem

På svenska heter det initiera.
På svengelska heter det initialisera.

Permalänk
Medlem
Skrivet av ChristofferC:

På svenska heter det initiera.
På svengelska heter det initialisera.

har man varit med ett tag så blir det mesta engelska, eller svengelska, ingen som orkar översätta korrekt längre.

Permalänk
Medlem
Skrivet av ChristofferC:

På svenska heter det initiera.
På svengelska heter det initialisera.

Initiera blir på engelska initiate, vilket inte är synonymt med facktermen initialize. Så jag kan inte hålla med. Jag vill hävda att intialisera fungerar utmärkt som svensk fackterm. Jag vill inte heller kalla det "svengelska", eftersom det inte finns ett bättre ord på svenska som beskriver samma sak. Ett låneord, kort och gott.

Permalänk
Hedersmedlem
Skrivet av badboll:

Initiera blir på engelska initiate, vilket inte är synonymt med facktermen initialize. Så jag kan inte hålla med. Jag vill hävda att intialisera fungerar utmärkt som svensk fackterm. Jag vill inte heller kalla det "svengelska", eftersom det inte finns ett bättre ord på svenska som beskriver samma sak. Ett låneord, kort och gott.

Initiera är väl det svenska ord som beskriver samma sak? Inget säger väl att vi måste ha olika ord bara för att något annat språk råkar ha det? SAOL säger:

Citat:

Initiera v. -de *ge impuls till, sätta i gång; införa; inviga ngn i ngt; <data.> förse variabel med startvärde

Permalänk
Medlem
Citat:

... <data.> förse variabel med startvärde

Där ser man, Akademien hade visst bestämt att det skulle vara så. Kan inte säga att jag tycker det var ett särskilt bra beslut. Jag kommer fortsätta använda min svengelska term ändå, eftersom den bättre svarar mot engelskans initialize (som ju som sagt inte är synonymt med initiate).

Permalänk
Hedersmedlem
Skrivet av badboll:

Jag kommer fortsätta använda min svengelska term ändå, eftersom den bättre svarar mot engelskans initialize (som ju som sagt inte är synonymt med initiate).

Men varför hänga upp sig på sådana småsaker; svenskan har helt enkelt ett ord istället för två (och om det inte är nog kan man väl använda en annan synonym)? Är det inte redan tillräckligt många som inte klarar av att skilja på teknik och teknologi?

Permalänk
Medlem
Skrivet av folke123:

Tack så mycket för svaren
en annan liten fråga:

Om jag har ett földeschema, och jag har en loop med, ska den betecknas med en romb eller en rektangel?

En romb är nog det vanligaste. Med en pil tillbaka i flödet. Romb brukar vara "förgrening" dvs, if -else, eller loopvillkor