通过这几天,看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像这样

String s1="abc";

String s2="abc";

那么返回的都是true了。因为java和C# 对于字符串来说都有驻留池的概念。

3. 操作符

java与C#唯一的不同就是 java多了一个>>>操作符(被移位二进制最高位无论是0或者是1,空缺位都用0补)

4.流程控制

  流程控制包括选择结构(if else  switch  while,),循环结构 (for) 基本相同的.

不同点包括以下几个方面

  4.1 java有一个特殊的控制语句,C# 是没有的。(当然C#通过一些技巧变成方法实现这种控制。具体大家可以自己试着做,这个在开发中应用不大。)

break,continute语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块

label1:   {   ……

label2:           {   ……

label3:  {   ……

break label2;

……

}

}

}

  4.2 C# 有个goto关键字(参考),java中的goto是保留字,似乎没有用的。

5. 类

java与C#的使用方法上基本相同。

不同点包括以下几点

  5.1 如果类中的方法和变量没有修饰符,java中同一个包中的类可以访问,C# 默认为private(我就不做例子)

  

  5.2 静态方法,静态变量  java中可以通过类,也可以通过对象访问(基本上也都通过类来访问),但是C# 只能通过类访问

    

  5.3 this关键字的使用,主要是构造函数不同,

   C# 写法

class TestClass{public string Name { get; set; }public TestClass():this(""){}public TestClass(string name){this.Name = name;}}

  java写法

