java和c总结

一、我们先来看下java和c的区别
1、java是面向对象,而c是面向过程的。那我们来通俗的简单的理解这句话:比如选择c语言的情况,那么我们会这样去思考,先简历一个体系结构,然后定义函数来描述其行为。比如我们描述一个人,那么:
struct Ren{
人的姓名;
人的年龄;
人的体重;
... ...
}
viod jump(struct r);void run(struct r);等等,也就是我们定义jump(r)来描述跳,用run(r)来描述跑。也就是用这样的函数来对人的行为进行描述,明显可以看出这样的开发效率不高,而且不利于程序结构的维护。如果我们采用java面向对象的方式,只需要建立一个类,表示人:
class Ren{
姓名;
性别;
体重;
身高;
吃饭;
... ...//人类都有的行为
}
那么我们只需将抽象的类构建一个(new一个)具体的实例,即产生人的对象。
Ren liyang = new Ren(“李阳","男","60公斤"...等等参数);等即可。
通过上面的分析,我就可以看出java是区别于以前的那种结构化的编程思想的,也就是说java是面向对象而c是面向过程的。
2、从跨平台这方面来理解java和c的区别,java是可以跨平台的,也就是说在不同的操作系统上,都可以使用java虚拟机(JVM)来解释java撰写的程序,而c则与平台相关,某些指令只有在特定的操作系统才能执行。如何理解这句话呢?
可以这样认为:java属于解释型语言,会将所有代码翻译成统一的字节码,然后通过java 虚拟机运行。C则先编译代码并进行转换成中间代码,然后系统执行这个中间代码通过后才能运行。
3、从内存方面来考虑。对于C来说,我们说到了C中较为复杂的是指针,而指针可以对内存实现人为的分配。java就不行。java是动态分配内存的,可以用new来为对象分配空间,只是,java有内存回收机制,即通过GC(Gabbage Collection)自动回收不再使用的空间,C是通过free()函数来把空间给释放掉。
4、从系统调用和交互方面。C很灵活,可以调用系统的指令,而java则不能实现与系统的交互。
5、从系统运行维护方面。我们都知道C和C++都是利用头文件来定义类的原型以及库函数等。而java则不支持头文件,所以相对来说C和C++引用头文件的这种方式使得系统的运行和维护复杂得多。
6、我们一直都在说C语言中的指针,而java不再使用指针(顺便说一下:对于这一点有的软件高级工程师认为java的把指针给隐性了)。
7、从类型转换上来区分java和c。C以及C++都可以通过指针来进行类型转换,而java是系统对对象要进行类型相容性处理,这就是为什么说java是安全的道理。像C通过指针来进行类型的转换往往会带来不安全的因素。
好了,对于java和c的区别就区分以上7点。
二、下面看看大学生对java和c的看法:
1、大一新生谈java和c
大一第一学期,很快就已经过了一星期,新的知识学习也已经开始。Java是我所学习的新知识之一。对他的了解也不太完全,经过一星期的学习我了解了什么是面向过程和面向对象程序设计方法,以及c语言和java程序设计的区别和各自的特点等。
面向对象是把构成问题的事物分解成不同的对象用于完成一个个的步骤,进而解决问题。他的特点是:易开发,扩展和松散耦合。多用于大型项目的开发。
面向对象中的专业术语有:对象,类,实体,消息等。对这些的描述和概念需要多加了解。类是一种数据类型,概括了一组相似事物的状态(属性)和行为(方法)。对象是指存在于现实世界中的具体事物。将类进行具体化(实例化)即为对象,将对象进行抽象化即为类。抽象度越高的类,概括性越强,所指范围也越大,抽象度高的类包含抽象度低的类。越往下越具体,内容也越丰富。子类继承父类的特征同时又拥有自己的一些特性。
对于软件开发的过程,面向对象衍生出三个概念:采用面向对象进行分析的方法称为OOA,采用面向对象进行设计的方法称为OOD,采用面向对象进行编码的方法称为OOP。面向对象开发方法具有封装性,抽象性,继承性,动态链接性的特点,其中Java是一种面向对象的程序设计语言。具有简单性,面向对象,可移植性,高性能的特点。Java以其强安全性,平台无关性,语言简洁,面向对象,成为基于网络,高信息化行业的首选编程语言。
第二周。Java的学习已从基本概念转入了开发环境及工具和数据类型的相关知识。我学会了如何编写简单的Java程序并将其运行。从刚开始对电脑知识的一窍不停及痛苦学习到现在的基本能跟上老师的步伐以及有所了解,我很高兴的认为其实只要能正确的理解电脑知识,它还是会很容易就学懂的。同时,我希望老师能对我们这些学生们多加指导,无论聪明与否。因为,只要不抛弃,不放弃。一切皆有可能。世上没有笨的人,只有还没开窍的人。
要想学会编写Java程序,就必须先学会定义一个类的方式和对对象的生成,使用和消除。当然,还必须理解一些基本的数据类型和关键字及语法等。Java的某些编程语言和c语言有相似之处,但也有所差别。在编写Java程序时还可以嵌入c语言的语句。先学习c语言会更有利于Java的学习。Java在大型项目上也发挥着明显的便捷性。能缩短编程时间和提高程序的可移植性等。Java源代码是在文本文档中编写,又在特定的环境下编译和运行。
在课堂上,还是希望老师在讲课时可以多些具体,少些抽象;多些实践,少些理论。这星期学会了使用Java中基本数据类型的使用,同时运用Java语言进行简单的数据加减运算。理解了基本的Java程序编程错误,能进行简单的程序改错。看到自己能编写一个运行结果正确 的程序,感觉还蛮开心的。就是自己看的这方面的书太少了,知识匮乏。所以,往后有空得多看看电脑知识方面的书了。
这星期Java课程进行了前面所学知识的进一步加深和巩固,主要介绍了堆内存,栈内存和包。了解到编写程序必要时还需要导入Java里的“包”。包能够区别名字相同的类,不同的包中可以有不同的类,还可以更好的实现访问权限控制。编写整数相加程序和多个整数相加的程序也是我们这个星期学的内容之一。主要体现了类的继承性和多态性。子类属性和方法可以继承父类也可以有自己的属性及方法。类的方法也可以进行重写和重载。访问控制符是一组限定类,域或方法是否可以被程序里的其他部分访问和调用的修饰符。起到控制的作用。Java中访问控制权限有四种:公有的(public),受保护的(protected),默认的(默认访问控制符),私有的(private)。抽象类和接口也属于类。抽象类是指没有包含足够的信息来描绘一个具体的对象的类。接口是一个特殊的抽象类,它是由静态常量和抽象方法构成的。
不知不觉中已经接触计算机软件一个多学期了,渐渐地对这门课有了更多的了解,上学期我们学习了c语言,了解到了这是一门开发最早的,也是众多语言中最基础的一门语言,现在我们已经进入了JAVA的学习。
根据老师的安排,我们必须响应老师的号召,每周写一篇日志对自己的学习进程进行评估和总结,Java是一门比较高级的语言,采用了面向对象、支持多线程、与平台无关等编程方式,具有语言简单等特点,在Web应用开发上备受开发人员的青睐。c语言是一门面向过程的语言,而Java十一门面向对象的语言,而对象、类、实体、消息是面向对象中至关重要的组成部分。面向对象的软件开发过程包括如下四个步骤:(1)调查 (2)分析问题 (3)归纳整理 (4)编码实现。同时, 面向对象开发方法具有封装性、抽象性、继承性、动态连接性等特点。
Java具有特性良好的特性,首先是简单性,Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合各种情况的应用程序。其次,是面向对象。接着是可移植性。再者是良好的安全性和稳定性。最后是它的高性能,其中又包括高效的字节码、多线程、即时编入和嵌入C代码、动态性、分布式等内容。这周除了以上内容,我们还学会了配置JAVA的开发坏境和设置坏境变量,还有Java开发工具(JDK)的安装和运行。除此之外还了解了一点Java的语法。
2、大学生学习java和c的感受
学习完c语言之后,觉得c语言很简单,很灵活,重点就是指针有点复杂,c语言是纯面向过程的,学好c语言对学习其他的语言会有所帮助,比如c++和java等。
一周学习java的时间又过去了,下面又到我的java总结时间,上一周由于没有及时翻看课本复习,从而导致了我没有很好的了解各种环境变量的作用,致使没能回答出老师的提问。不过后来及时补救,终于了解到了各环境变量的作用,PATH环境变量:指定命令的搜索路径;CLASSPATH环境变量:指定类的搜索路径;JAVA_HOME环境变量:指定jdk的安装路径。除此之外,这周我们还学会了几种数据类型的定义和初始化,数组定义方法:数据类型[] 数组名称={初始化数值列表};数据类型[] 数组名称=new 数据类型{数组元素个数};字符串定义方法:
String 字符串名=new String(字符串常量);
String 字符串名=字符串常量;
String类常用方法:length() 获得字符串的长度;
equals(Object) 与返回Object比较是否相等;
charAt(int) 返回指定位置的字符;
indexOf(char) 返回指定字符第一次出现的位置;
又到java学习笔记的时间,这周状态不是很好,java的学习大受影响,对很多概念的理解不是很到位,这周接下来的日子应该好好回归课本,加强理解。类的继承:java语言实现类的继承是通过extends关键字来实现。一个父类可以有多个子类,所有子类都具有父类的公共特性,子类只需定义除了公共特性之外的、子类所有的特性。子类从父类派生而来,子类可直接利用父类的属性和方法,不必重复定义,同时不影响父类的使用。
访问控制符:声明为public该类既可被同一个包的类访问,也可被不同包的类访问;声明为protected该类可以被自身、同一个包中的其他类、其他包中该类的子类访问;声明为默认访问控制符该类只能被同一个包中的类访问和引用;声明为private只能被该类自身所访问和修改。类的多态性:指同样的消息被发送到父类的对象和其子类的对象。主要体现为方法的重载(编译时多态性)和方法的重写(运行时的多态性)。目前方法的重载和方法的重写还不太掌握。同时,抽象类和街口还不太明确。
三、java和c的就业前景如何?
对于java和c的就业前景,我们可以结合目前的软件公司对c人才和java人才的需求,就目前来说可以大致的认为java的前景较好,java属于面向对象的高级语言,非常适用于大部分应用软件。而C对于底层来说比较擅长,大家都知道应用软件的市场需求目前较大,所以java的就业前景自然就会好些,java占优势。
本文来源 我爱IT技术网 http://www.52ij.com/jishu/470.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
