one(); label: two(); if(three()) { goto label; } four(); => int x=0; do { x=0; switch(x) { case 1: one(); case 2: two(); case 3: if(three()) { x = 2; break; //breaks the *switch* } case 4: four(); } } while(x != 0);