sentence: this code will always execute if y is anything but 0 though java and c# have the same operators as c , this mistake usually causes a compile error in these languages instead , because the if-condition must be of type boolean , and there is no implicit way to convert from other types ( e.g. numbers ) into boolean s. so unless the variable that is assigned to has type boolean ( or wrapper type boolean ) , there will be a compile error .