C语言对比Java介绍

C语言对比Java介绍

C语言对比Java介绍

欢迎大家在这里学习C语言对比Java这里是我们给大家整理出来的精彩内容。我相信,这些问题也肯定是很多朋友在关心的,所以我就给大家谈谈这个!作为一名C程序员,我们早已掌握了面向对象程序设计的基本概念,而且Java的语法无疑是非常熟悉的。事实上,Java本来就是从C衍生出来的。”

?

?然而,C和Java之间仍存在一些显着的差异。可以这样说,这些差异代表着技术的极大进步。一旦我们弄清楚了这些差异,就会理解为什幺说Java是一种优秀的程序设计语言。本附录将引导大家认识用于区分Java和C的一些重要特征。

?

?最大的障碍在于速度:解释过的Java要比C的执行速度慢上约20倍。无论什幺都不能阻止Java语言进行编译。写作本书的时候,刚刚出现了一些准实时编译器,它们能显着加快速度。当然,我们完全有理由认为会出现适用于流行平台的纯固有编译器,但假若没有那些编译器,由于速度的限制,必须有些问题是Java不能解决的。

?

?和C一样,Java也提供了两种类型的注释。

?

?所有东西都必须置入一个类。不存在全局函数或者全局数据。如果想获得与全局函数等价的功能,可考虑将static方法和static数据置入一个类里。注意没有象结构、枚举或者联合这一类的东西,一切只有类”(Class)!

Java语言概述

Java语言概述 Java语言是SUN(Stanford University Network,斯坦福大学网络公司)公司1995年推出的一门高级编程语言,起初主要应用在小型消费电子产品上,后来随着互联网的兴起,Java语言迅速崛起(Java applet 可以在浏览器中运行),成为大型互联网项目的首选语言。 2009年04月20日,美国甲骨文公司74亿美元收购Sun,取得java的版权。 Java 是面向对象的语言,没有面向对象编程经验的读者需要花费不少时间来了解面向对象的概念、语法和编程思想,有不能理解的地方请大家一定要坚持,多花时间编写代码自然会豁然开朗,从面向过程到面相对象需要一个适应期。 Java 不只是一种编程语言,它是一个完整的平台,拥有庞大的库,将诸如图形绘制、Socket连接、数据库存取等复杂操作进行了最大程度的简化。 Java 是跨平台的,一次编译,到处运行,在 Windows 上编写的代码可以不加修改的移植到 Linux 上,反之也可以。 在世界编程语言排行榜中,Java几乎占据着第二名的位置,仅次于C语言。 图1 世界编程语言排行榜(2014年11月) Java是典型的面向对象的语言,晚于C++发布,部分语法和思想也参考了 C++,请见下表: 尽管人们发现C++的语法太复杂,有很多冗余,但是 Java 在设计的时候还

是尽可能的接近C++,降低人们的学习成本。Java 语法是 C++ 语法的一个“纯净”版,没有头文件、指针运算(也没有指针语法)、结构、联合、运算符重载、虚基类等。有C++基础的读者,可以轻易地切换到Java。 Java 的应用非常广泛: Web开发:Java非常适合开发大型的企业网站,例如人人网、去哪儿网的后台都是Java。 Android开发:Android手机上APP几乎都是用Java开发的,例如QQ、微信、UC浏览器。 客户端开发:Java也可以用来开发电脑上的软件,例如Elicpse、Netbeans。 嵌入式应用:嵌入式应用就是在小型电子产品中运行的软件,例如老式手机上的软件、MP3上的软件。 但是,可以负责任的告诉你,Java 目前的主要应用方向是Web开发和Android开发,大部分IT公司招聘的Java程序员也是从事这两方面的工作。 Java 的GUI库称不上出色,很多用户不习惯它的界面;Java编写的客户端资源消耗也比较多;更重要的是,Java程序必须借助虚拟机才能运行,操作系统默认没有安装虚拟机,直接投放市场的面向普通用户的客户端程序,用Java 开发的很少。 在嵌入式方面,Java 很难操作底层硬件,灵活性较小,而且需要虚拟机支持,占用资源较多,对于配置很低的单片机系统来说有些吃力。所以,在力求高效、小型化、执行关键任务的应用中,最好采用汇编和C语言,例如火箭控制、传感器通信或报告宇宙飞行器的方位等。 Java 虽然是一门功能完善的语言,但是它有自己擅长的方面,也有不擅长的方面,大家在具体项目中要学会取舍。

电大_Java语言和WWW技术判断题

