请问Java和C有些什么不同呢

解决方案 »

  1.   

    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的可变参数表。
      

  2.   

    应该分两步,首先是java和C++的区别,然后是C++和C的区别,这两个在网上很容易搜索到
      

  3.   

    如果从语法方面来说,区别基本没有。
    但在语用方面有很多,以下是一些:
    java不允许独立的全局函数和全局变量出现,必须在某个类中出现
    java没有析构函数,它用垃圾回收机制代替
    java没有对汇编语言的调用
    java没有指针,只有按值调用,但是使用了obj reference,所以对obj的调用效果是引用调用但是java运行在jvm上,与平台无关
    java对网络支持的很好,例如rmi,servelt,jsp,jndi等
    java对异常的处理使用try和catch,finally总的说来,java除了在实时性和针对系统底层两方面不如c,其他方面都是c的改进。
      

  4.   

    6. Java没有goto语句。Java在C提供的控制语句基础上增加了异常处理和标签break和continue语句。这些可以替代goto的作用
    回复人: shipeng_xie(上弦月) ( ) 信誉:100 这位老兄的上句话说的不太对吧,java中有goto但不提倡用几乎是没人用
      

  5.   

    wulinbazhu(农村小伙) 兄弟 我可以明确的告诉你Java中没有goto语句的
    你可以去看core java 的第一卷(基础篇)。
      

  6.   

    最本质区别:java是面向对象开发,C是面向过程开发.
    java面向网络应用功能强大,使用jsp/servlet很容易进行web开发
    操作平台无关性.Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意的处理器上运行。这些字节码指令对应于Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。
    多线程
    分布性开发(EJB,RMI)另外还有:
    不再有全局变量
    不再有#include 和#define 等预处理功能
    不再有structure、union及typedef等
    不再有函数、不再有指针、不再有多重继承
    不再有goto语句
    不再有操作符重载(Operatior Overloading)
    取消自动类型转换,要求强制转换
    自动进行内存管理
      

  7.   

    6. Java没有goto语句。Java在C提供的控制语句基础上增加了异常处理和标签break和continue语句。这些可以替代goto的作用
    -----------------------------------------------------------------------------------------
    java中,goto为保留关键字,但不能使用,只能看 ^_^标签break 和 continue 语句,在使用上受很大的限制,没有goto灵活,所以说它可以替代goto的作用真是大话,java中这个东东很恶心的,土的一塌糊涂。
      

  8.   

    你可以用break实现某种意义上的goto
      

  9.   

    java有很多优秀的设计模式 c没有