Java和C有什么区别,应该学习Java还是C

java室友c 发展而来,与c 有类似之处,不过java更加清晰、规模较小,容易学习。经过高手们的加工,java从根本上解决了c 的固有缺陷,成为了一种新的完全面向对象的语言。

java与c 类似,但也存在多处不同之处,当然,如果有c基础,学习java会更加容易。

多重继承

C 支持多重继承,它允许多父类派生一个子类。也就是说,一个类允许继承多个父类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。所以 Java 不支持多重继承,但允许一个类实现多个接口。可见,Java 既实现了 C 多重继承的功能,又避免了 C 的许多缺陷。

指针

Java 没有指针的概念,从而有效地防止了在 C/C 语言中,容易出现的指针操作失误(如指针悬空所造成的系统崩溃)。在 C/C 中,指针操作内存时,经常会出现错误。在Java 中没有指针,更有利于 Java 程序的安全。

如果你想学习Java可以来这个群,首先是二二零,中间是一四二,最后是九零六,里面可以学习和交流,也有资料可以下载。

数据类型

Java 是完全面向对象的语言,所有方法和数据都必须是类的一部分。除了基本数据类型之外,其余类型的数据都作为对象型数据。例如对象型数据包括字符串和数组。类将数据和方法结合起来,把它们封装在其中,这样每个对象都可实现具有自己特点的行为。而 C 将函数和变量定义为全局的,然后再来调用这些函数和变量,从而增加了程序的负担。此外,Java 还取消了 C/C 中的结构和联合,使编译程序更简洁。

如果你想学习C/C++可以来这个群,首先是三三零,中间是八五九,最后是七六六,里面可以学习和交流也有资料可以下载。

Java 不支持缺省函数参数,而 C 支持。

在 C 中,代码组织在函数中,函数可以访问程序的全局变量。C 增加了类,提供了类算法,该算法是与类相连的函数,C 类方法与 Java 类方法十分相似。由于 C 仍然支持 C,所以 C 程序中仍然可以使用 C 的函数,结果导致函数和方法混合使用,使得 C 程序比较混乱。

类型转换

在 C 和 C 中,有时出现数据类型的隐含转换,这就涉及了自动强制类型转换问题。例如,在 C 中可将一个浮点值赋予整型变量,并去掉其尾数。Java 不支持 C 中的自动强制类型转换,如果需要,必须由程序显式进行强制类型转换。

时间: 2024-11-16 13:50:41

Java和C有什么区别,应该学习Java还是C的相关文章

java-求助!我想系统的学习Java

问题描述 求助!我想系统的学习Java 我是新手 我想系统的学习Java,请问谁知道下载地址或者给我QQ邮箱:6225358@qq.com谢谢 解决方案 这么巧啊,我准备结合案例系统的写一个java web开发教程,有兴趣的话关注我的博客.现在我的博客一篇文章都没有,不过,今天我就开始写第一篇文章.你关心什么问题?前台html div+css都了解吗? 解决方案二: 自己去了解吧,java基础,jspssh框架... 解决方案三: 哥们给你个中肯的意见,你可以去传智博客下载学习基础视频资料,看看

学习JAVA编程思想4的好方法

问题描述 跪求大神总结学习JAVA编程思想4的好方法. 解决方案 解决方案二:Java编程思想是很好的学习Java的材料,但对初学者来说有的地方不是能够轻易明白的.因为Java涉及的概念和技术非常广泛,建议先把基础夯实,比如类,接口,继承,多态等,这些有了基础后可以再深入学习正则表达式.线程.io等,一定要动手编写代码,并确实明白代码的执行逻辑.解决方案三:1.背把那些死知识背下来,复习巩固2.敲可以按书本例子课后题敲,对没掌握的可以重复敲3.测找其他题测试掌握情况,最好找SCJP题库的题,因为

求学习JAVA的好书