电大_Java语言和WWW技术判断题 1.调用System.gc()方法不能保证JVM立即进行垃圾收集,而只能是建议。T 2.类加载器加载程序运行所需要的所有类,它通过区分本机文件系统的类和网络系统导入的类增加安全性。T 3.Java数组的长度只在构造(创建)数组时指定,而在声明数组时不能指定。T 4.main()方法前的public修饰符、static修饰符均是必须的。F 5.局部变量在定义该变量的方法被调用时被创建,而在该方法退出后被撤销,其生存期和定义该变量的方法的生存期相同。T 6.数组元素没有进行显式赋值,系统根据数组声明的数据类型自动进行默认初始化。T 7.一个源文件可以不包含任何代码定义,即是一个空文件,编译时不会产生错误。T 8.一个源文件中,如果没有public类,则源文件名不必与源文件中其它类名一致。T 9.源文件命名可以依照Java语言标识符定义规定。F 10.垃圾收集的过程在Java程序的生存期中是自动的,不需要分配和释放内存,也避免了内存泄漏。T 11.类加载器加载程序运行所需要的所有类,由网络系统导入的指定类总是先被加载。F 12.Java中所有参数的传递都采用值传递方式,即当传递一个参数到方法中时方法获得的是传递参数的副本。T 13.成员变量和局部变量由于其所属对象生命周期不同,生存周期也不同。T 14.如果在一个源文件中存在两个或两个以上public类定义,则会产生运行错误。F 15.一个源文件可以包含多个类。F 16.一个源文件只能包含一个public类。T 17.用来指定数组长度的数据类型只能是int类型。F 18.在源文件中,如果存在一个public类定义,则源文件名必须与public类名一致。F 19.friendly关键字是Java语言友元类的访问控制修饰符。F 20.private修饰的顶层类(非内部类)可以被同一个包中的其他类所访问。F 21.任何变量在使用前都必须显式初始化。F 22.在Java语言中,属性前不加任何访问控制修饰符则表示只允许同一包中的类访问。T 23.包声明语句(package)必须放置在包引入语句(import)之前。T 24.当一个类没有显式定义构造方法时,Java系统总是为其创建一个默认的无参的构造方法。T 25.一个源文件中有class(类声明)、package(包声明)和import(包引入)3中顶层元素,同时出现时必须按照import、package和class的顺序出现。F 26.一个源文件中最多只能包含一个包引入语句(import)。如果源文件没有显式声明引入包,则系统默认引入https://www.360docs.net/doc/d72474365.html,ng包。F 27.在同一个类的不同构造方法中调用该类的其它构造方法需要使用this(…)的形式,this(…)不能在构造方法的第一行调用。F 28.重写的方法的访问权限不能比被重写的方法的访问权限高。F 29.maxElements是一个成员变量,声明为:“public static final intmaxElements=100;”。T 30.类变量在该类被加载时被创建,不能用new Xxxx()创建,所有该类的实例对象共享类变量,其生存期是类的生存期。T 31.实例变量在使用new Xxxx()创建该类的实例时被创建,而其生存期和该类的实例对象的生存期相同。 T 32.在一个抽象类中不能定义构造方法。F

4、c语言和c++和Python-和Java优缺点(B)

C语言 虽说C语言在内存管理方面存在严重的缺陷,不过它还是在某些应用领域里称王称霸。对于那些要求最高的效率,良好的实时性,或者与操作系统内核紧密关联的程序来说,C仍然是很好的选择。 C良好的可移植性也为它加了分。不过现在很多其他的语言可移植性越来越好,C在这方面的优势可能会逐渐丧失。 现有的很多程序可以产生非常棒的C代码,比如语法分析器、GUI Builder等,这时候C语言也是有吸引力的,因为你所需要编写的代码只是整个程序的一小部分。 再有,我们当然应该认识到,C语言对于程序员来说具有无可替代的价值。就我这里讨论的每一种语言而论,只要你发掘的足够深,到最后你会看到它们的内核都是用纯正的、可移植的C写成的。 到了今天这个时候,我们最好把C看成是UNIX虚拟机上的高级汇编语言。 就算是其他的高级语言完全可以满足你的工作需要,抽出时间来学习C语言也仍然有益,它能帮助你在硬件体系的层次上思考问题。 即使到了今天,最好的C语言教程仍然是1988年出版的K&R第二版The C Programming Language. 总结:C最出色的地方在于其高效和贴近机器,最糟糕的地方在它的内存管理存在严重的缺陷。

