12
返回列表 发新帖
楼主: huronggui2006

JAVA困惑问题

[复制链接]
论坛徽章:
0
11#
发表于 2007-6-13 09:45 | 只看该作者
最初由 greenflute 发布
[B]goto 是java保留字不假,不过只是为了防止goto被用作变量名/类名而已,同样的问题发生在enum上,搞得好多老代码不兼容,就是一个很明显的疏漏。

不过标签还是支持的,所以,可以定义几个label,然后再代码中continue,break到指定标签,相当于有一定限制的goto了。


  1. public static void main(String[] args) {

  2.   label1:
  3.     for(int i = 0; i < 10; i++){
  4.       System.out.println("i = " + i);
  5.         
  6.       for (int x = 0; x < 10; x++){
  7.         System.out.println("x = " + x);
  8.         continue label1;
  9.       }
  10.     }
  11. }
复制代码
[/B]



学习了...!  上个点错了.汗!

使用道具 举报

回复
论坛徽章:
4
生肖徽章:牛
日期:2007-05-07 05:31:44ERP板块每日发贴之星
日期:2007-05-21 01:02:55设计板块每日发贴之星
日期:2007-05-23 01:04:28会员2007贡献徽章
日期:2007-09-26 18:42:10
12#
发表于 2007-6-13 10:46 | 只看该作者
嗯嗯,标签。

使用道具 举报

回复
论坛徽章:
131
乌索普
日期:2017-09-26 13:06:30马上加薪
日期:2014-11-22 01:34:242014年世界杯参赛球队: 尼日利亚
日期:2014-06-17 15:23:23马上有对象
日期:2014-05-11 19:35:172014年新春福章
日期:2014-04-04 16:16:58马上有对象
日期:2014-03-08 16:50:54马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
13#
发表于 2007-6-13 11:58 | 只看该作者
最初由 greenflute 发布
[B]goto 是java保留字不假,不过只是为了防止goto被用作变量名/类名而已,同样的问题发生在enum上,搞得好多老代码不兼容,就是一个很明显的疏漏。

不过标签还是支持的,所以,可以定义几个label,然后再代码中continue,break到指定标签,相当于有一定限制的goto了。


  1. public static void main(String[] args) {

  2.   label1:
  3.     for(int i = 0; i < 10; i++){
  4.       System.out.println("i = " + i);
  5.         
  6.       for (int x = 0; x < 10; x++){
  7.         System.out.println("x = " + x);
  8.         continue label1;
  9.       }
  10.     }
  11. }
复制代码
[/B]

nice job

使用道具 举报

回复
论坛徽章:
0
14#
发表于 2007-6-13 17:15 | 只看该作者
return 不就跳出函数了?

使用道具 举报

回复
论坛徽章:
131
乌索普
日期:2017-09-26 13:06:30马上加薪
日期:2014-11-22 01:34:242014年世界杯参赛球队: 尼日利亚
日期:2014-06-17 15:23:23马上有对象
日期:2014-05-11 19:35:172014年新春福章
日期:2014-04-04 16:16:58马上有对象
日期:2014-03-08 16:50:54马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
15#
发表于 2007-6-13 21:23 | 只看该作者
他只是说要跳出循环, 没限定不能跳出函数

使用道具 举报

回复
论坛徽章:
3
生肖徽章:猪
日期:2007-05-22 13:44:25授权会员
日期:2007-07-13 11:10:27ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
16#
发表于 2007-6-14 16:06 | 只看该作者
goto在c的时候已经开始用了,但是现在极少被使用,也是不被推荐使用的。引用goto语句对整段程序的结构混乱,所以很早的时候就不大有人用了。

使用道具 举报

回复
论坛徽章:
0
17#
 楼主| 发表于 2007-6-14 22:49 | 只看该作者
谢谢各位的回复,这是我JAVA的面试题之一.
用标签时,当执行到continue lable1加到标签处,它又进入了循环了.这怎么办呢.标签和循环之间不能有其它的语句噻.

使用道具 举报

回复
论坛徽章:
43
ITPUB元老
日期:2007-01-14 09:32:112011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:08开发板块每日发贴之星
日期:2011-08-29 01:01:012012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
18#
发表于 2007-6-15 03:29 | 只看该作者
最初由 huronggui2006 发布
[B]谢谢各位的回复,这是我JAVA的面试题之一.
用标签时,当执行到continue lable1加到标签处,它又进入了循环了.这怎么办呢.标签和循环之间不能有其它的语句噻. [/B]



continue的本意就是跳过本次循环(或者多个循环)的执行体,转入下次循环,要跳出循环要用break,其他语言可以用goto,不过一旦用了goto,也就不局限于跳出循环了。

大多数情况下,break和continue都是可以避免的,带标签的就更不多见(反编译字节码的时候倒是很常见)。所以,应当看一看的思路是否有问题。

使用道具 举报

回复
论坛徽章:
43
ITPUB元老
日期:2007-01-14 09:32:112011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:08开发板块每日发贴之星
日期:2011-08-29 01:01:012012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
19#
发表于 2007-6-15 03:32 | 只看该作者
最初由 菜青虫一 发布
[B]goto在c的时候已经开始用了,但是现在极少被使用,也是不被推荐使用的。引用goto语句对整段程序的结构混乱,所以很早的时候就不大有人用了。 [/B]


http://www.pascal-central.com/ppl/

Other high level languages developed in the early years of the computer were FORTRAN (1957), COBOL (1959), ALGOL (1960), APL (1962), BASIC (1964), C (1972) and Ada (1983), to name a few. One problem with many of the early languages (e.g., FORTRAN and BASIC) was the heavy dependency on the use of "goto" instructions.


不是最早的

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表