っていうか、 if(a = 0) がコンパイルエラーにならないのがそもそも駄目なのよ。
C# 使えばちゃんとエラーになるけど。