Java冷门用法,类似goto语句-创新互联

goto语句,又被称为无条件转移语句。

创新互联公司主营二道江网站建设的网络公司,主营网站建设方案,成都app软件开发公司,二道江h5成都小程序开发搭建,二道江网站营销推广欢迎二道江等地区企业咨询

1

goto 语句标号;

其中语句标号是按标识符规定书写的符号,放在某一语句行的前面,标号后加半角冒号“:”。语句标号起标识语句的作用,与goto句配合使用。如:

1

2

3

label: i++;

loop: while(x<7);

goto loop;

C语言不限制程序中使用标号的次数,但各标号不得重名。goto 语句的语义是改变程序流向, 转去执行语句标号所标识的语句。

goto 语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。

但是,在结构化程序设计中一般不主张使用 goto 语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。

在Java语言中,是保留了goto语句的,但是没有对应的跳转功能,不过也有可以实现类似goto语句的功能,

continue/break :lable

其使用匹配类似于{ }的匹配,如图:

在标签名一样的情况下,跳转到与之相近的,代码顺序在此之前的标签位置,但其并不是为了实现goto语句,而是为了在多重嵌套的情况下,更好的跳出循环到需要的一层循环。

而且标签只能在for循环,while,do...while循环和if语句之前,在对应的地方使用contiue或break加:加标签的方式进行跳转。

一下是其他语言的goto语言的使用,可以稍作了解(一下来源于百度)

C# 语言

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

usingSystem;

usingstaticSystem.Console;

classProgram

{

publicstaticInt32 Main(String[]args){ 

 intn = 0; 

 WriteLine("input a string :\n"); 

 judge: if(Read()!= '\r') { 

     n++; 

     gotojudge; 

 } 

 WriteLine("{0}", n); 

 return0; 

} 

}

C语言

统计从键盘输入一行字符的个数。

1

2

3

4

5

6

7

8

9

10

#include

intn=0;

intmain(void) {

printf("input a string: ");

judge: if(getchar()!='\n') {

n++;

gotojudge;

}

printf("output: %d\n",n);

}

例如输入:abcdefghijklmnopqrstuvwxyz

然后回车Enter

输出:26

本例用if语句和goto语句构成循环结构。当输入字符不为'\n'时即执行n++进行计数。

然后转移至if语句循环执行,直至输入字符为'\n'才停止循环。

汇编语言

goto语句与汇编语言里面的jmp指令相同,(无条件转移)

1

1+2+3........+8+9+10

NASM描述:

1

2

3

4

5

6

7

8

9

10

mov ax,1

mov bx,0

start:add bx,ax

inc ax

cmp ax,11;比较指令

jzend ;零转移

jmp start

end:

;

;start: end:是标号

Pascal

1

格式 goto<标号>;

其中标号需要申请,在程序开头写label<标号1>,<标号2>,……;

其中,标号必须为四位以内的正整数。

在该段落内还需要有<标号>:语句 表示将要转向的方向。

delphi

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

//Goto语句用在跳转行号, 可以跳转到当前结构层内任意位置.

//必须在声明处用label关键字声明行号.

//由于Goto语句会破坏程序的结构, 不推荐使用.

var

a,b: Integer;

label

X,Y;

begin

if a >b then

goto X

else

goto Y;

X:

WriteLn('a >b');

Y:

WriteLn('b >a');

end;

批处理

使用冒号标记

1

2

:start

goto start

按键精灵

使用rem做标记,可以用中文

rem 开始

goto 开始

VBA

使用冒号做标记,但是跟批处理的不一样,冒号在后面

1

2

start:

goto start

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


名称栏目:Java冷门用法,类似goto语句-创新互联
分享链接:http://azwzsj.com/article/hojds.html