Booleans in java

Moderators: jkien, Xilvo

Reageer
Gebruikersavatar
Berichten: 7.390

Booleans in java

Hoi, ik zat nu al een tijdje te denken over de betekenis van de volgende regel Java:

x = x & y;

met x en y boolean.

Kan iemand me er even mee helpen alstublieft? Dat zou weeral een knoop oplossen ;)

alvast bedankt!
"C++ : Where friends have access to your private members." Gavin Russell Baker.

Gebruikersavatar
Berichten: 5.609

Re: Booleans in java

In fysics I trust schreef:Hoi, ik zat nu al een tijdje te denken over de betekenis van de volgende regel Java:

x = x & y;

met x en y boolean.

Kan iemand me er even mee helpen alstublieft? Dat zou weeral een knoop oplossen ;)

alvast bedankt!
sla in x de waarde van (x AND Y) op, indien x al true is, moet y niet meer geevalueerd worden.
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-

Gebruikersavatar
Berichten: 7.390

Re: Booleans in java

Nee, dat is nu net waar mijn verwarring zit. & is een bitwise operator, AND wordt toch voorgesteld door &&?

Of heb ik het totaal verkeerd?
"C++ : Where friends have access to your private members." Gavin Russell Baker.

Gebruikersavatar
Berichten: 5.609

Re: Booleans in java

Nee, dat is nu net waar mijn verwarring zit. & is een bitwise operator, AND wordt toch voorgesteld door &&?
Ook, maar in Java worden booleans ook voorgesteld als 1'en en 0'en, net zoals in C, en de bitwise operator hebben ze dezelfde betekenis gegeven in C als in Java, dus ook voor die booleaanse waarden.

Maar, om syntaxfouten die wel compileren tegen te gaan, is de conversie tussen booleans en hun impliciete waarde niet meer mogelijk in Java. Een grote verbetering.
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-

Berichten: 1.116

Re: Booleans in java

Inderdaad heeft In fysic I trust gelijk. Bitwise operators worden altijd uitgevoerd i.t.t. gewone logical operators.

Code: Selecteer alles

public static boolean sayHello(){

  System.out.println("Hello!);

  return true;

}

public static void main(){

  if(false && sayHello()); # Wordt niet uitgevoerd

  if(false & sayHello()); # Wordt wel uitgevoerd.

}
Vandaar dat men het soms ook wel long-circuit en short-circuit operatoren noemt (bitwise respectievelijk logisch).

Gebruikersavatar
Berichten: 7.390

Re: Booleans in java

EDIT, reeds nieuwe reactie geplaatst

Bedankt!
"C++ : Where friends have access to your private members." Gavin Russell Baker.

Berichten: 1.116

Re: Booleans in java

Maar, om syntaxfouten die wel compileren tegen te gaan, is de conversie tussen booleans en hun impliciete waarde niet meer mogelijk in Java. Een grote verbetering.
Waarom een verbetering? Is naar mijn mening enkel maar nadelig... ;)

Gebruikersavatar
Berichten: 7.390

Re: Booleans in java

Kan je het nog met expliciete cast?

Want ik vond het idd juist handig dat je 'evidente' waarden als 0 en 1 als boolean kan gebruiken...
"C++ : Where friends have access to your private members." Gavin Russell Baker.

Berichten: 1.116

Re: Booleans in java

Kan je het nog met expliciete cast?
Probeer het uit zou ik zeggen...

Code: Selecteer alles

bedrag += (int) booleanValue * 500;

Gebruikersavatar
Berichten: 7.390

Re: Booleans in java

Neen, dat lukt dus niet...
"C++ : Where friends have access to your private members." Gavin Russell Baker.

Gebruikersavatar
Berichten: 5.609

Re: Booleans in java

Want ik vond het idd juist handig dat je 'evidente' waarden als 0 en 1 als boolean kan gebruiken...
Heb je al eens grotere projecten gemaakt in C, op een microprocessor zodat debuggen bijzonder moeizaam is, en na 2 dagen werken gevonden dat er ergens if(x=y) staat i.p.v. if(x==y)?

Wel, tot die tijd stel ik voor dat je meegaat met de algemene consensus op dat gebied ;) Het is een EXTREEM goede maatregel.
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-

Berichten: 1.116

Re: Booleans in java

en na 2 dagen werken gevonden dat er ergens if(x=y) staat i.p.v. if(x==y)?
Ja, al redelijk vaak. En heb jij ook een interpreter en compiler die dat gewoon netjes als warning afgeven? Zodat je daar tenminste vrij snel doorheen kunt scrollen in je IDE?
Wel, tot die tijd stel ik voor dat je meegaat met de algemene consensus op dat gebied
Tot die tijd vermoed ik dat het tijd is om gewoon gebruik te maken van de mogelijkheden die er zijn en gewoon zelf na te blijven denken ;) .

Gebruikersavatar
Berichten: 5.609

Re: Booleans in java

Ja, al redelijk vaak. En heb jij ook een interpreter en compiler die dat gewoon netjes als warning afgeven? Zodat je daar tenminste vrij snel doorheen kunt scrollen in je IDE?
->Microprocessor. Ik ben al blij als ik de standaard IDE en compiler aan de praat krijg. ;)
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-

Berichten: 1.116

Re: Booleans in java

->Microprocessor
Sorry, overheen gelezen. Tja, ik ben blij dat ik niet in die wereld zit. Want ik vermoed dat je mij nu gaat vertellen dat elke fabrikant zijn eigen intepreters en compilers heeft? En die waarschijnlijk gezien de beperkte oplage en de kostenreductie niet van de hoogste kwaliteit zijn. Of heb ik dat mis?

Gebruikersavatar
Berichten: 5.609

Re: Booleans in java

Edit: kleine flater, dat moet uiteraard microcontroller zijn. Microprocessoren is heel iets anders ;) Verder heb ik alleen nog maar met verschillende generaties PIC's moeten werken, waardoor ik altijd bij MPLABS terecht kon. Al heb ik gehoord dat de concurrentie ook niet veel soeps is.
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-

Reageer