JAVA语言和C/C++语言有什么异同?

如题所述

Java 是由 C++发展而来的,保留了 C++的大部分内容,其编程方式类似于 C++。但 Java 的句法更清晰、规模更小、更易学。Sun 公司对多种程序设计语言进行了深入研究,并摒弃了其他语言的不足之处,最终退出了 Java。正是这样,Java 从根本上解决了 C++的固有缺陷,形成了一种新的完全面向对象的语言。Java 和 C/C++的相似之处多于不同之处,有 C 基础的读者,学习 Java 会更容易。相比较而言,Java 的编程环境更为简单。

    刚开始的时候我们也搞不清这些概念,不过后来就慢慢清晰了,首先和大家谈谈Java和js的区别,最简单的区别就是一个是后端,一个是前端。

    java是纯面向对象语言,javascrip其实和Java是完全不同的东西,他以前也不叫JavaScript,叫做etscape Navigator,据说是为了搭载Java的顺分车才改名叫js的,因为当时Java很火。

    JavaScript 是一种“脚本”,它直接把代码写到 HTML中,浏览器读取它们的时候才进行编译、执行。Java,是嵌在网页中,而又有自己独立的运行窗口的小程序。而且JavaScript 是动态类型语言,而 Java 是静态类型语言

    让我们在来看看Java和c语言的区别,首先Java是面向对象的在里面,而C是完全面向过程的。Java可以跨平台,不同的操作系统都可以通过JVM来解释Java程序,而c语言的有些指令只在某些操作系统中才能执行。

    那么js和c语言的区别在哪里呢?JavaScript是嵌入式脚本语言,可以直接插入网页或者以单独文件的形式引入网页。C语言是编译型语言,编写完毕后需要调试、编译,编译后为可执行文件,可独立运行。

    1.指针

    JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c/c++语言中指针操作失误,如野指针所造成的系统崩溃。但也不是说JAVA没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利于Java程序的安全。

    2.多重继承

    c++支持多重继承,这是c++的一个特征,它允许多父类派生一个类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。Java不支持多重继承,但允许一个类继承多个接口(extends+implement),实现了c++多重继承的功能,又避免了c++中的多重继承实现方式带来的诸多不便。

    3.数据类型及类

    Java是完全面向对象的语言,所有函数和变量部必须是类的一部分。除了基本数据类型之外,其余的都作为类对象,包括数组。对象将数据和方法结合起来,把它们封装在类中,这样每个对象都可实现自己的特点和行为。而c++允许将函数和变量定义为全局的。此外,Java中取消了c/c++中的结构和联合,消除了不必要的麻烦。

    4.自动内存管理

    Java程序中所有的对象都是用new操作符建立在内存堆栈上,这个操作符类似于c++的new操作符。下面的语句由一个建立了一个类Read的对象,然后调用该对象的work方法:

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-08
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中的boolean类型不能转换成其他类型,反之亦然。C++最近引进了bool类型,代表布尔类型,整型也作为逻辑判断

模板是一种“泛型编程思想”,它有别于“面向对象编程思想”。C++在很大程度上已经支持了这种新型编程方法,特别是STL的出现
Java目前仍未支持泛型编程,不过据说Sun公司有在Java中引入模板的计划

C++支持“运算符的重载”,这是它的一个很重要的多态特征,是数据抽象和泛型编程的利器。它允许直接对对象进行四则运算,正像基本数据类型那样
Java不支持这种多态机制,也是为降低复杂性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中的boolean类型不能转换成其他类型,反之亦然。C++最近引进了bool类型,代表布尔类型,整型也作为逻辑判断

模板是一种“泛型编程思想”,它有别于“面向对象编程思想”。C++在很大程度上已经支持了这种新型编程方法,特别是STL的出现
Java目前仍未支持泛型编程,不过据说Sun公司有在Java中引入模板的计划

C++支持“运算符的重载”,这是它的一个很重要的多态特征,是数据抽象和泛型编程的利器。它允许直接对对象进行四则运算,正像基本数据类型那样
Java不支持这种多态机制,也是为降低复杂性
第2个回答  推荐于2017-10-06
JAVA衍生自C++.

语法同C++很相似, 但是和C++相比, JAVA去除了一些C++中比较复杂和难以掌握的部分(比如说多重继承), 以及C/C++中那些允许访问系统底层数据的能力(指针).
这使得JAVA相对于C/C++更加容易学习和入门.

JAVA的代码被编译为"中间码", 而不是像C/C++那样直接编译成机器代码, 这一点带给了JAVA极高的移植性, 但是和C/C++相比, 程序的执行效率却比较低下.

JAVA重要运用在没有大量的数据运算, 但是对移植性要求比较高的地方, 比如网络程序啦, 手机程序啦.

