Unterschied "=" und "=="

Bluexar

Grünschnabel
Hallo Leute,

da Google bei der Suche aus irgendwelchen Gründen das Gleichheitszeichen nicht erkennt, hoffe ich dass mir hier jemand hilft, das zu verstehen.

Und zwar frage ich mich wo der Unterschied zwischen == und = ist.

Wenn ich eine if-Anweisung mache (z.B.: if(i==5)) dann scheint nur == zu funktionieren.

Wenn ich aber eine Schleife mache, und dann zum Beispiel als Bedingung angebe das i <= 5 sein soll, dann funktioniert das doch! Warum muss ich dann da nicht <== schreiben?

Hier ein kurzes Programm um das vielleicht etwas deutlicher zu erklären.

Schon mal vielen Dank im Vorraus!
 

sheel

I love Asm
Hi und Willkommen bei tutorials.de,

Man könnte eher == als die Ausnahme betrachten, statt <=

a<=b kann man ja wörtlich umsetzen als "a kleiner (oder) gleich b"
a>=b größer gleich, a<b kleiner, a>b größer, a!=b nicht gleich...
in dem Sinn waäre = für "gleich" logisch, wie du ja schon sagst.

Das Problem dabei ist, = ist auch eine Wertzuweisung zur Variable, wie a=5
Der Computer kann nicht wissen, ob man jetzt vergleichen oder Zuweisen will,
deshalb muss es da verschiedene Schreibweisen geben.
= ist für die Zuweisung geblieben, und für das Vergleichen hat man eben == genommen.
(Meines Wissens nach) Ohne irgendeinen tieferen Grund, warum es gerade == wurde.

Am Ende ist es alles nur eine kleine Sache zum Auswendiglernen.
Bei anderen Programmiersprachen ist zB := eine Zuweisung und = das Vergleichen,
in Java ist es eben = und ==
 

Bluexar

Grünschnabel
Ah, das macht Sinn! Deshalb muss man also auch nicht bei <= und co. zwei Gleichheitszeichen nehmen, weil hier keine Verwechslungsgefahr besteht.

Danke für die Antwort!