为什么我需要在 switch 语句中使用 break in android studio 才能使程序正常运行?

Why I need to use break in android studio in a switch statement in order for the program to work properly?

代码在这里:

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

Button push_me,secondButton;
TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textView = findViewById(R.id.textView);
    push_me = findViewById(R.id.push_me);
    secondButton = findViewById(R.id.secondButton);
    push_me.setOnClickListener(this);
    secondButton.setOnClickListener(this);
}
@Override
public void onClick(View v) {
    switch (v.getId())
    {
        case R.id.push_me:
            textView.setText(R.string.Someone_pushed);
            break;
        case R.id.secondButton:
            textView.setText(R.string.hello_android);
            break;
    }
}

如果我去掉中断(程序中的两个中断),程序将无法正常运行,但我不明白为什么。

从适用的“case”标签开始,您的代码将一直执行到 switch 块结束(使用 }),或者直到它剩下 break(或者,取决于在上下文中,returnthrowcontinue,可能是我现在忘记的其他一些事情)。这就是它在 Java(以及许多其他受 C 影响的编程语言)中的工作方式。

这种行为有点类似于标签和 goto 指令的行为,后者早于“现代”结构化编程。由于那些已经完全不再使用,除非你必须手工编写汇编,这种行为对于今天的大多数程序员来说并不直观,但它作为那些奇怪的传统之一继续存在,类似于 80 个字符的行限制回到穿孔卡片。