If it's not multithreaded, what is
1
| while( (selectedWorld == -1) & (editSelectedWorld == -1) ){} |
supposed to do then?

Unless you mean windows decides to multi-thread things without me knowing it?
Not Windows, but java if you use a Swing/AWT, because the event handling runs on it's own thread, the AWT Event Thread or EDT (
Event Dispatcher Thread)
About the '&', the way i understood it, a binary AND would test both values before continuing where a logical AND && will only test the first one?
A binary AND combines bit-pattern, a logical AND combines boolean expressions. That are different things - don't use the one for the other. A logical AND will not test the second expression if the first one evaluates to false, simply because it doesn't have to - (false AND true) would be false in the end anyway. This is called shortcut evaluation and is a GoodThing (TM). It will however test the second expression, if there is a chance that the whole expression could evaluate to true.