Henrik, for my edification is this the correct answer? Please don't roll your eyes too far if this is too much of a NOOB question.
Don't worry about any eyes rolling, this type of thing comes up quite often and hopefully we all learn from it.

All four lines obviously compares the value stored in the variable SWITCH with whatever value is on the right side of the equal sign. But out of the four lines, only the first one would make any difference compared to other ones when put into a program. The other Three would execute exactly the same because they all compare SWTICH to the a value of 49 (while the first line compares SWITCH to a value of 1).

1 is simply the value of 1
"1" however is the ASCII character 1 (which happens to correspond to the value 49 expressed in decimal notation).
49 is the ASCII code, expressed in decimal notation, for ASCII character "1"
$30 is the hexadecimal representation of the decimal value 30 which is the ASCII code for character we know as "1"
%00110001 is the binary representation of the decimal value 30 which is the ASCII code for the character we know as "1"

If, instead of camparing SWITCH to something you'd assign values to it:
Code:
SWITCH = 1
SWITCH = "1"
SWITCH = 49
SWITCH = $30
SWITCH = %00110001
Only the first line is different, the other four lines all does exactly the same thing - it's just different ways of expressing, or interpreting, the same thing.

/Henrik.