webForumDet fria alternativet

Förklara kod plz

Programmering

2 svar · 325 visningar · startad av Nidjer

Medlem sedan nov. 200126 inlägg
Frågan#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);
	}
}
Medlem 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);
	}
}
Medlem 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.

256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)