buttonVal won't be a printable character - it's probably 0x00 when not pressed and maybe something like 0x01 when it is. This can't be displayed as text so Java will throw a fit trying. Try this:
Serial.println("...CHECKING : " + (buttonVal)?"True":"False")
The bit on the end there with the ()?():() format is called the ternary operator. It works like this: if buttonVal is evaluated as a boolean - if it's zero, that equates to FALSE, if at least one bit is '1' it will be TRUE. If false, it returns the "False" text (or whatever is after the :) and it will be displayed. If it's anything else, True will be displayed (or whatever is before the :).
Edit: Hmm, well if that's not working let's start whittling away at things I know are wrong with your code. The first one I can see is that I wouldn't just loop over the serial print over and over again: put a delay after the serial print. There's no need to print it every loop and it will really tear up the processor while basically doing nothing. Add a 10ms wait or so after the serial print statement. It may not be the cause of the problem but it's certainly not right. Sometimes multiple issues can gang up and cause multiple problems that look like one big problem instead of several little ones. Best to start removing sources of error and see where that gets you.