There are many differences and similarities between Java and C#. A list of top differences between Java and C# are given below:

No.

Java

C#

1)

Java is a high level, robust, secured and object-oriented programming language developed by Oracle.

C# is an object-oriented programming language developed by Microsoft that runs on .Net Framework.

2)

Java programming language is designed to be run on a Java platform, by the help of Java Runtime Environment (JRE).

C# programming language is designed to be run on the Common Language Runtime (CLR).

3)

Java type safety is safe.

C# type safety is unsafe.

4)

In java, built-in data types that are passed by value are called primitive types.

In C#, built-in data types that are passed by value are called simple types.

5)

Arrays in Java are direct specialization of Object.

Arrays in C# are specialization of System.

6)

Java does not support conditional compilation.

C# supports conditional compilation using preprocessor directives.

7)

Java doesn't support goto statement.

C# supports goto statement.

8)

Java doesn't support structures and unions.

C# supports structures and unions.

9)

Java supports checked exception and unchecked exception.

C# supports unchecked exception.