Skip to content
Related Articles

Related Articles

Java vs C#
  • Difficulty Level : Medium
  • Last Updated : 18 May, 2020
GeeksforGeeks - Summer Carnival Banner

C# is a general-purpose, modern and object-oriented programming language pronounced as “C sharp”. It was developed by Microsoft led by Anders Hejlsberg and his team.

Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented etc. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture.

Below are some major differences between C# and Java:

FeatureC#Java
Operator OverloadingC# supports operator overloading for multiple operators.Java does not support operator overloading.
Runtime EnvironmentC# supports CLR(Common Language Runtime).Java supports JVM(Java Virtual Machine).
API ControlC# API are controlled by open source community.Java API are also controlled by open community process.
Public ClassesIn C#, there can be many public classes inside a source code.In Java there can be only one public class inside a source code otherwise there will be compilation error.
Checked ExceptionsC# does not supports for checked exception. In some cases checked exceptions are very useful for smooth execution of program.Java supports both checked and unchecked exceptions.
Platform DependencyC# is cross-platform and runs on both Windows & Unix based systems.Java is a robust and platform independent language. Platform independency of Java is through JVM.
PointersIn C# pointers can be used only in unsafe mode.Java does not supports anyway use of pointers.
Conditional CompilationC# supports for conditional compilation.Java does not supports for conditional compilation.
goto statementC# supports for goto statement.Java does not supports for goto statement. Use of goto statement will cause error in Java code.
Structure and UnionC# supports structures and unions.Java doesn’t support structures and unions.
Floating PointC# does not supports strictfp keyword that means it result of floating point numbers may not be guaranteed to be same across all platforms.Java supports strictfp keyword that means its result for floating point numbers will be same for various platform.

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :