JAVA对比C语言,从入门到精通学习JAVA

本文是一篇对比C语言和JAVA学习的技术贴,作者从自己的技术背景出发,阐述了两种语言的共同点和差异。JAVA以其面向对象、可移植性和安全性等特点与C语言的面向过程特性形成对比。文章提到了JAVA的跨平台能力、内存管理以及与C语言在语法上的区别,包括标识符、关键字、数据类型等方面。同时,还讨论了两者的常量、变量、数组、逻辑运算符和位运算符的异同。最后,作者比较了两者的类、域、方法和全局变量、函数的定义和使用。
摘要由CSDN通过智能技术生成

从本科到研究生毕业,从windos下C编程,到单片机汇编和C编程,到Linux操作系统下C开发,再到光通信算法研究,再到硬件开发,做过的东西很多很杂,有一个特点就是做后一个项目,前一个项目的内容瞬间就会不知道被扔到脑海的那个小角落里,要捡起的时候还要寻摸很久,因此就有了写技术贴的想法,把那些可能遗失在角落的知识整理到网上来,好让自己可以随时观玩,也可以分享给那些同样正在摸索这些知识的小伙伴们,希望大家共同成长。

这篇帖子是我回顾C语言和JAVA学习的一篇技术贴,在C与JAVA的对比中捡起那些基础点滴。

Java和C以及C++的都是高级语言,相比于汇编,或者机器语言的01代码,无疑大大简化了程序员的编程工作,三者很多基础语法结构类似,尤其是JAVA与C++,有一门的基础往往其他几种语言掌握起来会非常容易,抛去与计算机有关的东西,编程语言最后都会归结到算法上来,这是一个基础,同一个功能,三种语言一般都可以实现,只不过难易不同,因此一些招聘要求低的公司,往往会说掌握其中一门编程语言即可。

相比于共同点,掌握JAVA与C的区别才是一个工程师从C转向JAVA或者从JAVA转向C的必修课程。JAVA可以用十一个词来说明它的特点:简单性,面向对象性,分布式,健壮性,安全性,体系结构中立性,可移植性,解释型,高性能,多线程,动态性(具体解释可以参考JAVA白皮书)。从其特点可以看出,实际上JAVA与C最大的区别是C是面向过程的,过程可控;JAVA是面向对象的,忽略过程编写简单功能强大效率较低,这是一个信息量很大的解释,具体可以查找面向对象和面向过程的对比。

JAVA具有更好的可移植性,可以做到跨平台,因为Java是解释型语言,所有代码都会翻译成统一的、与系统无关的bytecode,然后放到JVM上运行;而C是编译式语言,代码要先通过编译器转换成与系统相关的中间代码,然后才能运行。

再一个不同是,Java不支持系统调用,既无法与操作系统进行交互,这是由它跨平台的特点决定的,而C则可以调用系统中的指令,如fork()。这也就是为什么Java中只有线程(Thread)概念而没有进程(Process)概念,而C两者均有。

再者,Java无法对内存进行控制,而C则可以通过指针对内存进行人为分配。还有一点,Java有Gabbage Collection机制,可以自动回收不再使用的空间,而C则要用free()函数释放空间【http://zhidao.baidu.com/link?url=GHSCSIrf21G9rv4Wq8aBvj6TFxhfl3OqAgtg35_yeldSfXFuUVKv2QsoTuEz3-zul02TiMfwa6UwAeKlR3Crba】。

再具体的从语法上来说,JAVA和C还有很大的不同,下面应用网上总结罗列几个【http://blog.csdn.net/easy_gemini/article/details/8226402】:

1、标识符:

C可用的标识符为数字、大小写字母、下划线,不能以数字开头;

Java可用的标识符除了C的三种以外,多一种美元符号($),同样不能以数字开头。

 

2、关键字:

C中的关键字有:

auto   break    case    char   const

continue   default    do    double   else

enum   extern    float    for   goto

if   int    long    register   return

short   signed    sizeof    static   struct

switch   typedef    union    unsigned   void

volatile   while

Java中的关键字有:

abstract   boolean    break    byte   case

catch   char    class    continue   default

do   double    else    extends   false

final   finally    float    for   if

implements    import   instanceof    int    interface

long   native    new    null   package

private   protected    public    return   short

this   throw    throws    transient   true

try   static    super    switch   synchronized

void   volatile    while

 

3、数据类型:

C中的数据类型有:

1)基本类型:整型(基本整型int、短整型short[int]和长整型long [int]以及有符号型[signed]、无符号型unsigned)、字符型[signed/unsigned ]char、浮点型(单精度型float、双精度型double和长双精度long double)、枚举类型

2)构造类型:数组类型、结构体类型、共用体类型

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值