goto語句在java中作為保留字,並沒有實現它。但在其他語言中(c語言),goto是個合法的關鍵字
java中支持的break和continue雖然能實現goto語句的功能但是我個人總結他們的用法大同小異
首先在java中對標號的要求非常嚴格
標號必須在一個循環的前面,意思是這個循環的名字叫outer(假設標號名為outer),並且這一行后面不能有任何語句了;
而break和continue是和循環語句結合使用的,因此實際上語句標簽的使用也是和循環緊密結合的。
語句標簽在被使用的情況,只能定義在循環迭代語句之前,否則編譯出錯
因此帶標號的break、continue 只能在循環體或者選擇體(if等)之中跳轉
而(c語言)goto的用法則比較靈活,(c語言)中的標號可以在任意一個合法語句的前面
因此goto可以在一個函數(c語言)中任意位置跳轉(當然不能違反goto語句的合理用法例如不能再嵌套之間跳轉等)
因此 個人總結
帶標號的break、continue局限於循環體中跳轉
帶標號的goto 可以在整個方法中(c語言函數)跳轉
goto比帶標號的break、continue用法靈活 正因為太靈活了
使程序的邏輯結構變的復雜,流程不夠清晰,程序的可讀性下降
所以java中把goto 保留了