Java和C#都是编程的语言,它们是两个不同方向的两种语言

相同点:

他们都是面向对象的语言,也就是说,它们都能实现面向对象的思想(封装,继承,多态)

区别:

1.c#中的命名空间是namespace类似于Java中的package(包),在Java中导入包用import而c#中用using。
2.c#和Java都是从main函数入口的,但是c#中的main函数的首字母必须大写,它有四种写法如下:
static void Main(string args[]){}
static int Main(string args[]){}
static void Main(){}
static void Main(){}
而Java中只有一种形式:static void main(String [] args){}
3.数据类型:Java跟c#基本都差不多,但是Java的String类型的首字母必须大写,而c#中可以小写也可以大写,还有布尔型,Java中是boolean,c#中是bool。
4.变量的命名:Java中可以用$符号,而c#中不可以使用。
5.注释:Java比c#少一种"///"的文档注释。
6.输出:c#有三种方式输出:Cosole.WriteLine(); Cosole.WriteLine(要输出的值); Cosole.WriteLine("格式字符串",变量列表); 前两种的用法与Java中的ystem.out.println()方法的用法相同,第三种方式是根据占位符输出的,比Java更方便了。
7.控制流语句:c#跟Java类似,还有c#中的switch如果case后面有内容必须要有break;Java可以没有break;
8.数组:两种语言的声明都是用new关键字的。都可以在创建数组的同时初始化如:int a[]={1,2,3,5,5};但是c#比Java多两种初始化如:int a[]=new int[3]{1,2,3}; int a[]=new int[]{1,2,3};
9.方法中传递的参数:两种语言都使用值传递与引用传递。
C#的引用传递的关键字是ref与out,ref侧重于修改,out侧重于输出。而Java中都以传值方式;
10.访问修饰符:C#中的访问修饰符与Java中的基本对应,但多出了一个internal。简而言之,C#有5种类型的可访问性,如下所示:
public:成员可以从任何代码访问。 protected:成员只能从派生类访问。
internal:成员只能从同一程序集的内部访问。
protected:成员只能从同一程序集内的派生类访问。
private:成员只能在当前类的内部访问。
11.由于C#中不存在final关键词,如果想要某个类不再被派生,你可以使用sealed关键词密封。
12.集合:两种语言都有集合ArrayList,还有通过键访问值的Java中是HashMap而c#中是HashTable。c#比Java多泛型集合List<T>与Dictionary<K,V>更容易了,无需拆箱装箱了,更安全了。
13.继承:Java中用关键字extends,c#只用":"就行了.调用父类的构造方法Java用super关键字,而c#用base关键字。
14.多态:抽象类和抽象方法两种语言都用abstract关键字。Java中另外一个类如果继承了它,实现直接重写此方法就可以了;而c#必须加上关键字override实现。C#还比Java多一种虚方法来实现多态。
15.接口:都用关键字interface定义,Java实现用关键字implements;c#用":"实现。在C#中,接口内的所有方法默认都是公用方法。在Java中,方法声明可以带有public修饰符(即使这并非必要),但在C#中,显式为接口的方法指定public修饰符是非法的。
16.C#中的is操作符与Java中的instanceof操作符一样,两者都可以用来测试某个对象的实例是否属于特定的类型。在Java中没有与C#中的as操作符等价的操作符。as操作符与is操作符非常相似,但它更富有"进取心":如果类型正确的话,as操作符会尝试把被测试的对象引用转换成目标类型;否则,它把变量引用设置成null。
17.结构(Struct)与类很相似,而结构是一种值类型,它存储在栈中或者是嵌入式的,结构可以实现接口,可以象类一样拥有成员,但结构不支持继承。
18.c#保留了指针。Unsafe。(C#使用指针不安全,最后这条有待考证)

from: https://www.cnblogs.com/rentianwei/p/5189194.html

转载于:https://www.cnblogs.com/GarfieldEr007/p/10016873.html

