Erste Schritte Habe Fragen zu der For und While Schleife als auch Inkrement und Dekrement

vram78

Mitglied
Hallo,


Zu der 1. Sache:

Java:
for(int i = 2; i < 10; i = i*i) {

System.out.println(i);

}

In meiner Aufgabenstellung steht die Frage, wie oft die Schleife durchlaufen wird.

Ich hab es mir halt so gedacht: Zuerst wird eine Variable i mit dem Wert 2 erstellt. Und dann die Bedingung der Schleife, also falls i kleiner als 10 sein sollte führe die Schleife aus. Und dann im 1. Durchlauf der Schleife wird erstmal 2 ausgegeben. Dann bekommt i einen neuen Wert zugewiesen (i*i = 4 ) also 2 + 4 = 6

Dann wird 6 ausgegeben . (Der 2. Durchlauf)

Der neue Wert der Variable i beträgt also 6 .
Die Bedingung war, führe die Schleife aus, falls i (also 6) kleiner als 10 ist.

Also wird sie ein drittes mal durchgeführt.

i*i also 6*6 wären 12 , jedoch gibt sie keine 12 aus. Nur 2 und 6


Also insgesamt 2 Durchläufe.

Habe ich das richtig verstanden?
-----------------------------------------------------------


Die nächste Sache das mich irritiert hat:


Java:
int x = 1;

while(x > 0) {
System.out.println(x);
if(x == 4) {
break;
}
x++
}

Also zuerst wird ja geprüft, ob x größer als die Zahl 0 ist. Dies ist der Fall, also wird die Schleide durchgeführt.

.. den rest kapiere ich einfach nicht.

Ich weiß nicht, in welcher Reihenfolge die ganzen Sachen ausgeführt werden...

Bsp steht system.out.print VOR der if-Anweisung.

Und warum steht x++ ganz unten?! Das müsste doch ganz oben stehen. Wie gesagt, ich weiß einfach nicht, in welcher Reihenfolge alles geprüft wird. Vielleicht könnte mir ja da einer helfen.




Die nächste Sache


Code:
for(int x = 6; x > 0; x++) {

}

Was genau hat es mit dem x++ auf sich? Also wie genau nennt man das? Inkrement oder Dekrement?


Dann habe ich noch gesehen, dass man es auch anders schreiben kann also ++x

Wo sind da die Unterschiede?

Das gleiche eben für x-- oder --x



Bin für jede Hilfe dankbar ^^



Mfg
 
Was genau hat es mit dem x++ auf sich? Also wie genau nennt man das? Inkrement oder Dekrement?
Inkrement.
++x erhöht zuerst die Variable und verwendet sie dann.
x++ verwendet zuerst die Variable und erhöht sie dann.
Dies hier
Java:
public class IncrementTest {
    public static void main(String[] args){
        int x = 5;
        System.out.println(x++);
        System.out.println(x);
        System.out.println(++x);
    }
}
Gibt folgendes aus:
5
6
7
Beim ersten sysout wird die variable zuerst ausgegeben und dann inkrementiert.
Beim zweiten sysout wird einfach der neue (inkrementioerte) Wert der variablen ausgegeben.
Beim dritten sysout wird die Variable erst inkrementiert und dann wird der inkrementierte Wert ausgegeben.
edit: zu langsam.
 
Was genau hat es mit dem x++ auf sich? Also wie genau nennt man das? Inkrement oder Dekrement?

Inkrement wird als doppeltes-plus (++) und Dekrement mit Doppel-Minus(--) dargestellt. Was aber noch unterteilt wird in Präfix und Postfix.

Diese Variante wird als Postfix bezeichnet.
Code:
i++ /*entspricht*/  i = i + 1
i--  /*entspricht*/ i -1

Beim Präfix, kommt erst die Operation und dann die Variable
Code:
++i /*entspricht*/  i = i + 1
--i  /*entspricht*/ i -1

Der Unterschied ist zwischen den beiden (Präfix, Postfix) ist die Reihenfolge der Auswertung.
Bsp. Postfix:
Code:
int i = 2;
int j = 4;
System.out.print(i++ * j);
1. Multipliziere i * j
2. erhöhe i und j um ein
Ausgabe = 8

Bsp. Präfix
Code:
int i = 2;
int j = 4;
System.out.print(--i * j);
1. erhöhe i um eins
2. Multipliziere i * j
Ausgabe = 12

Ich hoffe, ich habe dich jetzt nicht ganz verwirrt.
Dein "x++" ist ein Inkrement
 

Zurück
Oben