问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java与C#的区别在哪里?

发布网友 发布时间:2022-04-25 04:34

我来回答

2个回答

热心网友 时间:2023-10-26 07:03

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中的System.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.枚举器即enum类型(java无),把它作为一个变量值的类型使用,从而把变量可能的取值范围*为枚举器中出现的值。
18.结构(Struct)与类很相似,而结构是一种值类型,它存储在栈中或者是嵌入式的,结构可以实现接口,可以象类一样拥有成员,但结构不支持继承。
19.c#保留了指针。Unsafe。

热心网友 时间:2023-10-26 07:04

其实,C#和java的区别,从语言特性上来说,区别不是很大,因为C#本身就继承了C++和Java的特性。这么说吧,C#语法上80~90%兼容C++,同时又具有Java的显著特性:垃圾回收机制,反射机制,都编译为中间语言,必须依赖虚拟机,对接口和内部类的支持,完善的异常体系,等等。区别的话,一个是跨平台性,C#没有像Java那样得到广泛的支持,另外一个,对C++语法和特性的直接继承,加上融合了Java的优秀特性,使得C#使用起来更加简洁方便。略举一二:1) C#中的Attribute/Property 这个是Java不支持的。2) 代理,Java使用起来比C#复杂。3) 命名空间,Java用package来取代,C#保留了C++的传统,从C/C++一路走过来的程序员更容易上手。4) I/O体系,C#比Java简洁,统一。另外,需要了解的是:C#是可以跨平台的,不过没有Java深入人心。引用一段:"Mono 是一个由 Novell 公司(先前是 Ximian )主持的项目。该项目的目标是创建一系列符合 ECMA 标准(Ecma-334 和 Ecma-335)的 .NET 工具,包括 C# 编译器和共通語言執行平臺。与微软的 .NET Framework 不同,Mono 项目不仅可以运行于 Windows 系统上,还可以运行于 Linux,FreeBSD,Unix,Mac OS X 和 Solaris。" ...
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...每次文字比较多超出屏幕大小就不知道怎么截屏,求教大佬! 我国政策性 广西明士清医疗器械有限公司怎么样? 广西禾力药业有限公司怎么样? 广西龙母圣商贸有限公司怎么样? 安徽合肥有什么去痔的好地方 我女朋友的谷丙转氨酶过高(达到121),而且两对半检测为阴性,是肝功能有... 泸州丽人女子医院开展科室 自由之子本次世界杯是否将在小组赛中被菜? 世界杯谁会嬴 pek是什么?的相关参数? 龚鼎孳的家乡轶事 西北大学走出过哪些名人? 抗癌中药方选的作品目录 大写字母O上面加个拼音三声符号ˇ,在Word里怎么打出来 千里家书只为墙,再让三尺又何妨?万里长城今犹在,不见当年秦始皇 是什么意思 曲咪新乳膏和七参连湿疹膏和复方倍氯米松樟脑乳膏可以一起用吗? 用Excel计算农历日期 长期服用丹参片有负作用吗? 经纬网是什么? 丹七片与复方丹参片有区别吗 哪个效果好一些 怎样才能上课听明白老师讲的内容? 老师讲解数学题的作文片段 复方吡拉西坦脑蛋白水解物片能和复方丹参滴丸一起吃吗 split与 UBound() 用法疑惑 请高手指点 复方丹参生片能与保健品同使服用吗? 老师讲的听不懂怎么办? 东京北纬 我的孩子4个半月了,最近有8天没有解大便了。怎们办 关于老师讲题的神态描写句子 龚俊和薇娅一起同框,两人擦出了怎样的火花? 古代历史上,南唐时期龚愈 让他三尺又何妨 什么是英语六级 ??? 马三立算卦的台词 寻问马三立老师一部相声的名字 张家界泡菜怎么做,龚大婆酸萝卜 三角裤里夹蜡烛打一大陆明星的名字 用&quot;垃&quot;字组词 关于桥的故事,不要传说 女人为啥卫生巾贴在三角裤里外面在穿个四角裤 用垃组两个词再用圾组两个词 我的衬衫上有39这个符号,是几尺码? 谁能帮我把“我、爱、你、龚、婉、晴”几个字作为开头做成诗句关于爱情的 和尚在女人三角裤里是什么成语 用垃组词 宝业大坂绿园和元龚大都会那个好? 年轻男孩睡觉的时候液体不知不觉流在三角裤里是怎么回事? 男士衬衣15 1/2是多少码? 用垃造词3个