C/C++因为执行效率高, 经常被用来编写系统程序, 以及需要处理大量数据的程序, 以及嵌入式单片机等等啦本回答被提问者和网友采纳
第3个回答  2015-09-25
语法基本相似. 但是c/c++ 是本地语言 速度较快.
而java是解释型的,他并不是把代码地址直接送入内存执行,而是由一个虚拟机来运行java的伪机器码.因此速度上稍慢,而且比较吃内存和cpu.
第4个回答  推荐于2017-09-08
C是中级语言 JAVA C++ 是高级语言
JAVA用的人最多,可以做手机软件Windows软件
C++不 能做手机软件
C什么都能做,但是效率低。C是他们的爸爸

JAVA语言和C\/C++语言有什么异同?
让我们在来看看Java和c语言的区别,首先Java是面向对象的在里面,而C是完全面向过程的。Java可以跨平台,不同的操作系统都可以通过JVM来解释Java程序,而c语言的有些指令只在某些操作系统中才能执行。那么js和c语言的区别在哪里呢?JavaScript是嵌入式脚本语言,可以直接插入网页或者以单独文件的形式引入网页...

C++和C语言和JAVA开发的区别??
面向对象没有java彻底。 由于C++要兼容C的内容,而C是面向过程的,所以C++不可避免地出现过程影子,并不算是完全的面向对象的程序设计语言。例如总得要有main或winmain之类的过程吧。 2。C++的移植能力没有java好。 由于C++的事实标准的存在,即各个编译器总存在差异,所以或多或少存 在不兼容。而...

C++和JAVA语言有的相同点和不同点
1、Java为解释性语言,其运行过程为:程序源代码经过Java编译器编译成字节码,然后由JVM解释执行。而C\/C++为编译型语言,源代码经过编译和链接后生成可执行的二进制代码,可直接执行。因此Java的执行速度比C\/C++慢,但Java能够跨平台执行,C\/C++不能。2、Java是纯面向对象语言,所有代码(包括函数、变量...

JAVA与C++的区别详解
JAVA和C++都是面向对象语言,都支持封装,继承和多态等面向对象思想。但C++在兼容C语言后,其面向对象的特性略显不足,而JAVA则是完全的面向对象语言。JAVA语句更清晰,规模更小,更容易学习。其在多种程序设计语言的基础上,解决了C++的固有缺陷。JAVA与C++的相似点多于不同点,但两者之间的主要区别使得...

Java和C语言\/C++的区别?
7. C语言程序生成代码质量高,程序执行效率高 一般只比汇编程序生成的目标代码效率低10%--20%。8. C语言适用范围广,可移植性好 C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型。至于C++的优点,最最重要的是他们之间的区别:Java 与 C\/C++ 区别。

c++语言与java语言的区别有哪些?
Java与C++之间的区别主要体现在语言特性、设计哲学、开发效率、安全性和跨平台性等方面。以下是一些关键区别:Java作为一门面向对象的编程语言,具有以下特点:1. 简洁易学:Java语言相对于C++来说,语法更为简洁,易于学习。它简化了许多复杂的特性,如头文件、指针、结构体、运算符重载等,使得程序更加...

C++和JAVA得区别?
一、主体不同 1、C++:是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计。2、JAVA:是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念。二、特点不同 1、C++:不仅拥有计算机高效运行的实用性...

C语言和C++以及Java的本质区别是什么?它们应用的平台和运行环境个是什么...
1.C语言是纯面向过程语言,Java是纯面向对象语言,C++是二者兼有 2.C语言和C++都是编译运行,Java是通过虚拟机解释运行,从运行速度上讲,C和C++更快 3.从表面上来说,Java是跨平台的语言,同样一份二进制码,可以分别放到不同的平台,运行出相同的结果,但是事实上,每个平台也都有C和C++的编译...

c++教程和java哪个好学?
C语言和JAVA,哪个更难学?1、但是相比较起来java是比较容易学的,因为java是基于API去编程的,意思就是说我们想要实现某些功能自己不需要去实现,只需要调用别人写好的API实现就好了。因此,从难易程度上来看C语言比java更加的难。2、当然是c语言更加难学。因为c语言更偏向于底层。而java学习起来更加轻松...

c++和java哪个有前途(c++好还是java)
第一,Java语言提供更好的抽象,如垃圾回收,让程序员不用为内存的分配和释放操心,同时减少了C\/C++中的复杂性。因此容易学习是其特点。C语言比较好学,简单,速成。C语言用得比较广,而且是很成熟的面向过程的一门语言。java好,没有错。不是语言的问题,是java的生态更好,开源的属性,框架多,资源...

相似回答