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 中的自动强制类型转换,如果需要,必须由程序显式进行强制类型转换。


相关文章
|
9天前
|
存储 Oracle Java
java零基础学习者入门课程
本课程为Java零基础入门教程,涵盖环境搭建、变量、运算符、条件循环、数组及面向对象基础,每讲配示例代码与实践建议,助你循序渐进掌握核心知识,轻松迈入Java编程世界。
79 0
|
2月前
|
Java API 容器
Java基础学习day08-2
本节讲解Java方法引用与常用API,包括静态、实例、特定类型方法及构造器引用的格式与使用场景,并结合代码示例深入解析。同时介绍String和ArrayList的核心方法及其实际应用。
117 1
|
16天前
|
IDE Java 编译器
java编程最基础学习
Java入门需掌握:环境搭建、基础语法、面向对象、数组集合与异常处理。通过实践编写简单程序,逐步深入学习,打牢编程基础。
123 0
|
16天前
|
负载均衡 Java API
grpc-java 架构学习指南
本指南系统解析 grpc-java 架构,涵盖分层设计、核心流程与源码结构,结合实战路径与调试技巧,助你从入门到精通,掌握高性能 RPC 开发精髓。
111 7
|
2月前
|
Java
Java基础学习day08-作业
本作业涵盖Java中Lambda表达式的应用,包括Runnable与Comparator接口的简化实现、自定义函数式接口NumberProcessor进行加减乘及最大值操作,以及通过IntProcessor处理整数数组,实现遍历、平方和奇偶判断等功能,强化函数式编程实践。
55 5
|
2月前
|
Java 程序员
Java基础学习day08
本节讲解Java中的代码块(静态与实例)及其作用,深入介绍内部类(成员、静态、局部及匿名)的定义与使用,并引入函数式编程思想,重点阐述Lambda表达式及其在简化匿名内部类中的应用。
103 5
|
2月前
|
Java
Java基础学习day07-作业
本作业包含六个Java编程案例:1)动物类继承与多态;2)加油卡支付系统;3)员工管理类设计;4)学生信息统计接口;5)USB设备控制;6)家电智能控制。综合运用抽象类、接口、继承、多态等面向对象技术,强化Java基础编程能力。
152 3
|
2月前
|
Java
Java基础学习day06-作业
本内容为Java基础学习作业,涵盖两个案例:一是通过Card类及其子类GoldenCard、SilverCard实现加油卡系统,体现封装与继承;二是通过Shape类及子类Circle、Rectangle演示多态与方法重写,强化面向对象编程理解。
54 1
|
2月前
|
设计模式 存储 Java
Java基础学习day07
本节讲解Java中的final关键字、单例设计模式、枚举类、抽象类与接口。涵盖常量定义、单例写法(饿汉式/懒汉式)、枚举特点及应用场景,以及抽象类与接口的使用与区别,助力掌握核心面向对象编程思想。
115 1
|
2月前
|
算法 Java
Java基础学习day03-作业
本内容包含多个Java编程案例,涵盖条件判断、循环、数组、随机数生成、素数判断等基础算法练习,适用于巩固Java语法与逻辑思维训练。
96 6
下一篇
开通oss服务