fif-Anweisung funktioniert nicht wie erwartet

Rufus.Mueller

Bekanntes Mitglied
Bei folgender if-Anweisung wird immer "Richtig" ausgegeben, auch wenn durch Konsolenausgabe nachgewiesen wird, dass sequenzenGleich den Wert false hat.


Java:
if (sequenzenGleich = false) {
			window.corsiPlatte.rueckmeldung.setText("Falsch!");}
		else 
			{window.corsiPlatte.rueckmeldung.setText("Richtig!");}
		
		window.corsiPlatte.rueckmeldung.setVisible(true);
		return bestanden;  //Das ist evtl. noch zu ändern
 
M

Marcinek

Gast
Unmöglich

und Ohne zu sehen, wie
Code:
sequenzenGleich
geändert wird, kann man auch nicht mehr dazu sagen.
 

Rufus.Mueller

Bekanntes Mitglied
Das war das Problem, jetzt geht es. Komisch das Eclipse nicht meckert bei einer Anweisung if false{...} . Die dürfte ja nie erfüllt werden, so wie if (true) {...} immer erfüllt sein müsste.
 
S

Spacerat

Gast
Also bei den richtigen Einstellungen meckert Eclipse da schon. Bei "Java->Compiler->Errors/Warnings" kann man in der Kathegorie "Potentielle Programmierfehler" auch für "Dead Code" WARN, ERROR oder IGNORE einstellen.
 

Hobbes

Aktives Mitglied
@Spacerat

das dachte ich auch. Aber im Fall des Threaderstellers wird keine Warnung ausgegeben (siehe Screenshot; die Warnung bezieht sich darauf, dass auf die Variable nicht lesend zugegriffen wird)
 

Anhänge

  • screenshot.png
    screenshot.png
    11,7 KB · Aufrufe: 41

muckelzwerg

Bekanntes Mitglied
Das mit der Warnung ist so eine Sache. Rein formal ist (sequenzGleich = false) eine Zuweisungsoperation. Und die wird automatisch als "true" evaluiert, was letztlich nichts anderes bedeutet als "Zuweisung wurde durchgeführt".

Rufus es gibt da einen kleinen Trick. Wenn Du mit Konstanten vergleichst, gewöhn Dir an sie nach vorne zu schreiben.
if( false == sequenzGleich ) wird dann zu if( false = sequenzGleich ) wenn man nicht aufpasst und da bekommt man dann Gemecker.


Edit: musiKk hats weiter unten angesprochen. Seqenzgleich = false wird natürlich nicht zu "true" evaluiert, sondern zu "false".
Das gibt für die Bedingungen dann if( false ) ...
 
Zuletzt bearbeitet:
S

Spacerat

Gast
...es gibt da einen kleinen Trick. Wenn Du mit Konstanten vergleichst, gewöhn Dir an sie nach vorne zu schreiben.
if( false == sequenzGleich ) wird dann zu if( false = sequenzGleich ) wenn man nicht aufpasst und da bekommt man dann Gemecker.
Na das ja mal'n Tip. Hab mich schon gewundert, warum man solche Konstrukte
Code:
if(null == object)
immer öfter sieht ;)
 

musiKk

Top Contributor
Das mit der Warnung ist so eine Sache. Rein formal ist (sequenzGleich = false) eine Zuweisungsoperation. Und die wird automatisch als "true" evaluiert, was letztlich nichts anderes bedeutet als "Zuweisung wurde durchgeführt".

Das ist Quatsch. Das Resultat einer Zuweisung ist der zugewiesene Wert, nicht [c]true[/c]. Darum funktioniert auch sowas wie [c]int i, j; i = j = 1;[/c].
 

muckelzwerg

Bekanntes Mitglied
musiKk, da hast Du recht, aber wenn Du boolesche Werte verwendest gibts doch nur true und false? (vielleicht versteh ich Dich aber auch falsch)
Ich hab aber trotzdem Unsinn geschrieben, weil "sequenzGleich = false" natürlich zu "false" evaluiert wird und nicht zu "true". Bzw. dann zu if( false ) ...

Das Resultat ist doch genaugenommen nicht der zugewiesene Wert, sondern das zugewiesene Objekt.
Bei
Java:
Integer a = 0;
if( (a = 1)  )
...
hat man doch das Objekt und nicht den Wert innerhalb der Klausel.
(Ist zwar irgendwie "egal", aber dennoch.)
 
Zuletzt bearbeitet:

musiKk

Top Contributor
Ich hab aber trotzdem Unsinn geschrieben, weil "sequenzGleich = false" natürlich zu "false" evaluiert wird und nicht zu "true". Bzw. dann zu if( false ) ...