问题描述 我是学计算机的,对java很有兴趣,想深入学习java,请各位高手推荐几本好书,谢谢啦. 解决方案 解决方案二:java核心卷1和2thinkinjava..java解惑深入Java虚拟机...都不错,,解决方案三:JavaCore.解决方案四:谢谢啦解决方案五:java编程思想

学习Java中需要注意那些重点知识?

问题描述 我是长沙清华it的一名学员,今年才开始接触Java方面的知识,我想问一下,学习Java需要怎么样去学,才学的更好.谢谢各位大师人物· 解决方案 解决方案二:语法完了...面向对象掌握好...集合IO...一直下去多看多敲...不要眼高手低就好解决方案三:重点结合hibernate理解面向对象的思想,结合struts理解MVC既web开发,结合spring理解ioc解决方案四:其实学习这门语言还是收获到很多的启示的学习永远没有旁观者别人会的,我们也会.谢谢大家的建议和意见.解决方案五:推

想对那个说我是文盲的人说,文盲也有权利学习java

问题描述 想对那个说我是文盲的人说,文盲也有权利学习java 想对那个说我是文盲的人说,文盲也有权利学习java.大家说说不懂英文难道不能学java了? 解决方案 我就是打个比方.毕竟计算机是老外发明的,所以不懂英文和文盲也没有什么区别. 解决方案二: 能,但是遇到问题还是会英文方便一些,建议学一下英文,其实技术文档英文也挺好学的,也就那么几个单词~ 解决方案三: 当你写着写着,有时候看看英文的官方文档,就会爱上英文的 解决方案四: 天才并非哪里都有,但已遍布四方 解决方案五: 天才并非哪里都有

字符串-java中String str1…的区别,详细见内容

问题描述 java中String str1-的区别,详细见内容 String str1,str2; str1 = "we are friends"; str2 = "we are friends"; 和 String str1 = "we are friends"; String str2 = "we are friends"; 在内存上的区别是什么? 是否有区别? 解决方案 没有区别,他们指向同一个对象 解决方案二: 就最后

零基础如何学习java更有效呢?

零基础学java,不知道该如何入手?也不知道学习的方向,很多人会问零基础怎么样学习,有没有什么入门的书籍推荐:只要方法正确,零基础学好java也是有机会的哦.                                                 一.理解Java思想Java是一门面向对象编程语言.向对象编程是Java最核心的思想,这也是区分和C等其他编程语言的一个显著特征.掌握面一门语言,首先得掌握它的思想,思想决定高度.这就和我们学习语文和英语一样,汉语学拼音,英语学音标.抓住了核心

学Java,是自学还是去培训班学习?

现在正在读在校的最后一个学年,想毕业后从事编程,但是感觉自己技术太差,应该是培训呢?还是去找实习?亦或是有更好的途径? 对于 Android 目前的行业趋势,不知道自己该不该坚持?还是转其他行业? 已经工作 1/2 年,感觉自己没什么提升?想要如何进阶? 刚刚工作,心里各种念头(任务完不成怎么办?项目代码看不懂,不知道从哪下手?给的需求自己不知道怎么做?很多东西自己从来不知道,博客看不懂等等),感觉一天下来什么收获都没有,自己却很累,不知道如何走过这一关? 正在读大学,感觉学校讲的知识过时了,自

学习Java分为几个阶段,分别是什么?

多年前我自学的时候是很茫然,上网问问题,总是一堆外行的人说很难啊,你需要这样需要那样,不然就是,一堆人说一些空话,多看多写,买好书,我很无语,除了这些就没有自己的一些想法吗? 首先很多人认为学JAVA要C的基础,但是实际上不用,学开车,我不想先学骑自行车,没有必要. 第一阶段: 1. JAVA语法和基础,包括循环..和类的相关内容,如实现,继承什么的 2, 你需要掌握几个重点的集合,List接口的两个子类LinkedList,ArrayList;然后是Map几口的两个子类HashMap,Hash