Java中没有采用goto原因
自从有了编程语言就有了goto,实际上,在汇编语言时代,goto是程序流程控制的雏形:如果条件A,则跳转到这里,否则跳转到那里。编译器最终生成的都是汇编代码。所以如果你读过这种代码的话,你会看到程序里充斥这跳转,Java编译器会产生它自己的汇编代码,但是这种代码是在Java虚拟机上运行而不是直接在cpu硬件上运行。
Goto则是源代码级别上的跳转,而这才是给它带来坏名声的真正原因。如果程序总是从这里跳到那里,那么是不是有什么办法能重新整理代码让它不要那么跳呢?其实碰到这种情况,中庸之道才是最可取。问题不在于用没用goto,而在于是不是滥用了goto;在一些极为特殊的情况下,实际上goto是最好的流程控制语句。