「java有没有goto」java有没有全局变量

博主:adminadmin 2023-01-20 20:27:10 235

今天给各位分享java有没有goto的知识,其中也会对java有没有全局变量进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java和c语言

java从根本上说是c之后的一种改进语言,纯面向对象的一种编程语言(当然比起Ruby还是差一点),有了C语言的基础固然对学习java有帮助,因为在某种程度上java语言和C语言是比较接近的。但是如果没有学习过C语言也完全没有问题,这两者并不存在依赖关系,直接学习java语言是完全可以的。我本然便是如此。

楼主如果没有任何基础,我推荐您选择一本叫做java学习笔记的书,林信良编著的,对于初学者应该是不错的选择,能够认真看完这本书的内容,通过SCJP考试应该不是问题了!

另外,我也收集了一些java和C的不同点供楼主参考:

1. Java没有预处理指令。(如C中的#define , #include , #ifdef等)。C中的常量定义在Java中用static final来取代。

2. Java中没有C中的全局变量。

3. Java中的主类型的size是确定的,而C中主类型的size跟平台相关。

4. Java中没有了指针,它使用了类似的句柄来取代指针,但是Java中不允许对句柄进行加减,没有取地址操作符之类的东东。

5. Java有垃圾收集机制,不需要自己释放空间。

6. Java没有goto语句。Java在C提供的控制语句基础上增加了异常处理和标签break和continue语句。这些可以替代goto的作用。

7. C要求一个方法或块中使用的所有局部变量的定义在该方法或块的最开始处定义,而Java允许这些定义在方法或块的任意地方出现。

8. Java不要求在调用一个函数以前已经定义了该函数,可以在调用点后面定义。而C有这个要求。

9. Java不支持C中的strut 和 union类型。Java支持方法重载。

10. Java不支持C中的enum关键字。

11. Java不支持C中的bitfields能力。

12. Java不支持C的typedef。

13. Java不支持C的方法指针。

14. Java不支持C的可变参数表。

希望您满意!

java里面goto怎么用

或许你已经听过goto语句之争,也知道在Java中goto仍然是一个保留的keyword,但不允许使用。先来看看goto的经典使用方法:

1:statement1;

2:statement_label_for_section2:

3:statement2;

4:goto statement_label_for_section2;

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

Java语言中不允许使用goto,但可以使用像 2:statement_label_for_section2: 一样的代码片段标记作为 break/continue的跳转目标。

相关标准文件请参见:Java Language Spec. 14.7 Labeled Statements

应用

嵌套循环中,我有时会需要从内循环中直接跳到外循环。用Labeled Statements就可以方便实现。

1: for(int I1 = 0; I1 10; I1++) {

2: loop1:

3: for(int I2 = 0; I2 20; I1++) {

4: break loop1;

5: }

6: }

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

Java语言中还有很多没有广泛应用的小点子。请参见:Java Language Spec.

Blocks

Java Language Spec. 14.2 Blocks

或许你跟我一样都是个懒鬼。特别在Test Case 代码当中,我经常需要在同一Method中定义一大堆的对象,这些对象的操作大者是大同小异的,你应该知道我在想什么了:CopyPast。而为每个对象都起一个不同的名字是件痛苦的事。同时这些对象往往只是短命鬼。

1:import java.util.ArrayList;

2:import java.util.Collection;

3:

4:public class T2 {

5:

6: public static void main(String[] args) {

7: {

8: Collection c = new ArrayList();

9: c.add( "1" );

10: c.clear();

11: }

12: {

13: Collection c = new ArrayList();

14: c.add( "2" );

15: c.clear();

16: }

17: }

18:

19:}

java支持goto语句吗?

准确来说,java中没有goto这样的语句,当然即使在c中也不推荐使用。

在java中可以找到实现类似功能的方法,该方法仅限于循环嵌套跳转到外层循环的情况。例如你可以在外层循环上使用lablename:(lablename是自定义标签名)的方式标注,在内循环中,可以使用break lablename;或者continue lablename跳转到外循环上。这样就可以模拟出类似goto语句的功能。

java中类似于C语言的goto无条件转向语句的语法是什么?

Java不存在goto语句,但是已经用”类名.方法“的形式进行方法调用。

解释:goto语句作为java的保留字段,但是没有实际的应用的。goto语句实际上是C语言的范畴,用来定义指针跳转用的,java中通过”类名.方法“的形式进行的方法调用,不在用goto语句进行实现,这个是java的一大改进。

JAVA中实现goto语句功能 :

使用方法如下:

1 label0:

2 for (int k = 0; k 10; k++) {

3 ..........

4 label1:

5 for (int j = 0; j 10; j++) {

6 ................

7 break label0;

8 }

9 ...........

10 label2:

11 for (int kk = 0; kk 10; kk++) {

12 ..............

13 break label0;

14 }

15 }

16 System.out.println("here");

将需要跳转的到的循环开始处使用lablename:的方式标注(lablename是自定义标签名)

例如,第1行代码所示.在循环体内,可以使用break lablename;或者continue lablename跳转到该处第1行代码的地方,第7行代码执行后,将跳转到第1行代码处.

break 和continue的区别就是,break跳到lablename处后,接下来是执行该lablename所代表的循环之后的语句,例如第16行代码;而 continue则是将循环记数加1或者减1继续执行lablename所代表的循环,直到条件不满足或遇到return语句为止.

这样我们就可以在循环中任何位置跳转到父循环外去,无论嵌套多深.

注意:

1. lablename标签名和所代表的标签之前不能有任何其他的语句,例如第1行和第2行之间不能有其他的任何语句出现,否则编译不通过;

2.该跳转只能跳转到祖先级循环,同级循环之间不能跳转,例如第13行不能跳转到第4行

3.虽然该跳转在一定程度上方便了编程,不过最好尽量避免,因为它和goto一样在一定程度上破坏了结构化编程的特点。

更详细的例子可参考如下链接:

JAVA中有没有goto关键字

goto是关键字,不过在java中没有用到,只是保留关键字,在定义变量或类命之类的时候不要用这个

java中有没有goto语句

java确实提供了goto语句,并且它是保留的关键字,但是JVM并没有给它提供任何的实现。或许是java并没打算放开使用这种机制。

不过,我则会采用特殊手段实现类似goto的功用:

import static java.lang.System.out;

class Test{

   public static void main(String[] args) throws Exception {

    int step=1;

    int sum=0;

    

    loop:

     for(;true;){

     if(step=100){

     sum+=step;

     step++;

     continue loop;

     }else break;

     }

    

    out.println("sum="+sum);

 }

}

关于java有没有goto和java有没有全局变量的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。