Кстати говоря, if ровно так же выражаем через switch
Насколько я понимаю, весь смысл "изменчивости кода" в том, что если при выполнении одного 
if изменится значение переменной, стоящей в следующих 
if, то от этого зависит выполнение или невыполнение соответствующего кода. В случае 
switch это не так: после 
break происходит выход из 
switch и все остальные 
case игнорируются независимо ни от чего. Впрочем, можно убрать 
break...
На самом деле я комментировал не изменчивость, которую так никто тут и не удосужился определить явно, и потому все трактуют по-своему и даже как будто не замечают, что понимание других отличается. (Или показалось.)
прочем, можно убрать break...
Да, тут, честно говоря, я пропустил, что 
a в исходном примере может изменяться внутри 
if.