c#和java的区别_C#和java的语法区别


根据近几天,看java短视频,总结了一下java与C#的那一部分词法差别。
1.基本类型
Java是由byte,short,int,long,float,dboule构成,全部种类都是有一定图形的。
C#除了这个之外,也包括sbyte(有标记)uint,ulong等,还有decimal(java里没有)
java中的Byte是从-128到127(有标记),而C#中的Byte是0-255(无符号)
留意:
取值给float类型是,值后边一定得带"f"或是"F",不然编译程序不过去,由于默认设置是dboule类型。
2.String类型
大部分也是一样的
直接用图
java中较为字符串数组提议使用equals,C#中两个都要能够。
假如Java像这样的
Strings1="abc";
Strings2="abc";
那样返回都是true了。由于java和C#针对字符串数组而言都是有停留池的定义。
3.运算符
java与C#唯一的不一样便是java多了一个>>>运算符(被挪动二进制最高位不论是0或者1,缺口位会用0补)
4.流程控制
流程控制包含选择结构(ifelseswitchwhile,),循环结构(for)基本一致的.
不同之处包含以下几方面
4.1java有一个特殊控制语句,C#是不存在的。(自然C#根据一些技巧变为方式达到这类操纵。实际大伙儿能自己尝试做,这在设计中运用并不大。)
break,continute语句出现在了多层嵌套的语句块里时,能通过标识指出要结束的是哪一层语句块
label1:{……
label2:{……
label3:{……
breaklabel2;
……
}
}
}
4.2C#有一个goto关键词(参照),java里的goto是保留字,好像无用的东西。
5.类
java与C#使用方法上基本一致。
不同之处包含以下几个方面
5.1假如类中的方式和自变量并没有修饰符,java中同一个库中的类能够浏览,C#默觉得private(我不做事例)
5.2静态方法,静态变量java中能通过类,还可以通过目标浏览(大部分也都能通过类来浏览),可是C#只能依靠类浏览
5.3this关键词的应用,通常是对象不一样,
C#书写
classTestClass
{
publicstringName{get;set;}
publicTestClass():this("")
{
}
publicTestClass(stringname)
{
this.Name=name;
}
}
java书写
publicclassTestClass{
privateStringname;
publicTestClass()
{
this("");
}
publicTestClass(Stringname)
{
this.name=name;
}
}
5.4引入父类构造函数的差异。java是由super关键词,C#是由base关键词,操作方法上跟各自this同样
留意:
java中this,super务必写上对象的第一条句子中。
5.5传承的差异。java继承类根据extends,实现接口根据implements,插口传承插口根据extendsC#也是通过":"
5.6java包含静态代码块与非静态代码块,
实例化对象时,先实行静态代码块(相当于C#的静态数据对象),只实行一次,非静态代码块在于对象实行。创建对象一次就实行一次。C#没有这个书写,java书写如下所示
//非静态代码块
{
System.out.println("非静态代码块");
}
//静态代码块
static
{
System.out.println("静态代码块");
}
5.6java中的办法默认设置全是虚拟,派生类都能够重新写过,而C#务必标识为virtual才能够。
6.接口不一样
java中插口能够定义变量,C#不能,C#也只能是特性,方式,索引器。
java要这样界定
publicinterfaceRunner{intid=1;publicvoidstart();publicvoidrun();publicvoidstop();
}
7.出现异常
java中的办法能通过throws关键词来抛出异常,随后用trycatch捕获。自然,还可以通过throw,C#只能依靠throw
java中这样的写法:
classA{voidmethod()throwsFileNotFoundException{
}
}
8.java里的final关键词,final装饰类和方法时,相当于C#中的sealed。
final标识的自变量(成员函数或静态变量)即变成变量定义,只有取值一次,相当于C#的readonly
C#有一个const关键词,用const修饰的变量是编译时变量定义。标注的复位,无法通过对象复位
9.java的办法取名是Camel标记法。C#是Pascal标记法。
10.java中的特性完成,务必写get和set方法。比不上C#简单。

本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;

2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;

3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;

4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;

5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/294416.html

(0)
上一篇 2022年12月2日
下一篇 2022年12月2日

相关推荐

发表回复

登录后才能评论