cjavac的比较及入门学习书籍总全

上传人:平*** 文档编号:14307301 上传时间:2017-10-29 格式:DOC 页数:7 大小:44.66KB
返回 下载 相关 举报
cjavac的比较及入门学习书籍总全_第1页
第1页 / 共7页
cjavac的比较及入门学习书籍总全_第2页
第2页 / 共7页
cjavac的比较及入门学习书籍总全_第3页
第3页 / 共7页
cjavac的比较及入门学习书籍总全_第4页
第4页 / 共7页
cjavac的比较及入门学习书籍总全_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《cjavac的比较及入门学习书籍总全》由会员分享,可在线阅读,更多相关《cjavac的比较及入门学习书籍总全(7页珍藏版)》请在金锄头文库上搜索。

1、【电脑】在网际网络上的应用程序开发语言你朋友说的应该是第 3 种Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言(以下简称 Java 语言)和 Java 平台的总称。用 Java 实现的 HotJava 浏览器(支持 Java applet)显示了 Java 的魅力:跨平台、动感的 Web、Internet计算。从此,Java 被广泛接受并推动了 Web 的迅速发展,常用的浏览器现在均支持 Java applet。另一方面,Java 技术也不断更新。Java 平台由 Java 虚拟机(Java Virtual Machine)和 Ja

2、va 应用编程接口(Application Programming Interface、简称 API)构成。Java 应用编程接口为 Java 应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个 Java 平台之后, Java 应用程序就可运行。现在 Java 平台已经嵌入了几乎所有的操作系统。这样 Java 程序可以只编译一次,就可以在各种系统中运行。Java 应用编程接口已经从 1.1x 版发展到 1.2 版。目前常用的 Java 平台基于 Java1.4,最近版本为 Java1.6。Java 分为三个体系 JavaSE,JavaEE,Java

3、ME。C 不只能考级! UNIX,WINDOWS 漏洞,单片机。很多地方都用到了 C! C 语言是高级语言的基础,学习计算机语言可以先学 C,但如果以后不用 C 直接学 C+也行,但入门稍微困难点。C 是面向过程编程的,这样往往会导致所谓的单一程序,既所有的功能只能包含在几个(通常是一个)代码模块中。 而 C是面向对象编程(OOP)的,他杜绝了 C 面向过程的缺陷.OOP 常常要使用许多代码模块,每个模块都有特定的功能,而且是孤立的。OOP 提供了非常强大的多样性,大大增强了代码的重用机会! C 语言有一个突出的优点就是适合于多种操作系统 , 如 DOS、UNIX,也适用于多种机型。 当然,C

4、 语言也有自身的不足,比如:C 语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数族下标越界不作检查等。从应用的角度,C 语言比其他高级语言较难掌握。 总之,C 语言既有高级语言的特点,又具有汇编语言的特点;既是一个成功的系统设计语言,有时一个使用的程序设计语言;既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序;是一种受欢迎、应用广泛的程序设计语言。 C+:面向对象的语言.是一门独立的语言;他并不依赖 C 语言.是编程语言中最复杂的一门.而 VC 是用微软 Visual C+编译器编译的语言 ,与标准 c+有一些细微的不同. Java 程序中的每个变量要么是

5、基本数据类型( boolean, char, byte, short, int, long, float, double),要么是对对象的引用 C+有许多种基本类型,额外还有 struct, union, enum, 数组和指针,C+指针可以指向对象,也可以不指向对象 Java 没有枚举、联合类型,因为 Java 认为没有必要。将可有可无的语言元素去掉是 Java 对 C/C+做出的一大改变,因此,普遍认为 Java 较 C+更轻便,更精简 Java 采用 Unicode 字符集,C+通常用 ASCII 字符集。但 ASCII 是 Unicode的子集,对于习惯于 ASCII 的程序员感觉不到

