ABjp10 Skrevet 29. november 2010 Del Skrevet 29. november 2010 Hei, Jeg holder på å jobbe med eksamen i java, og jeg lurer på om noen har lyst til å hjelpe meg med følgende spørsmål: - Hvorfor skrives tallet 1 ut i kodebiten nedenfor? (Jeg ville egentlig tro at det var tallet 2 som burde skrives ut???) public class Oppg1a { private static int tall =1; public static void main(String[] args){ if (tall>0){ //TEST: System.out.println(tall); // 1 int tall =2; //TEST: System.out.println(tall); // 2 } System.out.println(tall); // 1 }} Lenke til kommentar
JohndoeMAKT Skrevet 29. november 2010 Del Skrevet 29. november 2010 Først blir tall deklarert i klasse-scope, så blir en ny variabel deklarert i funksjons-scope. Den i klasse-scope er fortsatt 1 selv om den i funksjons-scope er 2. Svaret er altså bruken av ordet "INT" på linje 5. Lenke til kommentar
delfin Skrevet 29. november 2010 Del Skrevet 29. november 2010 It's about scope... int tall er deklarert utenfor funksjonen, men inni brackets deklarerer du en ny int tall som settes til 2... den eksisterer ikke utenfor scopet sitt, som er inni brackets. Når du skriver ut "tall" utenfor scopet til din nye variabel, skriver den ut den variabelen den har tilgang til, altså den første "tall" som er det samme som før... Hvis du hadde skrevet "tall = 2" istedenfor "int tall = 2" hadde det blitt skrevet ut 2 Lenke til kommentar
ABjp10 Skrevet 29. november 2010 Forfatter Del Skrevet 29. november 2010 Tusen takk for forklaringer. Jeg henger med :-) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå