Java vs C

原文:https://www.geeksforgeeks.org/java-vs-c-sharp/

C# 是一种通用、现代、面向对象的编程语言,发音为“C sharp”。它是由安德斯·海尔斯伯格和他的团队领导的微软开发的。

Java 是一种并发、基于类、面向对象等通用计算机编程语言。Java 应用程序通常被编译成字节码,可以在任何 Java 虚拟机(JVM)上运行,而不管计算机架构如何。

下面是 C#和 Java 的一些主要区别:

特征 C# Java
运算符重载 C#支持多运算符重载。 Java 不支持运算符重载。
运行时环境 C#支持 CLR (公共语言运行时)。 Java 支持 JVM (Java 虚拟机)。
API 控制 C# API 均由开源社区控制。 Java API 也由开放社区进程控制。
公共类 在 C#中,一个源代码里面可以有很多公共类。 在 Java 中,一个源代码里面只能有一个公共类,否则会出现编译错误。
已检查异常 C#不支持针对已检查异常。在某些情况下,检查异常对于程序的顺利执行非常有用。 Java 支持选中和未选中的异常。
平台依赖关系 C#是跨平台的,运行在两个基于 Windows & Unix 的系统上。 Java 是一种健壮且独立于平台的语言。Java 的平台独立性是通过 JVM 实现的。
指针 在 C#中指针只能在不安全模式下使用。 Java 无论如何不支持指针的使用。
条件编译 C#支持进行条件编译。 Java 不支持进行条件编译。
goto 语句 C#支持 for goto 语句。 Java 不支持 for goto 语句。使用 goto 语句会导致 Java 代码出错。
结构和联合 C#支持结构和联合。 Java 不支持结构和联合。
浮点 C#不支持 strictfp 关键字,这意味着可能无法保证浮点数的结果在所有平台上都相同。 Java 支持 strictfp 关键字,也就是说它对于浮点数的结果对于各种平台都是一样的。