JAVA与C#的区别相关推荐

  1. java 与 |与||的区别

    java &与&& |与||的区别 一.与操作和或操作的区别 (1)在Java程序中,使用与操作,要求所有表达式的判断结果都是TRUE,才为真,若有一个为FALSE,那么最终判 ...

  2. java和C++的区别

     JAVA和C++的区别介绍框架纲领如下: (一) 序言: (二) 我学习二者的个人感受: (三) 个人建议: (四) 用JAVA中继承的特性来描述C++和JAVA的关系图示: (五) JAVA和 ...

  3. float 与 double、隐式类型转换、switch、重写与重载、Java 与 C++ 的区别、JRE or JDK

    1.float 与 double 1.1 字面量属于 double 类型,不能直接将 1.1 直接赋值给 float 变量,因为这是向下转型. // float f = 1.1; Java 不能隐式执 ...

  4. Java和OC的区别

    Java和OC的区别 转载于:https://www.cnblogs.com/imChay/p/5591357.html

  5. kotlin和java差别_Kotlin和Java的常用方法的区别总结

    一.kotlin和java的常用语法区别 1).类.public class.public final class java 1 2public final class User{ } 1 2publ ...

  6. C#和Java中“==”和“equals”区别

    C#中"=="和"equals"区别如下: 1 using System; 2 class Program 3 { 4 public static void M ...

  7. java跟c 的区别_【c++跟java的区别】java跟c语言的区别

    Java与C/C++作为编程语言的两大巨头,他们有什么区别呢?下面是小编为大家准备的c++跟java的区别,希望大家喜欢! c++的定义 C++是一种面向对象的计算机程序设计语言.C++这个词在中国大 ...

  8. bs后端开发语言_哪种编程语言适合后端开发?Java和PHP的区别在哪?

    从技术上看在web开发上,Java和PHP哪个更好呢? 一位从多年PHP开发转Java的技术人员说,应是各有千秋,各有各的好处,这是非常实际的答案. java已经是一门很成熟的语言,曾经看到一篇文章, ...

  9. c++和java哪个好学_【技术科普】C语言和java语言有些什么区别?

    C语言和java语言有些什么区别? 可以打个比方吧: C语言就像一个初创公司的老板,由于人少经费少,从技术.财务.市场等都需要自己管,经常把自己累的跟狗一样: Java语言就像一个上市大公司的老板,人 ...

  10. Java中equals()和“==”区别

    Java中equals()和"=="区别 1.对于基础数据类型,使用"=="比较值是否相等: 2.对于复合数据类型(类),使用equals()和"== ...

最新文章

  1. 深度学习指数的使用——np.exp(-4)和1e-4的区别
  2. 解决Canvas.toDataURL 图片跨域问题
  3. Kali 2017更新源
  4. 曾陷“数据风暴”危机的赛默飞世尔如何化险为夷的?
  5. Aizu - 2249
  6. 启用windows功能NetFx3时出错的离线解决方案
  7. VOC 2007数据集结构
  8. Access2016学习5
  9. 计算机上无线网络开关在哪里,笔记本电脑的无线网络开关在哪里
  10. 谷歌浏览器Chrome播放rtsp实时视频,并抓图、录像、回放、倍速等
  11. 人工智能(regex)—— 正则表达式
  12. 磁力搜索网站+下载神器放送2019-03-05
  13. 填写开始日期后根据天数或者月数计算结束日期
  14. SVN在Eclipse中的安装步骤以及使用方法和建立分支
  15. 转:CDH--彻底解决问题----时钟异常
  16. 爬取微信朋友圈信息-可视化
  17. k42.第十七章 K8s运维篇-DevOps 持续集成 持续部署 (二)
  18. 仍然不足够--读后感
  19. 人造金刚石 量子计算机,科学家确认“不可能的”时间晶体真的存在,或致量子计算机的突破...
  20. html,htm,html5,shtml的区别

热门文章

  1. python-学生管理系统--2录入学生信息内容以及代码
  2. python,web框架说明
  3. JDK动态代理在RPC框架中的应用
  4. 并发编程(十一)—— Java 线程池 实现原理与源码深度解析(一)
  5. Python学习笔记(六)——查询天气脚本
  6. NodeJs之http
  7. ORA-04031:unable to allocate 4120 bytes of shared memory ‘obj stat mem’故障解决
  8. 如何打开SAR 文件
  9. jQuery中绑定事件的命名空间详解
  10. 【连载】【FPGA黑金开发板】NIOS II那些事儿--SDRAM实验(十二)