zoukankan      html  css  js  c++  java
  • java中goto语句!

    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 保留了

  • 相关阅读:
    mysql数据库的test类型
    jvm虚拟机分享课笔记
    内存模型中没有gc的是哪个
    jvm内存模型中-栈,方法区,程序计数器是线程安全的
    Random.nextInt()替换Math.random()
    异常抛出注意点
    缓存好文章
    java 实现serialVersionUID
    什么叫反向代理什么叫正向代理
    mysql count与sum的区别
  • 原文地址:https://www.cnblogs.com/yangzhi/p/3576622.html
Copyright © 2011-2022 走看看