C++语言 C++最初发布于1980年代中期,当时面向对象语言被认为是解决软件复杂性问题的银弹。C++的面向对象特性看相去使其全面超越了C,支持者认为C++将迅速把上一代语言挤到陈列馆里去。 但是历史并非如此。究其原因,至少有一部分归咎于C++本身。为了与C兼容,C++被迫作出了很多重大的设计妥协,结果导致语言过分华丽,过分复杂。为了与C兼容,C++并没有采用自动内存管理的策略,从而丧失了修正C最严重问题的机会。 另外一部分原因,恐怕要算到面向对象身上。看起来OO(字母)并没有很好的达成人们当年的预期。我就这个问题调研过,我发现使用OO方法导致组件之间出现很厚的粘合层,并且带来了严重的可维护性问题。今天让我们来看看开放源码社区,你会发现C++的应用还是集中在GUI,游戏和多媒体工具包这些方面,在其他地方很少用到。要知道,面向对象也只是在这些领域被证明非常成功,而开放源码社区的选择,很大程度上体现了程序员的自由意志,而不是公司管理层的胡乱指挥。 也许C++实现OO的方法有问题。有证据表明C++程序在整个生命周期的开销高于相应的C,Fortran和Ada程序。不过,究竟这是否应该归咎与C++的OO实现上,还不清楚。

C语言词法分析程序java版

