java和C#语法比较
2017-02-08 00:00
323 查看
摘要: 持续更新,想多少写多少
C# version:6
Java:函数式接口
相同点:实现机制相同,都可以使用lambda
java
相同点:语法糖,实质传入都是数组
JAVA:工具类通常在以复数结尾的类当中,比如String专注于字符串本身的存储,字符串常用的工具都在Strings类中.
JAVA:典型的开源,只要开心,就可以扯出一个分支来.连JDK都可以有一个纯开源的openJDK,可见有多不靠谱.在特性上,JAVA加入新特性,难免面临人多嘴杂的局面.因此语言特性上落后若干年.相比于C#一开始就有委托(可讲函数作为参数),java一直坚守纯面向对象.直到java8才加入函数接口.另一个典型例子是JAVA8新加入的LocalDateTime,大大解放了时间的使用,而之前的时间类型真是让人苦不堪言.java的基本库也是典型的人多嘴杂,同样功能的类能有好几个.但是开源也有开源的好处.可以及时随着市场的变化而演进.java的设计者估计也不会预料到java会成为用途最广泛的后端语言,这和java本身开源的特性是分不开的.众多IT英雄都来给java添砖加瓦.反观C#,虽然在语言特性上一骑绝尘,但是生态上实在差劲.
但是在方法,属性级别,C#是首字母大写,JAVA是首字母小写.
前言
java version:8C# version:6
语言特性
[同]函数作为参数
C#:委托,delegateJava:函数式接口
相同点:实现机制相同,都可以使用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 | |
命名空间 | MyExample | myexample |
类级 | MyExample | MyExample |
方法,属性级 | MyExample | myExample |
变量级 | myExample | myExample |
相关文章推荐
- C#与java语法简要比较
- [C#] C#与JAVA的一些语法比较
- Java与C#语法比较
- C#与Java基础语法初比较
- C# ,java语法比较
- [导入]对于adapter模式的类示配模式的java和c#的语法比较
- 转贴(天极论坛):vb.net和c#语法比较
- VB.NET and C# Comparison(VB.NET and C# 语法比较)
- 关于vb.net和c#,c#和java语言的语法差异对比
- VB.NET and C# 语法比较手册
- C++.NET与C#的编码区别 ,vb.net与c#的语法比较
- VB.NET and C# 语法比较手册
- VB.NET and C# 语法比较手册
- 【转】vb.net和c#的比较(语法)
- VB.NET 與C# 语法比较
- VB.NET and C# 语法比较手册
- VB.NET and C# 语法比较手册
- J2EE vs. NET, Java vs. C#:比较公正的评价
- C#与C++,JAVA的比较
- C++、Java/C#之比较