您的位置:首页 > 编程语言 > Java开发

java和C#语法比较

2017-02-08 00:00 323 查看
摘要: 持续更新,想多少写多少

前言

java version:8

C# version:6

语言特性

[同]函数作为参数

C#:委托,delegate

Java:函数式接口

相同点:实现机制相同,都可以使用lambda

[同]数目可变的参数

C#

public static void UseParams(params int[] list)
{
for (int i = 0; i < list.Length; i++)
{
Console.Write(list[i] + " ");
}
Console.WriteLine();
}

java

public static void print(String... args){

for(String temp:args)

System.out.println(temp);

}

相同点:语法糖,实质传入都是数组

思路

工具类

C#:工具方法都在类本身,比如string类包含很多操作字符串的方法.比如截取,替换.

JAVA:工具类通常在以复数结尾的类当中,比如String专注于字符串本身的存储,字符串常用的工具都在Strings类中.

发展背景

C#:闭源语言(不成熟的.net core暂且不提),只有一家开发,因此语言特性,库的开发没有那么多掣肘.库的风格非常统一.另外由于都是自家的产品,IDE和语言可以紧密结合,非常好用.Visual Stuido能被称为宇宙第一IDE也有这方面的便利.C#开发,最好的库基本是微软出的.由此学习成本也低.最为方便的是文档特别统一齐全.大大方便了开发.

JAVA:典型的开源,只要开心,就可以扯出一个分支来.连JDK都可以有一个纯开源的openJDK,可见有多不靠谱.在特性上,JAVA加入新特性,难免面临人多嘴杂的局面.因此语言特性上落后若干年.相比于C#一开始就有委托(可讲函数作为参数),java一直坚守纯面向对象.直到java8才加入函数接口.另一个典型例子是JAVA8新加入的LocalDateTime,大大解放了时间的使用,而之前的时间类型真是让人苦不堪言.java的基本库也是典型的人多嘴杂,同样功能的类能有好几个.但是开源也有开源的好处.可以及时随着市场的变化而演进.java的设计者估计也不会预料到java会成为用途最广泛的后端语言,这和java本身开源的特性是分不开的.众多IT英雄都来给java添砖加瓦.反观C#,虽然在语言特性上一骑绝尘,但是生态上实在差劲.

变量命名习惯

基本都用驼峰式,在类级别以上,首字母大写.对于变量,首字母小写.

但是在方法,属性级别,C#是首字母大写,JAVA是首字母小写.

C#JAVA
命名空间 MyExamplemyexample
类级MyExampleMyExample
方法,属性级MyExamplemyExample
变量级myExamplemyExample
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java C#