6、区别 Java 中的 boolean 类型不能转换成其他类型,反之亦然。C+最近引进了 bool类型,代表布尔类型,整型也作为逻辑判断 模板是一种“泛型编程思想”,它有别于“面向对象编程思想”。C+ 在很大程度上已经支持了这种新型编程方法,特别是 STL 的出现 Java 目前仍未支持泛型编程,不过据说 Sun 公司有在 Java 中引入模板的计划 C+支持“ 运算符的重载”,这是它的一个很重要的多态特征,是数据抽象和泛型编程的利器。它允许直接对对象进行四则运算,正像基本数据类型那样 Java 不支持这种多态机制,也是为降低复杂性 两种语言都支持方法重载(overloading) 在 C+中,

7、为了允许运行时动态决定哪个函数被调用,一个函数必须用 virtual修饰。virtual 关键字被自动继承,用以支持多态 凡是没有用 virtual 修饰的成员函数(包括 static)都是静态绑定的,即在编译时决定调用哪个版本 而在 Java 中,除了 static、final、private 是静态绑定以外,所有方法一律按动态绑定处理 C+中有“ 拷贝构造函数”的概念,在三种情况下,自动调用它 用一个对象初始化另一对象 对象作实参进行函数调用 对象作函数的返回值 通常,当一个对象需要做“深拷贝”(钱能:C+ 程序设计教程 ) 时,我们需要为它事先定义“拷贝构造函数”、“赋值运算符的重载函数

8、”和“析构函数”;否则编译器将以“按位 copy”的形式自动生成相应的缺省函数。倘若类中含有指针成员或引用成员,那么这三个默认的函数就隐含了错误 Java 则没有这种语法结构和语义逻辑 C+支持 inline 函数,可以避免函数的堆栈调用,提高运行效率 Java 无这种语义 C+中,构造函数的初始化列表是这样使用的:首先按继承顺序调用基类的构造函数构造基类对象,然后按声明顺序调用成员对象的构造函数构造成员对象,最后对列表中出现的成员变量做初始化 Java 不采用初始化列表这种构造机制 它们的构造顺序基本一致: 静态变量初始化 静态初始化块(Java) 调用基类的构造函数构造基类对象 实例变量的

9、初始化 构造函数的其余部分 Java 使用 abstract 关键字修饰抽象方法或抽象类 C+的对等语法是“纯虚函数 ”和“抽象类” 两者都使用抽象类作为继承层次中的基类,提供一般概念,由子类实现其抽象方法,且抽象类都不能被直接实例化为对象 Java 中有 final 关键字,修饰类、方法或变量 final 类不能被继承 final 方法不能被子类覆盖 final 变量就是常量 C+中没有这个关键字,常量可以使用 const 或#define 定义 const 还可以修饰成员函数,即“ 常成员函数”,当一个 const 成员函数修改成员数据,或调用非 const 成员函数时,编译器会报错 我们

10、应将不修改成员数据的函数声明为 const Java 和 C+中的 static 关键字语法和语义基本相同 static 成员变量又叫类变量,被类的所有对象共享 A:x (C+):必须在类体外初始化 A.x (Java):必须在类体内初始化 static 成员方法又叫类方法,访问 static 变量 A:f( ) (C+) A.f( ) (Java) 两者都有内部类和局部类的语法和语义 Java 中没有友元函数和友元类的概念,严格支持封装,不允许外部方法访问类的私有成员 而 C+支持 friend 关键字,允许外部方法访问类的私有成员,因此不是一种纯面向对象的编程语言 Java 中类或 int

11、erface 可以用 public 修饰,也可以不修饰;而 C+类不能修饰 三种访问权限的语义相同,语法略有差别 C+中还有继承权限修饰符,Java 则没有 class A: protected B, public C (C+) class A extends B (Java) Java 有 super 关键字,指代父类对象,通常被用于调用父类的构造方法或一般方法 C+则没有 super 关键字 两者都有 this,指代当前对象 Java 有 package 的概念,可以将类组织起来,便于打包和部署,也有利于类的安全。C+没有这个概念,一个类可以被任意类访问 Java applet 可以被嵌入

12、 HTML 文档中,然后由 Web 浏览器下载和执行 Java API 有对网络通讯的特别支持 C+则无内置网络功能 C+程序员必须显式地实现动态内存管理,在析构函数中用 delete 运算符或free( )函数释放对象和其他动态分配的数据空间,否则会造成“内存泄露” 而在 Java 中,垃圾收集是自动的。当对象的最后一个引用变量被释放掉,这个对象就成为垃圾收集器的候选对象了 因此 Java 不支持析构函数 finalize( )方法主要被用来释放先前打开的非内存资源,如文件句柄 Java 源代码被编译成字节码( .class 文件),字节码是一种只有 JVM 才能识别的二进制低级代码,它与具

13、体的处理器无关,要由安装在 OS 之上的 JVM 解释执行,转换成相应平台的机器码,因此 Java 是体系结构中立和跨平台的 而 C+直接被编译成底层平台的二进制机器码,由 CPU 执行,是平台相关的 因此,当解释执行时,Java 程序速度更慢 Java 语言支持多线程,允许并发线程的同步与互斥操作 C+则没有这种内在机制 Javadoc.exe 可以将 Java 程序的内容和结构转换成 HTML 格式的文档简单地说,它们不是一种语言,语法有差别,编程时具体用到的类库或者函数库也不一样。虽然它们不是一种语言,不过它们却也有所联系。广泛地说,可以看作其他三种语言的源语言,因为其他三种语言几乎都是

14、从而来的,无论从数据类型还是控制语句看,其他三种语言都有从得来的迹象。其中则一般看作是对语言的扩展。因为语言没有面向对象的语法结构,而当时业界又迫切需要面向对象的编程特性,所以贝尔实验室的开发者就为添加了面向对象的结构。现在已经不只是的扩展了,它已经完全可以被看作一种新的编程语言。虽然的特性以及库函数仍然被支持,不过拥有自己的独立的类库体系,功能相当强大。语言是一种完全的面向对象语言,虽然它的底层(运行时库)是用语言开发的,可是并不依赖于。因为的运行是在运行时库的支持下进行的,所以运行效率比起可以更接近底层的来说效率会有所影响,不过的类库采用很好的设计理念设计,非常好用,也非常实用,已经成为业

15、界的一种标准开发语言。它的跨平台的特性尤其让很多开发者欢迎,你只需要开发一次就能在所有安装了运行时库的系统上运行。发展了十几年了,可以应用领域非常之广泛,开发有,桌面领域现在有。是微软开发的一种编程语言,语法类似,几乎就是从的翻版。运行原理和也类似,也是通过运行时库的支持运行。不过支持的平台还很有限。几乎被所有平台支持,而目前只被和支持,下的支持当然是由微软自己开发的,而下的支持则有支持。实际上,也是把应用转化为应用而已,所以本质上,仍然只是被微软自己的操作系统支持。应用平台受到限制,是它最大的缺点。的优点在于与底层比较接近,可以控制的粒度更加精细,是开发系统级应用的最佳选择。关于缺点,我想正是源于其优点,因为它们能控制的编程元素粒度精细,所以编程比较困难,烦琐,容易出错。和都比较高级,可以看作高级语言的高级语言,优点是开发容易,但运行效率不如更为底层的。具体选择使用的时候,可以根据实际的项目需要选择。运行效率要求高的,底层控制要求高的用,否则可以选择或;跨平台的要求高的可以用。关于跨平台,也是很好的语言,因为所有平台都支持,不同的是,不同平台支持的实现不同,类库不同,要编写跨平台的程序,需要选择跨平台的类库,如标准类库,如果标准类库的支持不够也只需要附加编写一个跨平台的支持类库。入门可以看 JAVA 2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号