I would assume that done is a boolean variable.
The statement you have created is a while loop which will loop checking each time if the conditional evaluates to true. In the case you provided the conditional would be the opposite of the value 'done', due to the '!' not operator.
done = true;
if(done) System.out.println("done == true");
if(!done) System.out.println("evaluated to false and won't prinnt");