webForumDet fria alternativet

Förklara kod plz

2 svar · 323 visningar · startad av Nidjer

NidjerMedlem sedan nov. 200126 inlägg
#1

Tjenare jag är mycket ny på det här med java så skulle gärna vilja ha en ganska bra förklaring på vad denna simpla koden gör

public static void main(String[] args) {
	int N;
	N = 1;
	while (N <= 32) {
		N= 2*N;
		System.out.println(N);
	}
}
sgtpepperMedlem sedan apr. 20007 588 inlägg
#2

Det kan jag göra, men jag kan samtidigt passa på att tipsa dig om Java-forumet, där är det lämpligare att posta Javafrågor ;).

public static void main(String[] args) {
	int N;
	N = 1;
	while (N <= 32) {
		N= 2*N;
		System.out.println(N);
	}
}

Main-metoden är den metod som automatiskt kommer att anropas av din virtuella maskin när du exekverar en klass.

Integern N sätts initialt till 1. Observera dock att variabler i Java skall skrivas med liten begynnelsebokstav, alltså är korrekt namngivning int n;.

Programmet går in i en loop så länge som N är mindre eller lika med 32.

I loopen så sätts N till att vara N*2, dvs N dubblas för varje loop, därefter skrivs N ut på en ny rad i konsollen.

Utskriften kommer alltså att bli:
2*1 = 2
2*2 = 4
2*4 = 8
2*8 = 16
2 * 16 = 32
2 * 32 = 64

Efter 64 så kommer loopen att avbrytas eftersom N är större än 32.

En mer kompakt kod skulle se ut så här:

public static void main(String[] args) {
	for (int n=2; n < 65; n*=2) {
		System.out.println(n);
	}
}
NidjerMedlem sedan nov. 200126 inlägg
#3

Tackar nu fattar jag. Och det blev nog ett misstag att jag posta det här för jag trodde att jag hade postat det i java forumet.

259 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
127 ms — hämta statistik (db)
129 ms — hämta tråd, inlägg och bilagor (db)