public class TestClass {private String name;public TestClass(){this("");}public TestClass(String name){this.name=name;}
}

  5.4 引用父类构造函数的不同。java是通过super关键字,C# 是通过 base关键字,使用方法上跟各自的this相同

  注意:

    java中this,super必须写在构造函数的第一条语句中。

  5.5 继承的不同。java继承类通过extends,实现接口通过implements,接口继承接口通过extends   C# 都是通过":"

  5.6 java包括静态代码块和非静态代码块,

    实例化对象的时候,先执行静态代码块(等同于C#的静态构造函数),只执行一次,  非静态代码块先于构造函数执行。实例化一次就执行一次。C#没有这种写法,java写法如下

    //非静态代码块{System.out.println("非静态代码块");}//静态代码块static{System.out.println("静态代码块");}

  5.6 java中的方法默认都是虚拟的,子类都可以重写,而C# 必须标记为virtual才可以。

6.接口的不同

  java中接口可以定义变量,C# 不可以,C# 只能是属性,方法,索引器。

  java可以这样定义

public interface Runner {int id = 1;public void start();public void run();public void stop();
}

7. 异常

java中的方法可以通过throws关键字来抛出异常,然后用try catch 截获。当然,也可以通过throw,C# 只能通过throw

java中这样的写法:

class A{void method () throws FileNotFoundException{}
}

8.java中的final关键字,final修饰类和方法的时候, 等同于C#中的sealed。

 final标记的变量(成员变量或局部变量)即成为常量,只能赋值一次,等同于C#的readonly

 C# 有一个const关键字,用const修饰的变量是编译时常量。显示的初始化,不能通过构造函数初始化

9.java的方法命名是Camel 标记法。C# 是Pascal 标记法。

10.java中的属性实现,必须写get和set方法。不如C#简便。

先写到这里吧,总结的还不够全面,欢迎大家补充说明。

转载于:https://www.cnblogs.com/Persistence/p/3442176.html

C#和java的语法区别相关推荐

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

    通过这几天,看java视频,总结了一下java与C#的部分语法区别. 1.基本类型 Java是由byte,short,int,long,float,dboule组成,所有类型都是有符号的. C#除了这 ...

  2. c 和java的语法区别吗,c跟java的区别

    c跟java是程序员的两大语法,他们之间的区别你了解吗?下面由学习啦小编给大家带来的c跟java的区别,希望各位客官喜欢! Java和C语言的区别 一. Java封装了很多类和接口,而这些是C语言没有 ...

  3. php和java的语法区别_PHP 和 Java 的主要区别有哪些?

    PHP 和 Java 的主要区别有哪些? 部分说法属于个人看法,如有纰漏,敬请谅解 一.某"高级"攻城师看法: 1.php适合处理单线程,java适合处理多线程: 2..php适合 ...

  4. Grade for Android 之二:Groovy 与Java的语法区别

    Groovy对Java开发者来说是尽可能的自然过渡.Groovy设计者设计Groovy时,遵循最小改变原则,尤其是有Java开发背景的开发者学习Groovy时. 如下列出了Java和Groovy的主要 ...

  5. oc和java_oc与java c++语法区别

    头文件: 实现文件, 类似于C++的.cpp文件: 一.函数的对比 helloworld方法 Java 语言: public void helloWorld(bool ishelloworld) { ...

  6. dart 替代java_Dart与Java的语法区别

    1. 主函数 (1) 没有public static (2) 命令参数List args voidmain() { } 2. 可以在class外定义变量,方法等 3. 没有public, privat ...

  7. java和c语言的语法区别_c语言和java的语法区别是什么?

    c语言和java的语法区别 单文件的编译时间java比C语言快: C语言可以直接操作内存,java不能直接操作: C语言可以封装动态库,java不行: C语言的代码不容易跨平台,java的代码容易跨平 ...

  8. java c语言语法对比_c语言和java的语法区别是什么

    c语言和java的语法区别是什么 发布时间:2020-06-10 11:53:18 来源:亿速云 阅读:172 作者:Leah c语言和java的语法区别是什么?针对这个问题,今天小编总结这篇有关c语 ...

  9. Python同Java同Js语言语法区别之四判断字符串列表字典是否相等

    字符串列表字典是否相等 前言 Python 字符串or数字 列表 字典 总结 Java 字符串 数组 Map 总结 JS 字符串 数组 对象 总结 前言 作为一枚测开工程师,需要的技能是全栈的,项目中 ...

最新文章

  1. python统计字母空格个数_python统计字母、空格、数字等字符个数的实例
  2. AI训练的最大障碍不是算力,而是“内存墙”
  3. 经典的卷积神经网络简介
  4. 标C编程笔记day04 预处理、宏定义、条件编译、makefile、结构体使用
  5. jdk8和hotspot_HotSpot的-XshowSettings标志的简单性和价值
  6. jQuery动态设置样式List item
  7. 熬夜整理了免费的数据源网站大全,再也不愁找不到数据练手
  8. DeepMind和Unity合作,创建虚拟世界来训练AI
  9. 人机工程学座椅设计_人体工程学_座椅设计说明
  10. 小米安装linux驱动怎么安装教程,小米手机驱动程序怎么安装教程【图文版】
  11. Base64解码文件下载
  12. 解决Mac电脑开机无法自动连接蓝牙音箱问题!
  13. 对抗机器学习——FGSM经典论文 EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES
  14. SEO—搜索引擎优化
  15. 大商创是用哪种php柜架写的,手把手教你做一套大商创店铺模板(1.9版)
  16. 中国农产品流通市场运营状况与发展前景预测报告2022-2027年
  17. 全国4000 AI企业北京独霸三成 | 《北京人工智能产业发展白皮书》发布(附下载)...
  18. 孢子java_孢子框架-接口访问层、ESB、微服务API GateWay对比
  19. t通过数据库逆向生成文档工具——screw
  20. 【python核心编程笔记+习题】-CH7-映射

热门文章

  1. 分支限界法|Branch and Bound Method(0-1背包问题)
  2. supersocket新的配置属性 textEncoding
  3. Docker+Nextcloud快速部署个人网盘
  4. [Groovy] How to check if element in groovy array/hash/collection/list?
  5. Sublime 格式化代码 快捷键以及插件使用
  6. EXCEL解析之终极方法WorkbookFactory
  7. r语言之生成随机序列,随机数生成函数及用法
  8. 第十周 11.1-11.7
  9. Javascript高级程序设计3笔记 - 对象
  10. NSString的几种常用方法