高收录域名 有收录的域名,有历史建站记录域名,搜狗pr域名,搜狗权重域名,搜狗权重域名,高收录域名,百度权重域名,外链反链域名,景德镇网站建设

Java中没有采用goto原因

自从有了编程语言就有了goto,实际上,在汇编语言时代,goto是程序流程控制的雏形:如果条件A,则跳转到这里,否则跳转到那里。编译最终生成的都是汇编代码。所以如果你读过这种代码的话,你会看到程序里充斥这跳转,Java编译器会产生它自己的汇编代码,但是这种代码是在Java虚拟机上运行而不是直接在cpu硬件上运行。

Goto则是源代码级别上的跳转,而这才是给它带来坏名声的真正原因。如果程序总是从这里跳到那里,那么是不是有什么办法能重新整理代码让它不要那么跳呢?其实碰到这种情况,中庸之道才是最可取。问题不在于用没用goto,而在于是不是滥用了goto;在一些极为特殊的情况下,实际上goto是最好的流程控制语句。

尽管goto是Java的保留词,但它并没把它做进去;Java没有goto。但是有了break和continue这两个关键词,它确实能做出一些类似跳转的效果。这不是跳转,实际上这还是一种跳出循环的方法。之所以会把它同togo相提并论,是因为它们使用了相同的机制;lable标签。在Java里,唯一能放标签的地方,就是循环语句的外面。而且诶必须直接放——在循环语句和标签之间不能有任何东西。而这么做的唯一理由就是,你会嵌套多层循环或选择。因为通常情况下break和continue关键词只会中断当前循环,而用了标签之后,它就会退出标签所在的地方了。

2014-08-14 | 发布:zhushican | 分类:建站教程 | 评论:0