A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 耿渊博 中级黑马   /  2014-3-16 23:50  /  1906 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 耿渊博 于 2014-3-17 08:53 编辑

在编程中好多语言,比如c,basic语言都有goto语句,java中是否有类似的强制跳转语句?

10 个回复

倒序浏览
Java不提供goto语句,它虽然指定goto作为保留字,但不支持它的使用.在Java中goto语句被完全抛弃了,与此同时,Java又扩大了break语句和continue语句的功能,通过使用break和continue,程序流程被允许在多层循环中跳转。

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
java没有goto,continue break是强制跳转的
回复 使用道具 举报
java中goto是保留字,意味将来java中可能用到,但是现在没有用到。continue和break基本上可以满足类似goto的功能。

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
java中没有goto语句,在java中如果想要实现跳转,再循环语句中使用带标签的continue语句和带标签的break语句,这样就可以实现循环跳转的功能。毕老师的视频中有用到过。
回复 使用道具 举报
哦,我看到是不是break可以设置类似goto的标记,使程序直接无条件跳转到标记点吗?
回复 使用道具 举报
哦,明白了  谢谢大家了
回复 使用道具 举报

这个例子也许能帮助你。。。
用于循环中的标号:想跳那个循环就跳那个循环
class OtherDemo
{
        public static void main(String[] args)
        {
                //break
                w:for(int x=0; x<3; x++)
                {
                        for(int y=0; y<4; y++)
                        {
                                System.out.println("x="+x);
                                break w;
                        }                               
                }
回复 使用道具 举报
1014917278 来自手机 中级黑马 2014-3-17 09:31:09
9#
go to语句是有缺陷的,所以在java中被保留了

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
go to 语句强行跳转,其实很危险,一般也不会用

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 240336124 于 2014-3-17 19:57 编辑

把break 当作goto 一种形式来用 break语句除在switch语句和循环中使用之外,它还

能作为goto 语句一种“文明”形式来使用。Java 中没有 goto 语句,因为goto 语句提供

一种改变程序运行流程非结构化方式。这通常使程序难以理解和难于维护。它也阻止某些

编译器优化。但是,有些地方goto 语句对于构造流程控制是有用而且是合法。

    例如,从嵌套很深循环中退出时, goto 语句就很有帮助。因此,Java 定义break 语

句一种扩展形式来处理这种情况。通过使用这种形式break,你可以终止一个或者几个代码

块。这些代码块不必是一个循环或一个switch语句一部分,它们可以是任何块。而且,由

于这种形式break 语句带有标签,你可以明确指定执行从何处重新开始。你将看到,break

带给你是goto 益处,并舍弃goto 语句带来麻烦。

    标签break 语句通用格式如下所示: break label; 这里,标签label 是标识代码块

标签。当这种形式break执行时,控制被传递出指定代码块。被加标签代码块必须包围

break 语句,但是它不需要是直接包围break块。这意味着你可以使用一个加标签break 语

句退出一系列嵌套块。但是你不能使用break 语句将控制传递到不包含break 语句代码块

。 要指定一个代码块,在其开头加一个标签即可。标签(label )可以是任何合法有效

Java 标识符后跟一个冒号。一旦你给一个块加上标签后,你就可以使用这个标签作为

break 语句对象。这样做会使执行在加标签块结尾重新开始。

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马