Genau das meine ich. Es klang so, als würde jede Zuweisung den Wert [c]true[/c] ergeben, was nicht stimmt. War wohl einfach ein Verdreher (ist bei boolean eben fatal ;)).

Das Resultat ist doch genaugenommen nicht der zugewiesene Wert, sondern das zugewiesene Objekt.

Bei primitiven Typen der Wert, bei Referenztypen die Referenz (welche auch ein Wert ist). Etwas anderes gibt es in Java nicht. Bei [c]Integer[/c] geschieht natürlich vorher noch Autoboxing.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Warum funktioniert meine if Anweisung nicht? Java Basics - Anfänger-Themen 8
W Erste Schritte Warum funktioniert mein Programm nicht ? ~if Anweisung~ Java Basics - Anfänger-Themen 4
M if Anweisung in JSP funktioniert nicht Java Basics - Anfänger-Themen 2
A if anweisung funktioniert nicht Java Basics - Anfänger-Themen 6
S if-Anweisung funktioniert nicht Java Basics - Anfänger-Themen 7
T If anweisung Java Basics - Anfänger-Themen 5
C Scanner und If-Anweisung in Kombi Java Basics - Anfänger-Themen 3
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
R Wie würde hier die if-Anweisung aussehen? Java Basics - Anfänger-Themen 18
B break Anweisung Java Basics - Anfänger-Themen 13
C Wie kann ich einen User Input mit einer If-Anweisung verbinden? Java Basics - Anfänger-Themen 5
T Not a Statement/Illegal Start of expression bei for Anweisung Java Basics - Anfänger-Themen 6
H Cäsar chiffrierung ohne if-Anweisung Java Basics - Anfänger-Themen 5
D kann man vor dem CSVRecord, replace Anweisung anwenden ? Java Basics - Anfänger-Themen 2
B Erste Schritte if Anweisung mit Wert Übernahme Java Basics - Anfänger-Themen 3
C Anweisung Java Basics - Anfänger-Themen 11
C HashMap - alle keys haben values der letzten put-Anweisung Java Basics - Anfänger-Themen 3
K if Anweisung Java Basics - Anfänger-Themen 3
V Erste Schritte Warum geht meine continue Anweisung nicht? Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert [SQL] SQL als Anweisung mit Spezial-Fall EclipseEclipse Java Basics - Anfänger-Themen 8
J If Anweisung in Schleife einbinden Java Basics - Anfänger-Themen 7
JavaNewbie2.0 Zur Anweisung zurück Java Basics - Anfänger-Themen 13
J Erste Schritte Vorsicht Spaghetti-Code! Wie verschachtel ich meine If-Anweisung??? Java Basics - Anfänger-Themen 4
L if-Anweisung Java Basics - Anfänger-Themen 5
DontFeedTheTroll Erste Schritte Verständnisfrage zu If-Anweisung Java Basics - Anfänger-Themen 7
P Erste Schritte Taschenrechner mit if-else Anweisung Java Basics - Anfänger-Themen 6
Q Variablen If Anweisung, kleiner fehler Java Basics - Anfänger-Themen 8
M Probleme mit Anzeigen von String in GUI und if-Anweisung Java Basics - Anfänger-Themen 9
L If Anweisung mit ArrayList Probleme Java Basics - Anfänger-Themen 6
OlafHD String in einer If-Anweisung Vergleichen Java Basics - Anfänger-Themen 2
N Rekursion mit if-Anweisung Java Basics - Anfänger-Themen 10
P if anweisung Java Basics - Anfänger-Themen 8
L Frage zur while Anweisung Java Basics - Anfänger-Themen 10
F Return-Anweisung Java Basics - Anfänger-Themen 2
B If-anweisung per ja eingabe. Java Basics - Anfänger-Themen 2
C Variablen if Anweisung falsch gesetzt Java Basics - Anfänger-Themen 4
1 Bei if-Anweisung: Syntax error on token Java Basics - Anfänger-Themen 5
A for-Schleife, if-Anweisung Java Basics - Anfänger-Themen 4
A if - Anweisung Java Basics - Anfänger-Themen 6
R Erste Schritte Schleife erzeugen (mit If Anweisung) Java Basics - Anfänger-Themen 3
P Bei Switch-Anweisung wird default-Anweisung angezeigt Java Basics - Anfänger-Themen 4
M if, else Anweisung Java Basics - Anfänger-Themen 3
O This in switch anweisung Java Basics - Anfänger-Themen 5
M Throws Anweisung innerhalb eines Methodenkopfes unklar Java Basics - Anfänger-Themen 4
F Erste Schritte Switch case vs. Verschachtelte If Anweisung Java Basics - Anfänger-Themen 11
M If-Anweisung (Objekt nachdem es gegessen wurde, mehrmals auftauchen lassen) Java Basics - Anfänger-Themen 3
F Fehler in der Swich-Anweisung aber Warum? Java Basics - Anfänger-Themen 4
A if-Anweisung zwischen zwei Punkten Java Basics - Anfänger-Themen 1
T Problem mit IF-Anweisung. Java Basics - Anfänger-Themen 3
B Erste Schritte Addition von double in switch-Anweisung Java Basics - Anfänger-Themen 2
W return-Anweisung gibt nichts aus Java Basics - Anfänger-Themen 5
H Leere Anweisung Java Basics - Anfänger-Themen 24
S Methoden Return Anweisung beendet Methode nicht, stattdessen wird diese zweimal durchlaufen Java Basics - Anfänger-Themen 3
F Reset in der switch Anweisung Java Basics - Anfänger-Themen 3
V Frage zur IF Anweisung Java Basics - Anfänger-Themen 40
Bluedaishi Klassen Thread über if Anweisung starten und von anderer Klassen über Button Beenden Java Basics - Anfänger-Themen 34
H Worauf bezieht sich die erste else-Anweisung Java Basics - Anfänger-Themen 9
H Verständnisfrage für oder Anweisung Java Basics - Anfänger-Themen 8
D Denkfehler in der If-Anweisung Java Basics - Anfänger-Themen 3
K if anweisung Java Basics - Anfänger-Themen 13
M Erste Schritte Break-Anweisung bei if-else Java Basics - Anfänger-Themen 6
T Erste Schritte switch case Anweisung und if else Verzweigungen? Java Basics - Anfänger-Themen 6
S probleme mit der return anweisung Java Basics - Anfänger-Themen 20
K Methoden while Anweisung Java Basics - Anfänger-Themen 81
D Frage zu der import Anweisung in Java Java Basics - Anfänger-Themen 15
K Wann genau brauche ich die Anweisung gleich null? Java Basics - Anfänger-Themen 10
W "switch" Anweisung - Rechenzeichen? Java Basics - Anfänger-Themen 5
I Methoden Wochenkalendar switch anweisung fehlt Java Basics - Anfänger-Themen 4
D Verschachtelte IF-Anweisung Java Basics - Anfänger-Themen 10
C If-Anweisung Java Basics - Anfänger-Themen 22
C Switch Anweisung Frage Java Basics - Anfänger-Themen 8
M Bedingte Anweisung mit Boolean Java Basics - Anfänger-Themen 2
Luk10 Frage zu Switch-Anweisung Java Basics - Anfänger-Themen 11
C Umgebungsvariable import anweisung gibt fehlermeldung Java Basics - Anfänger-Themen 2
A if Anweisung in Schleife Java Basics - Anfänger-Themen 10
C Erste Schritte switch Anweisung geht nicht Java Basics - Anfänger-Themen 3
B IF-Anweisung hat einen Fehler Java Basics - Anfänger-Themen 5
C unklare anweisung Java Basics - Anfänger-Themen 11
F if Anweisung mit Rückgabewert? Java Basics - Anfänger-Themen 4
C Problem bei if-anweisung Java Basics - Anfänger-Themen 8
J print-Anweisung verschluckt Java Basics - Anfänger-Themen 3
K return-Anweisung am Beispiel eines Palindroms Java Basics - Anfänger-Themen 18
F Problem bei if-Anweisung Java Basics - Anfänger-Themen 5
J Switch mit if anweisung kombinieren Java Basics - Anfänger-Themen 2
D Frage zu Exceptions und der import Anweisung Java Basics - Anfänger-Themen 12
R Return Anweisung übergibt Variablen nicht Java Basics - Anfänger-Themen 4
W Problem While-Anweisung Java Basics - Anfänger-Themen 6
S import - Anweisung; Setzen der Classpath Java Basics - Anfänger-Themen 2
E IF Anweisung mit logischen Operatoren Java Basics - Anfänger-Themen 18
B problem mit der return anweisung Java Basics - Anfänger-Themen 11
M '-1' in switch anweisung Java Basics - Anfänger-Themen 2
B import Anweisung Java Basics - Anfänger-Themen 2
A Super-Anweisung in abstrakter Klasse Java Basics - Anfänger-Themen 12
T Schleife mit return Anweisung Java Basics - Anfänger-Themen 3
S OOP This anweisung Java Basics - Anfänger-Themen 6
B fehlende return anweisung? Java Basics - Anfänger-Themen 17
A Return Anweisung von Methoden Java Basics - Anfänger-Themen 15
L Verstehe den Wert nicht! If-Anweisung Java Basics - Anfänger-Themen 5
J Was genau davon ist Anweisung, was Deklaration? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben