• 郑州北大青鸟首页
  • 网站导航
  • 河南软件与网络工程师培养基地 河南拥有IT体验馆课程专业全、规模大校区河南多年连获全国教学质量奖2011-2019年获北大青鸟总部荣誉奖
首页 中心介绍 新闻动态 课程详解 师资力量 专家讲座 招生问答 学员活动 精彩专题 报名
当前位置: > 新闻动态 > 行业新闻 >

学这些编程语言你还必须知道的几种情况

2015-08-27 16:50 来源:郑州北大青鸟
  Java的不断发展要归功于C、C++ 和C# 等编程语言的不断挑战。C++、C#和Java等编程语言基本上都来源于C语言但又有很多区别。业内人士经常将C比作爷爷,C++比做儿子,C# 和Java等语言比作孙子。
 
  对于变量声明、参数传递、操作符、流控制等,Java使用了和C、C++、C# 相同的传统,而C++ 主要是对C的扩展并融入了面向对象的思想,C#和Java语言是纯粹的面向对象的编程语言并吸收了C、C++ 语言的很多优点,摒弃了很多缺点,但C#编程语言的运行依赖于Windows平台,而Java语言不依赖于任何平台,因此使得熟悉C、C++、C#的程序员能够很方便地转向Java编程。具体描述有如下几点。 
 
  Java与C、C++对比
 
  1) 全局变量
 
  在Java编程的过程中,不能在类之外定义全局变量,如:
  public String name;    //错,不能在类之外定义全局变量
  public class GlobalVar{
    public static global_var; //全局变量也叫成员变量或成员属性
}
 
  要定义全局变量,只能通过在一个类中定义公用、静态的变量来实现一个全局变量。在类GlobalVar中定义变量global_var为public static,使得其他类可以访问和修改该变量。Java对全局变量进行了更好的封装。而在C和C++ 中,依赖于不加封装的全局变量常常造成系统的崩溃。
 
  2) 剔除goto关键字
 
  虽然在Java中将关键字goto保留了,但是Java不支持C、C++ 中的goto语句,而是通过异常处理语句try、Catch、final等来代替C、C++ 中用goto语句来处理遇到错误时跳转的情况,使程序更易读且更结构化。
 
  3) 良好的指针控制
 
  指针是C、C++ 编程语言中最有魅力的特性,但它的超高使用难度加上超高灵活性,使得大部分程序员望而止步,在学习C、C++ 语言进行编程的过程中,通过指针所进行的内存地址操作常常会造成不可预知的错误,同时通过指针对某个内存地址进行显式类型转换后,可以访问一个C或C++ 中的私有成员,从而破坏安全性,造成系统的崩溃。而Java语言对指针进行完全的控制,程序员不能直接进行任何指针操作,例如把整数转化为指针,或者通过指针释放某一内存地址等。同时,数组作为类在Java中实现,较好地解决了数组访问越界这一问题。
 
  4) 自动内存回收
 
  一般内存资源有限,很容易被程序破坏。在C中,程序员通过库函数malloc()和free()来分配和释放内存,在C++ 中则通过运算符new和delete来分配和释放内存。再次释放已释放的内存块或未被分配的内存块,会造成系统的崩溃;同样,忘记释放不再使用的内存块也会逐渐耗尽系统资源。而在Java中,所有的数据结构都是对象,通过运算符new为它们分配内存堆。通过运算符new可以得到对象的处理权,而实际分配给对象的内存可能随程序运行而改变,Java对此自动地进行管理并且进行垃圾收集,有效防止了由于程序员的误操作而导致的错误,并且更好地利用了系统资源。
 
  5) 固定的数据类型
 
  在C、C++ 语言中不同数据类型在不同的平台上所占的位数不一样,例如,int类型的数据在IBM PC中占16位,在VAX-II中占32位,这就导致了代码的不可移植性。但在Java中,对于这些数据类型都采用国际统一字符编码,即分配固定长度的位数,例如,对int类型的数据,它在任何机器上都占32位,这就保证了Java的平台无关性。
 
  6) 严格控制数据类型转换
 
  一种数据类型的数据转换成另外一种数据类型的数据时,常常会出现数据精度丢失的问题,在C、C++ 中,通过指针进行任意的数据类型转换极不安全,而在Java中,运行时系统对对象的处理要进行类型相容性检查,以防止不安全的转换。
 
  7) 库文件
 
  编程语言中丰富的库文件能快速地开发出各种应用软件。C、C++ 中用头文件来声明类的原型以及全局变量、库函数等,在大的系统中,维护这些头文件是很困难的。而Java不支持头文件,类成员的类型和访问权限都封装在一个类中,运行时系统对访问进行控制,防止对私有成员的操作。同时,Java中用import语句来与其他类进行通信,以便使用它们的方法。
 
  8) 类与结构体和联合体
 
  安全是一个永恒的话题。C、C++ 中的结构体和联合体中的所有成员均为公有,这就带来了安全性问题。Java中不包含结构体和联合体,所有的内容都封装在类中。其实Java与C、C++ 编程语言还有很多的差别如:速度、内部类、方法嵌入等,但总的来说Java提取了很多其他编程语言的优点,使它更适合于大众程序员的需求。
 
  2. Java与C# 对比
 
  Java语言是开放式的世界语言,基本源代码都公开,而C# 作为Microsoft的一门主打语言也不甘示弱。一个开源,一个收费,它们两者基本上都对C、C++ 深涩的语法和语义进行了改进。在语法方面,两者都摒弃了const修饰、宏替换等;在继承方面,两者都采用更易于理解的单继承和多接口实现方案;在源代码组织方面,两者都提出了声明与实现于一体的逻辑封装。
 
  Java与C# 的不同点主要体现在:C# 在Microsoft的支撑下提供了强大的Visual Studio开发平台,可以极好地提高C# 程序的开发效率。而且C#更善于利用Windows平台。Java的设计宗旨是独立于任何平台,因此自然不会提供太多的Windows特性。但这也正体现了Java语言的跨平台优势。一般企业级应用,无法确定这个应用是在怎样的平台上运行。因而企业级开发一般选择Java作为开发语言。
------分隔线----------------------------
栏目列表
联系郑州北大青鸟
  • 学校地址:郑州市金水区文化路90号河南财经政法大
  • 学文南校区1号楼(文化路与俭学街路交叉口文化路
  • 向北300米)
  • 咨询热线:0371-63383521 63383522
  • 6路,28路,966路到文化路与俭学街站下车
企业预订人才热线:0371-63383521
就业服电话:0371-55902629
教学监督:0371-55690491
郑州北大青鸟软件学院地址:郑州市文化路90号河南财经政法
大学文南校区1号楼
传真:0371-63383562 邮政编码:450000
备案号:豫ICP备10022989号-2
版权归 郑州北大青鸟翔天信鸽IT学校
咨询电话:0371-63383521 15225191462
北大青鸟郑州翔天信鸽授权IT软件学院
教育改变生活