附录:核心代码清单 C语言词法分析代码算法实习--------------------------------------------------------By NLLWRQ 功能类: package conversion; import java.io.*; public class Work{ public String filename; public int flage=1; public int error[]={0,0,0,0,0}; public int error1[]={0,0,0,0,0,0}; StringBuffer buffer=new StringBuffer(); private String Keychar[]={"int","char","long","float","double","short","unsigned","struct","union","enum","auto","ext ern", "static","register","typedef","void","if","else","switch","case","default","do","while","for","break", "continue","return","goto","define","include","undef","ifdef","endif","line","sizeof","asm","fortran","ad a","pascal"}; private String Keyfile[]={"stdio","windows","stdlib","ctype","math","time","string"}; public Work(String filename){ this.filename=filename; } boolean isKeyfile(String ch){ for(int i=0;i

JAVA语言与WWW技术复习题

2016-2017年第二学期JAVA语言与WWW技术复习 题 一、填空题 1.Java的三大体系分别是___ Java EE _ __、____ Java SE__、___ Java ME __。 2.Java中的变量可分为两种数据类型,分别是___基本数据类型_和_引用数据类型__ ___。 3.在非静态成员方法中,可以使用关键字__ This _ ___访问类的其它非静态成员。 4.被static关键字修饰的成员变量被称为_静态变量__,它可以被该类所有的实例对象共 享。 5.编译Java程序需要使用__ javac _ ___命令。 6.Java中的程序代码都必须在一个类中定义,类使用___ class___关键字来定义。 7.若int []a={12,45,34,46,23}; ,则a[2]= __34_ ___。 8.面向对象的三大特征是__封装、__继承__和多态_。 9.定义在类中的变量被称为___成员变量_,定义在方法中的变量被称为__局部变量_。 10.异常的捕获通常由try、catch两部分组成,___try___代码块用来存放可能发生异常,__ catch __代码块用来处理产生的异常。 11.String类中用于返回字符串字符个数的方法是___ length() __。 12.JDK中提供了一系列可以存储任意对象的类,统称为_集合_ __。 13.在Java中,能实现线程间通信的流是_管道流___。 14.System.out是__PrintStream__类的对象,称为标准输出流,调用System类的_ setOut(PrintStream out)__方法可以实现标准输出流的重定向。 15.在程序开发中,要想将一个包中的类导入到当前程序中,可以使用_ import __关键字。 16.System类中所提供的属性和方法都是_ 静态___的,想要引用这些属性和方 法,直接使用System类调用即可。 17.Collection有两个子接口分别是List和Set,List集合的特点是有序、可重 复,Set集合的特点是无序、不可重复。 18.InputStreamReader类是用于将_字节流___转换为_字符流___。 19.在Java中,byte类型数据占___1___个字节,short类型数据占__2____个字节,int类型数 据占___4___个字节,long类型数据占__8____个字节。 20.当一个对象被当成垃圾从存中释放时,它的_ finalize()_____方法会被自动调用。 二、选择题

1 Java语言概述答案

第1章 Java语言概述 一、判断题 1.Java语言是一种解释执行的语言,这个特点是Java语言的一个缺点。(F)2.Java源程序的文件名一定要与文件中某个类的名称一致。(T) 3.Java语言采用面向对象的思想编程,具有跨平台、分布式、多线程等优点。(T) 4.Java中的标识符和关键字都是区分大小写的,如果把声明类的class写成Class或者CLASS,编译会出错。(T) 5.Java源程序编写好之后,以文件的形式保存在硬盘或U盘上,源文件的名字可以随便取,它不一定与程序的主类名一致。(F) 6.在JDK命令行开发工具中,用编译程序javac.exe编译生成的文件是二进制可执行文件。(F) 7.Java程序可以分为Java Application和Java Applet两类。(T) 8.Java虚拟机可以在Microsoft Windows系列、Linux、UNIX、Mac OS等操作系统下执行Java字节码程序。(T) 9.javac是Java编译器,用来将Java源程序编译成Java字节码的程序。字节码文件名和源文件名相同,扩展名是class。(T) 10.appletviewer是Java小应用程序(Applet)浏览器,可以执行HTML文件 中的JavaApplet。它是个模拟浏览器,可以显示Applet的运行结果。(T) 二、选择题 1.Java工具JDK中用来运行Applet程序的命令是(D)。 A.java B.javac C.applet D.appletviewer 2.列说法不正确的是(B)。 A.一个Java源程序经过编译后,得到的文件扩展名一定是class B.一个Java源程序编译通过后,得到的结果文件数也只有一个 C.一个Java源程序编译通过后,得到的结果文件数可能有多个 D.一个Java源程序编译通过后,不一定能用Java解释器执行 3.编译Ja源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。 A.java B.class C.html D.exe 4.安装JDK时,为了能方便地编译和运行程序,应该设置环境变量变量的名称是(C)。 A.JAVAHOME B.java C.path C.classpath 5.Java编译程序的文件名是(C)。 A.java.exe

JAVA语言与WWW技术形考作业参考答案

《JA V A语言与WWW技术》形考作业参考答案 注:本答案仅供参考,如有错误敬请指正 作业一 一、选择题 1、D 2、B 3、B 4、B 5、C 6、B 7、D 8、A 9、D 10、D 11、C 12、B 13、A 14、D 15、B 16、A 17、ABE 18、CDE 19、D 20、B 二、简答题 1、JA V A是由SUN Microsystem公司推出的。其特点如下: A、语法简单,功能强大 B、分布式与安全性 C、与平台无关 D、解释运行,高效率 E、多线程,可并行执行 F、动态执行 G、丰富的API文档和类库 2、 JA V A虚拟机即JVM:是在一台真正的机器上用软件方式实现的一台假想机,是编译后的JA V A程序和硬件系统之间的接口,可以将其看作一个虚拟的处理器,编译后的JA V A程序由JVM解释执行,而不是由CPU。 JVM的具体实现包括:指令集、寄存器组、类文件格式、栈、垃圾收集堆、内存区等几部分。 3、 JVM是运行JA V A程序必不可少的机制,编译后的JA V A程序指令并不直接在硬件系统的CPU上执行,而是由JVM执行,JVM是编译后的JA V A程序和硬件系统之间的接口,程序员可把JVM看作一个虚拟的处理器,它不仅解释执行编译后的JA V A指令,而且还进行安全检查,它是JA V A程序能在多平台之间进行无缝移植的可靠保证,也是JA V A程序的安全检查引擎,JVM使用的代码是存在编译生成的.class文件中。 4、 (略) 5、 (略) 6、 抽象:是指通过抽取具体事物的本质特征来描述事物的一种思想 封装:是将数据及对数据类型的操作捆绑在一起成为类,形成一个不可分割的整体,并尽可能对外隐藏它的细节,只呈现少量接口的技术。 继承:是指在一个类中将另一个已有类中的数据和方法保留供自己用,再加上自己特殊的数据和方法而形成一个新类的技术。 多态:是指在一个类或多个类中让多个方法使用同一名字的技术,如方法的重载和覆盖等。7、 面向对象的程序设计方法:把问题看成是相互作用的事物集合,用属性来描述事物,把它的操作定义为方法,其中把事物称为对象,把属性称为数据,对象就是数据加方法。

C语言,C++语言,C#语言和Java语言有什么区别

C语言,C++语言,C#语言和Java语言有什么区别 简单地说,它们不是一种语言,语法有差别,编程时具体用到的类库或者函数库也不一样。 虽然它们不是一种语言,不过它们却也有所联系。广泛地说,C可以看作其他三种语言的源语言,因为其他三种语言几乎都是从C而来的,无论从数据类型还是控制语句看,其他三种语言都有从C得来的迹象。 其中C++则一般看作是对C语言的扩展。因为C语言没有面向对象的语法结构,而当时业界又迫切需要面向对象的编程特性,所以贝尔实验室的开发者就为C添加了面向对象的结构。现在C++已经不只是C的扩展了,它已经完全可以被看作一种新的编程语言。虽然C的特性以及库函数仍然被C++支持,不过C++拥有自己的独立的类库体系,功能相当强大。 Java语言是一种完全的面向对象语言,虽然它的底层(运行时库)是用C语言开发的,可是并不依赖于C。因为Java的运行是在运行时库的支持下进行的,所以运行效率比起可以更接近底层的C/C++来说效率会有所影响,不过Java的类库采用很好的设计理念设计,非常好用,也非常实用,已经成为业界的一种标准开发语言。它的跨平台的特性尤其让很多开发者欢迎,你只需要开发一次就能在所有安装了Java运行时库的系统上运行。Java发展了十几年了,可以

应用领域非常之广泛,Web开发有JSP,J2EE,桌面领域现在有JavaFX。 C#是微软开发的一种编程语言,语法类似Java,几乎就是从Java的翻版。运行原理和Java也类似,也是通过运行时库的支持运行。不过支持的平台还很有限。JAVA几乎被所有平台支持,而C#目前只被Windows和Linux支持,Windows下的支持当然是由微软自己开发的,而Linux下的支持则有MONO支持。实际上,MONO也是把C#应用转化为JAVA应用而已,所以本质上,C#仍然只是被微软自己的操作系统支持。应用平台受到限制,是它最大的缺点。 C/C++的优点在于与底层比较接近,可以控制的粒度更加精细,是开发系统级应用的最佳选择。关于缺点,我想正是源于其优点,因为它们能控制的编程元素粒度精细,所以编程比较困难,烦琐,容易出错。 Java和C#都比较高级,可以看作高级语言的高级语言,优点是开发容易,但运行效率不如更为底层的C/C++。 具体选择使用的时候,可以根据实际的项目需要选择。运行效率要求高的,底层控制要求高的用C/C++,否则可以选择Java或C#;跨平台的要求高的可以用Java。

Java语言简介

Java语言简介 1.Sun公司和Java的诞生 美国硅谷有一句行话,每10年~15年有一次轮回。最近的一次轮回就是从Java开始。 Java是一个由Sun公司开发而成的新一代编程语言。使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。不论你使用的是哪一种WWW浏览器,哪一种计算机,哪一种操作系统,只要WWW浏览器上面注明了“支持Java”,你就可以看到生动的主页。Java正在逐步成为Internet应用的主要开发语言。它彻底改变了应用软件的开发模式,带来了自PC机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。 Sun 的Java 语言开发小组成立于1991年,其目的是开拓消费类电子产品市场,例如,交互式电视、烤面包箱等。Sun 内部人员把这个项目称为Green ,那时World Wide Web 还在图纸上呢。该小组的领导人是James Gosling ,是一位非常杰出的程序员。他出生于1957年,于1984年加盟Sun Microsystem 公司,之前在一家IBM研究机构工作。他是SunNeWs 窗口系统的总设计师。也是第一个用C实现的EMACS的文本编辑器COSMACS 的开发者。 在研究开发过程中,Gosling深刻体会到消费类电子产品和工作站产品在开发哲学上的差异:消费类电子产品要求可靠性高、费用低、标准化、使用简单,用户并不关心CPU的型号,也不欣赏专用昂贵的RISC处理器,他们需要建立在一个标准基础之上,具有一系列可选的方案,从8086到80586都可以选取。 为了使整个系统与平台无关,Gosling 首先从改写C编译器着手。但是Gosling在改写过程中感到仅C是无法满足需要的,于是在1991年6月份开始准备开发一个新的语言,那么给它起一个什么名字呢?Gosling 回首向窗外望去,看见一棵老橡树,于是建一个目录叫Oak,这就是Java语言的前身(后来发现Oak已是Sun公司另一个语言的注册商标,才改名为Java,即太平洋上一个盛产咖啡的岛屿的名字)。 Gosling 在开始写Java 时,并不局限于扩充语言机制本身,更注重于语言所运行的软硬件环境。他要建立一个系统,这个系统运行于一个巨大的、分布的、异构的网格环境中,完成各电子设备之间的通信与协同工作。Gosling在设计中采用了虚机器码(Virtual Machine Code)方式,即Java 语言编译后产生的是虚拟机,虚拟机运行在一个解释器上,每一个操作系统均有一个解释器。这样一来,Java就成了平台无关语言。这和Gosling设计的SunNeWs 窗口系统有着相同的技术味道。在NeWs中用户界面统一用Postscript描述,不同的显示器有不同的Postscript解释器,这样便保证了用户界面的良好的可移植性。 Patrick Naughton 也是Sun公司的技术骨干,曾经是Open Windows 项目的负责人。当Naughton加入该小组后,整个工作进展神速。经过17个月的奋战,整个系统胜利完成。它是由一个操作系统、一种语言(Java)、一个用户界面、一个新的硬件平台、三块专用芯片构成的。通常情况下,这样的项目在Sun公司要75个人干三年。项目完成后,在Sun公司内部做了一次展示和鉴定,观众的反应是:在各方面都采用了崭新的、非常大胆的技术。许多参观者对Java留下了非常深刻的印象,特别得到Sun 的两位领导人Scott McNealy 和Bill Joy 的关注,但Java的前途未卜。 到了1994年,WWW已如火如荼地发展起来。Gosling意识到WWW需要一个中性的浏览器,它不依赖于任何硬件平台和软件平台,它应是一种实时性较高、可靠安全、有交互功能的浏览器。于是Gosling决定用Java开发一个新的Web浏览器。 这项工作由Naughton 和Jonathan Payne 负责,到1994年秋天,完成了WebRunner

电大Java语言与WWW技术形成性考核程序题

电大Java语言与WWW技术形成性考核程序题 一、写出下列程序完成的功能 1、public class Sum { public static void main(String args[]) { int sum =0; for ( int i=1;i<=100;i++) sum+=i; System.out.println("sum="+sum); } } 上面这段程序所完成的功能是:求 1至100之间的整数的和,并在屏幕上显示出来。 2、 import java.io.*; public class Class1 { public static void main(String args[]){ inti,Max,Min; int a[ ]={ 12,67,8,98,23,56,124,55,99,100 }; Max=Min=a[0]; for (i=1;iMax)Max=a [i]; } System.out.println(Max+" "Min); System.out.println(); } } 上面这段程序所完成的功能是:在数组中查找并输出最大值和最小值,并输出显示。 3、import java.io.*; public class Class1{ public static void main(String args[] ) { Fact N=new Fact(4); System.out.println(N.fact() ); } } class Fact{ int n; Fact(intnn){n=nn;} int fact(){

JAVA语言和C语言的区别

JAVA语言和C语言的区别 12521330张露 在大一刚开始,我们便接触了C语言这门课程,刚开始接触这类语言感觉非常的陌生,后来在学习了一段时间以后才发现语言是一门看眼我们逻辑思维以及对固定关语法应用的一门课程。随着年级的增高,我们有学习了汇编语言、机器语言等,这学期,我们终于接触到了JAVA语言,平时总是听说这类语言,这次终于学习了这门语言感觉和C语没太大区别,主要是在语法上有些许的不同。 首先,JAVA采用面向对象的机制,采用运算符new为每个对象分配内存空间,而且,实际内存还会随程序运行情况而改变.程序运行中,每个,Java系统自动对内存进行扫描,对长期不用的空间作为”垃圾”进行收集,使得系统资源得到更充分地利用.按照这种机制,程序员不必关注内存管理问题,这使Java程序的编写变得简单明了,并且避免了了由于内存管理方面的差错而导致系统出问题.而C语言通过malloc()和free()这两个库函数来分别实现分配内在和释放内存空间的。 C语言中更多是运用子函数的调用,java则是类和类之间的引用,而且很多的是接口。 其次,Java面向对象的特征主要有封装,继承,多态。类的继承关系是单一的、非多重的,一个子类只有一个父类,子类的父类又只有一个父类。C语言支持“运算符的重载”,这是它的一个很重要的多态特征,是数据抽象和泛型编程的利器。它允许直接对对象进行四则运算,正像基本数据类型那样Java不支持这种多态机制,也是为降低复杂性。Jvav可以支持方法重载和重写,所谓重载就是一个类具备多个相同属性行为;重写就是在继承关系中父类的行为在不同的子类上有不同的实现。在Java中比C语言多了一些修饰符,如访问修饰符Public(公共的)、Private(私有的)、Protected(受保护的)、默认。Java有super关键字,指代父类对象,通常被用于调用父类的构造方法或一般方法C 语言则没有super关键字,两者都有this,指代当前对象。在Java中,除了static、final、private是静态绑定以外,所有方法一律按动态绑定处理。Java 中可以将类组织起来用Package打包,而C语言没有。Java程序中,不能在所有类之外定义全局变量,只能通过在一个类中定义公用、静态的变量来实现一个全局变量。 在Java中比C多了一些修饰符,如Public、Private、Protected这些访问修饰符,可以控制变量的使用范围。两者都有this来指代当前对象。在c语言中没有这种修饰符,也就是说在安全性方面不如java,java对变量的保护做得非常好。 Java不再使用指针,指针是C和C++中最灵活,也最容易产生错误的数据类型.由指针所进行的内存地址操作常会造成不可预知的错误,同时通过指针对某个内存地址进行显式类型转换后,可以访问一个C++中的私有成员,从而破坏安全性.而Java对指针进行完全地控制,程序员不能直接进行任何指针操作。可以说指针是c语言的精髓,然而java中更多的是对数据每一位的操作,比如substring等。 从专业的角度来说,Java课程对于软件设计而言是十分必要的,Java的定义是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台。Java

C语言,C++语言,Java语言有什么区别

C语言,C++语言,Java语言有什么区别 C不只能考级!! UNIX,WINDOWS漏洞,单片机。。很多地方都用到了C!! C语言是高级语言的基础,学习计算机语言可以先学C,但如果以后不用C直接学C++也行,但入门稍微困难点。 C是面向过程编程的,这样往往会导致所谓的单一程序,既所有的功能只能包含在几个(通常是一个)代码模块中。 而C++是面向对象编程(OOP)的,他杜绝了C面向过程的缺陷.OOP常常要使用许多代码模块,每个模块都有特定的功能,而且是孤立的。OOP提供了非常强大的多样性,大大增强了代码的重用机会! C语言有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。 当然,C语言也有自身的不足,比如:C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数族下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。 总之,C语言既有高级语言的特点,又具有汇编语言的特点;既是一个成功的系统设计语言,有时一个使用的程序设计语言;既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序;是一种受欢迎、应用广泛的程序设计语言。 C++:面向对象的语言.是一门独立的语言;他并不依赖C语言.是编程语言中最复杂的一门.而VC是用微软Visual C++编译器编译的语言,与标准c++有一些细微的不同. Java程序中的每个变量要么是基本数据类型(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的程序员感觉不到区别

Java语言概述(试题)

第一讲 Java语言概述1.Java语言有哪些特点? 2.什么叫做类?什么叫做对象? 3.简述Java的运行机制。 4.简述Java应用程序的开发流程。 5.当初Sun公司发展Java的原因是: (a)要发展航空仿真软件 (b)要发展人工智能软件 (c)要发展消费性电子产品 6.Java是从哪种语言改进并重新设计? (a)Ade (b)C++ (c)Pascal 7.Java因为什么快速发展而走红? (a)个人计算机与网络 (b)游戏软件 (c)系统软件 8.Java程序的种类有: (a)内嵌于Web文件中,由浏览器来观看的__________ (b)可独立运行的__________ (c)服务器端的_________ 9.Java是面向对象语言,对象是客观事物的,对象与之是一一对应的,它是很具体的概念。 10. 判断:用Javac编译Java源文件后得到代码叫字节码。()

参考答案 1.答:面向对象、简单、平台无关性、安全性、内存管理、分布式应用、多线程、动态、解释运行,高效能 2.答:在面向对象编程中,具体的客观实体称为对象,对象就是数据加方法。对象在程序中是通过一种抽象数据类型来描述的,这种抽象数据类型称为类。类是对具有相同属性和方法的一组相似对象的抽象,或者说类是对象的模板。 3.答:Java程序的运行必须经过编写、编译、运行三个步骤。编写是指在Java开发环境中进行程序代码的输入过程,最终形成后缀名为.java的Java源文件。编译是指使用Java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件。运行是指使用Java解释器将字节码文件翻译成机器代码,在cpu上运行并显示结果的过程。 4.Java应用程序的运行经过编写、编译、运行三个步骤。 第1步,编写程序。使用记事本或其他软件编写程序的源代码,将源代码保存为文件filename.java文件。 第2步,编译程序。在MS-DOS命令窗口,将当前目录转换到Java源程序所在的保存目录;输入“javac filename.java”形式的命令进行程序编译。 第3步,执行程序。在同样的命令窗口中输入“java filename”形式的命令执行程序。 完成了程序的开发,查看相应t目录,其中应该具有两个文件,分别是XXXX.java和XXXX.class。 5.c 6.b 7.a 8.Applet Application Servlets 9.软件模型 10.true

Java和C语言的对比

C语言和java的对比学习 前言 这里说写的都是我的学习笔记,然后这里的是很简单的对比学习,全部都是自己所理解的东西,而且都是很基础的,很简明的辅助自己理解学习而已。C语言不会涉及到指针以及比指针更难更深层次的内容;Java也不会涉及到面向对象以及比面向对象更深层次更难的内容。 2015年12月20日

运行机制 C语言: 源代码>编译>汇编>机器码>可运行程序 Java 源代码(*.java)>编译>字节码(*.class)>解释>程序运行 相当于:把”鱼(源代码)”买回来>用”刀(编译器)”宰鱼>处理好的”鱼(字节码)”>用锅(JVM,解释/运行环境:java虚拟机)把鱼煮熟>可以吃的鱼(可运行程序) PS:Java程序分为两种类型,一种是Application程序,也就是一般的桌面程序.还有一种就是Applet程序,主要是应用(嵌入)到网页编程上的.

开发环境搭建(简单入门) C语言 VC++ 6.0(直接安装直接用) Java Eclipse EE 1.下载安装JDK(Java 开发工具包 = java development kit) 2.下载eclipse(Mars, J2SE = java 2 standard edition 标准版,J2EE=企业 版,下载是下载EE版本的,EE版本可以做网页程序) 3.配置环境变量 JAVA_HOME: C:\Program Files\Java\jdk1.8.0_45 CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar 或者CLASSPATH: %JAVA_HOME%\lib\rt.jar;.; PATH: %JAVA_HOME%\bin

C语言与java关键字对比表

C语言Java关键字对比表 JAVA关键字C语言关键字相同关键字java特有C语言特有abstract auto break abstract auto assert break case assert const boolean case char boolean extern break char continue byte goto byte const default catch register case continue do class signed catch default double extends sizeof char do else final struct class double enum finally typedef continue else float implements unsigned default enum for import union do extern if instanceof double float int interface else for long native enum goto return new extends if short package final int static private finally long switch protected float register void public for return volatile strictfp if short while super implements signed synchronized import sizeof this instanceof static throw int struct throws interface switch transient long typedef try native unsigned new union package void private volatile protected while public return strictfp short static super switch synchronized this throw throws transient try void volatile while

写给Java程序员的C语言速成教程

写给Java程序员的C语言速成教程 徐婉珍2017.3.2 Java语言与C语言有千丝万楼的关系,Java语言中的许多基础语法都参照了C语言,因此有很多相似之处,例如:每条语句以分号结尾,变量定义、if语句、switch-case语句、for循环、while循环、do-while循环语句几乎都是一样的,下面请从C语言与Java语言的几点不同之处入手,帮助大家迅速掌握C语言的入门基础。 一、主函数 C语言不是面向对象的语言,它没有类和对象的概念。 与Java中的方法对应,C语言中称之为函数,程序运行的入口函数为main 函数,格式可书写如下: int main(){ //函数体 } 二、输入与输出 首先应在程序文件的第一行(在main函数之前)书写下面的指令,以导入相应的头文件: #include 作用相当于Java中的import语句,但在C语言中,这是一条编译指令,所以注意后面没有分号。 头文件中包含了所需要使用的库函数的原型。使用输入输出函数时需要包含的头文件是stdio.h。 ●输入语句: example1: int a; scanf("%d",&a); //注意变量名的前面要加上取地址的符号& example2: float price; scanf("%f",&price); 从上面的例子可以看出,scanf语句的第一个参数%后面跟着的字符表示所应输入的数据的的类型。 ●输出语句: example1: printf("《%s》这本书的价格是%4.2f,库存量为%d","他来了",29.5,10);

该语句输出下面的结果: 《他来了》这本书的价格是29.5,库存量为10 example2: 输出换行符应使用转义字符'\n' printf("白日依山尽,\n黄河入海流。\n欲穷千里目,\n更上一层楼。\n"); 该语句输出下面的结果: 白日依山尽, 黄河入海流。 欲穷千里目, 更上一层楼。 建议练习:输入两个整数,输出这两个整数之和。 三、布尔值 在C语言中,使用整型变量代表Java中的boolean,非0值即为真值,整数0值代表假。 example1: int n=5; while(n) {printf("%d ",n);n=n-1;} 该段代码将输出下面的结果: 5 4 3 2 1 四、数组 C语言的数组与Java语言非常相似,但又有所不同。 ●定义数组: int a[5]; //定义长度为5的数组,不同于Java的: int a[]=new int[5]; int b[]={1,2,3}; 说明一个变量为数组类型时,中括号[]必须写在数组名称的后面,而Java中可以写在数组名后面,也可以写在前面。 ●遍历数组,输出每一个元素的值: int i; for(i=0;i

培训学Java和C语言哪个更好

培训学Java和C语言哪个更好? 对于很多初学者来讲,不太清楚Java和C语言的区别,为了让那个大家更清晰的了解,近日千锋小编特意给大家归纳了一些两者的大致区别,希望能够给大家带来一定的帮助作用,也欢迎大家进行详细补充和归纳。 首先,Java是针对于对象的机制,运算符“new”为每个对象分配内存空间,实际内存会随程序的运行而发生改变。在运行的同时每个Java系统会对内存进行扫描,会对整个系统资源进行“采集”。这个时候一部分的垃圾文件就会被删除或者暂时回收。这样就使得整个系统资源就使用的更加充分合理,程序员对于这点就不需要担心系统内存方面的一些管理要求,在编写程序的时候也就变得更加的简洁明了。而c语言则是通过malloc()和free()这两数据库函数来分别实现对于的内存的分配和内存的合理运用。 其次,C语言更多通过子函数调用,Java通过类和类引用,同时拥有非常多的接口。Java面向对象特征主要表现为封装,继承和多变,C语言支持“运算符的重载”,这个是数据抽象和泛型编辑的一大宝典。Java本身为了降低复杂性而

不支持这种多变机制,对于Java可以支持方法重载和重写。 另外,Java比C语言多了一些修饰“Public、Private、Protected”都是一些比较常用的修饰符,而C语言没有这类的修饰语言,换句话的意思就是C 语言还缺乏一定的安全性。 再者,Java不使用指针,但是指针是C语言的精髓,然而Java中更多的是对数据每一位的操作,比如substring等。 总结来讲,Java与C语言相比,Java具有简单、面向对象、分布式、健壮、可移植、解释性、安全、多线程、垃圾回收等等特点。而对于C语言则是一个比较宏观的领域,因此Java可以说是C语言的基础上开设,即C语是基石,Java 在时下的运用和使用方面就比较全面。 如果你对Java有更多的兴趣或者想要学习Java的相关技术知识,可移步到千锋官网进行详细咨询了解相关内容。

相关文档
最新文档