Friday 9 November 2007

Coder Tidbit 01

Keep coming across things like this at work that make me stop and think for a while so i thought they would be interesting to post up here for others to think about too.


Heres one i came accross today that was causing a strange error in the game:


[code lang="java"]
boolean a = true;
if(a){ System.out.println("HERE1"); } { System.out.println("HERE2"); }
[/code]

Which one is printed? HERE1 or HERE2 or both?


If a = false which is printed?

4 comments:

  1. both will be printed because the first scope ( { ... } ) is the only one affected by the if statement. the second one is just a standalone block. if a was false, only HERE2 would be printed.

    :-)

    ReplyDelete
  2. Correctomondo joel, you win the prize... if there was a prize :P

    ReplyDelete
  3. Hello,

    You missed the "else" statement

    ;)

    ReplyDelete