Difference Between C# and Java

C#
Java
1. C# uses Common Language Runtime (CLR)1. Java uses Java Runtime Environment (JRE)
2. C# supports the struct data type2. Java doesn't supports struct data type
3. C# supports operator overloading. 3. Java doesn't supports operator overloading.
4. C# type-safety is unsafe4. Java type-safety is safe.
5. C# supports goto statement.5. Java doesn't supports goto statement.
6. In C#, It uses static final to declare a class constant 6. In Java, It uses const to declare a class constant
7. In C#, parameters are passed by reference7. In Java, parameters are passed by value
8. C# supports only unchecked exception8. Java supports checked and unchecked exception