The statements outside “case” but inside “switch” are never executed. Code may get compiled but those statements would still be unreachable and never execute.
We can think of switch as “goto” statements and jumping directly to those cases. Anything between is ignored.
Hence, a remains 4 and case 4 is executed.