Java 对 c 的 传承 “goto”


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

  goto的经典使用方法:

  1:statement1;

  2:statement_label_for_section2:

  3:statement2;

  4:goto statement_label_for_section2;

  可以看出 2:statement_label_for_section2: 为一代码片段(Section)的开始标记。

  Java语言中goto是保留关键字,没有goto语句,也没有任何使用goto关键字的地方。

  Java中也可在特定情况下,通过特定的手段,来实现goto的功能。显然Java不愿意开发者随意跳转程序。下面解释两个特定:

  特定情况:只有在循环体内,比如for、while语句(含do...while语句)中。

  特定手段:语句标签和循环控制关键字break、continue,语法格式是:break/continue 语句标签。

  continue的用法与break的用法是一样的。

  Java语言中还有很多没有广泛应用的小点子。

  switch语句

  switch语句是一个条件选择语句,这个语句有“goto”的味道,但是限制也很多,因此,实际中使用较少。

  switch语句的结构如下:

  switch(intvar){

  case intval: 语句代码;break;

  case intval: 语句代码;break;

  case intval: 语句代码;break;

  case intval: 语句代码;break;

  default:

  语句代码;

  }

  switch(intval){...}语句中,小括号中intvar是一个整数条件因子变量,这个变量只能为:byte、char、short、int和enum(枚举类型)几种类型,本质上都是整形数字。intval是匹配的条件因子值,当匹配时,执行其下的语句。其中所有的break语句都是可选的。当执行了break语句后,就跳出整个switch语句,否则,还会继续往下匹配别的条件。当intvar不能匹配所有的给定条件值时候,就执行default语句,如果没有default语句,则跳出switch语句。

相关内容