Irgendjemand hier, der in Informatik sehr gut ist (JAVAKARA,IF,WHILE, Logische Verknüpfungen und Schleifen)?

3 Antworten

WHILE ist eine Schleife mit einer Bedingung, die aussagt, ob die Schleife ein weiteres Mal durchlaufen werden soll oder beendet wird. Auf Deutsch: Solange x gilt, mache y.

IF ist eine Entscheidung, ob etwas, basierend auf einer Bedingung, getan werden soll oder nicht. Auf Deutsch: Wenn x gilt, tue y.

Der Unterschied: WHILE macht y solange, wie x gilt. IF macht y genau einmal, falls x gilt.

Eine Bedingung, egal, wie komplex sie aufgebaut ist, kann entweder wahr oder falsch sein. Beispiel: Ich habe 5 Euro. Das kann stimmen (TRUE) oder eben nicht (FALSE). Oder: Variable x hat den Wert 4. Das kann stimmen (TRUE) oder eben nicht (FALSE). Oder Paul ist älter als 10 und sein Vater ist jünger als 50. Auch das kann eben stimmen (TRUE) oder nicht (FALSE).

Jede Bedingung muss sich im Endeffekt zu einem einzigen Wahrheitswert (TRUE oder FALSE) auflösen lassen, sonst ist es keine Bedingung.

Beispiele:

x = 5;
while (x > 0) 
{
  System.out.println("x ist größer als 0");
  x--;
}

x = 5;
if (x == 5)
{
  System.out.println("x ist 5");
}
else
{
  System.out.println("x ist nicht 5");
}
Meine Fragen: Was ist der Unterschied zwischen einem WHILE und einem IF?

while ist eine Schleife ... der Körper wird solange ausgeführt, solange die Bedingung true ist ...

If ist nur ein Block ... auch hier wird er ausgeführt, wenn die Bedingung true ist, aber nur ein einziges Mal !

Wann weiß ich, ob die Bedingung TRUE oder FALSE ist und was genau ist eine Bedingung? Ich verstehe dass mit dem TRUE und FALSE leider gar nicht :(

Du schreibst eine Bedingung hin und wenn diese Wahr ist, wird es halt ausgeführt ...

z.B. x == 5 ist true, wenn x 5 ist, sonst false ...


Anna12365xDxD 
Beitragsersteller
 27.05.2020, 15:02

Aber woher weiß ich, ob die Bedingung true ist? (Tut mir leid, wenn die Frage dumm kommt, aber ich verstehe es wirklich nicht)

0
xxxcyberxxx  27.05.2020, 15:05
@Anna12365xDxD

Es gibt ja nicht "die Bedingung" ... Du kannst da alles mögliche einsetzen.

Am Ende ist die Bedingung ein Boolean und damit nur true (wahr) oder false (false) ...

Das wirst du je nach Bedingung und eventuell gegebenen Werten jeweils selbst sehen müssen...

0
Anna12365xDxD 
Beitragsersteller
 27.05.2020, 15:12

Kann ich dich noch was fragen?

Stell dir das jetzt in einer Tabelle vor:

A _______ B_________ !(A&&B)_______ !A II !B

0---------------- 0 -------------1---------------------------- 1

0---------------- 1----------------1----------------------------- 1

1----------------- 0 --------------------------------1-----------------------------1

1---- 1----- 0------------ 0

Wie genau rechne ich das aus?

0
xxxcyberxxx  27.05.2020, 15:14
@Anna12365xDxD

Nun ja, der Reihe nach ...

z.B. für !(A&&B)

zuerst nimmst du da die Und-Verknüpfung von A und B und negierst das anschließend

Bei !A || !B negierst du jeweils A und B und verknüpfst das mit OR - wenn also eins davon am Anfang falsch war, ist das Ergebnis wahr

0

Hallo,

Der Unterschied zwischen while und if:

While bedeutet auf Deutsch während und if wenn. Wenn ich also eine while Schleife benutze will ich das etwas passiert während eine Bedingung erfüllt ist. Das kann dann in Java etwa so aussehen:

while(zahl1 == 1){

println("test");

}

Dieser code macht, das die ganze Zeit während die Variable zahl1 den Wert 1 hat "test" ausgegeben wird. (Die Variable müsste man natürlich vorher auch anlegen und ihr einen Wert zuordnen)

Das "zahl1" ist hier ein Namen den man beliebig verändern kann.

Der Unterschied zu einer if Schleife ist, dass der Befehl innerhalb der Schleife nicht nur einmal sondern solange ausgeführt wird bis die Zahl1 nicht mehr den Wert 1 hat.

Also:

if bedeuted wenn und die Schleife wird nur einmal ausgeführt wenn die Bedingung erfüllt ist

while bedeutef während und die Schleife wird so lange ausgeführt bis die angegebene Bedingung nicht mehr erfüllt ist

TRUE und FALSE hat etwas mit einer Variable namens boolean zu tun.

TRUE bedeuted wahr und FALSE falsch.

Eine boolean Variable kann keine Zahlenwerte sondern nur TRUE oder FALSE annehmen. Das kann dann so aussehen:

boolean Javaisttoll = true;

boolean Du_wirst_eine_6_schreiben = false;

Diese variablen kann ich dann z.B. in einer if Schleife benutzen:

boolean Javaisttoll = true;

boolean Du_wirst_eine_6_schreiben = false;

if(Javaisttoll = true){

println("das stimmt")

}

Das "Javaisttoll" und "Du_wirst_eine_6_schreiben" sind hier jeweils Namen die man beliebig verändern kann.

Ich hoffe ich konnte dir einigermaßen helfen, sonst findest du auch viel wenn du einfach danach googlest.

Viel Glück Morgen!


regex9  28.05.2020, 04:02
Der Unterschied zu einer if Schleife ist, (...)

(...) das while eine tatsächlich existente Schleife ist, if allerdings nur eine einfache Verzweigung. if-Schleifen gibt es nicht.

Erst durch falsche Bezeichnungen der Elemente kommt es zu Unsicherheiten und Verwirrungen. Daher sollte man von Anfang an mit richtigen Begriffen arbeiten.

In diesem Beispiel:

if(Javaisttoll = true){

wird der Programmfluss übrigens immer in den Rumpf von if hineingehen, da im Kopf eine Zuweisung (kein Vergleich) dafür sorgt, dass der Wert immer true ist.

0
hafermilchkakao  28.05.2020, 16:15
@regex9

Jo hab mich mit den if vertan, ich dachte das man das auch Schleife nennt. Klar das Beispiel ist natürlich stark vereinfacht und sollte nur das true erklären. Das Javaisttoll immer true ist ist mir natürlich bewusst.

0