java和C#关键的不同点和相似点:
1。java程序的入口点是main(), 而C#程序的入口点是Main(),若写错了两者都无法工作。
2。java中的final声明变量时应该等于C#中的const,效果等于声明常量。
//java从5.0开始居然也有enum了。。。汗。。。。
3。java中字符串和C#中字符串非常相似,不过java中用charAt()代替c#中的[],非常不方便啊
4。java中同样有StringBuilder类。
5。java中不允许用“==”判断字符串是否相等!!!!!!!否则会出现严重的bug,要比较请用equal()5。java中不允许用“==”判断字符串是否相等!!!!!!!否则会出现严重的bug,要比较请用equal()。
6。java和c#中都不允许在两个互相嵌套的语句块中声明相同的变量。
7。java中的switch-case语句只能比较枚举类型或者整数类型,无法检测字符串;C#中除了可以比较枚举和整数常量之外,还可以比较字符串。
8。java中有c#没有的大数,不过大数没有重载四则运算,需要调用相应的函数。
9。java 5.0中引入了类似c#中foreach的语句,语法为for(integer i:arr){}
10。java中允许长度为0的数组,例如:
int i=0;
int[] arr = new int[i];
甚至允许动态的声明数组大小
int i=0;
Scanner s = new Scanner(System.in);
i = s.nextInt();
int[] arr = new int[i];
原来。。。C#和java一样。。只不过之前没有发现罢了。
11。java中声明二维数组用type[][] var = new type[num][num],而c#中用type[,] var = new type[num,num]
12。java中没有C#中的attribute,所以只能用函数实现,譬如,C#代码
public string Name
{
get
{
return _name;
}
set
{
this._name = value;
}
}
若要在java中实现,必须采用笨拙的如下方法:
public string getName()
{
return _name;
}
public void setName(string name)
{
this._name = name;
}
13。java中一个文件中只能有最多一个public类,但是可以有任意个私有类,且文件名必须和此文件中包含的公共类名称完全相同;C#中一个文件中可以有任意个public类。
14。java中只能用String来声明一个字符串,而C#中同样可以用string。
15。头一次注意到这个问题。。。居然可以访问另外一个实例的私有字段,C#和java完全一样,看来C#借鉴了不少java的特点啊。。。《java2核心技术 卷1:基础知识》中解释说道:类方法可以访问任何一个类实例的私有字段。
C#代码:
class Test
{
private string name;
public Test(string name)
{
this.name = name;
}
public override bool Equals(object obj)
{
if (this.name == ((Test)obj).name)
{
return true;
}
return false;
}
}
Java代码:
class Test
{
private String name;
public Test(String name)
{
this.name = name;
}
public boolean equal(Test t)
{
if(this.name == t.name)
{
return true;
}
return false;
}
}
分享到:
相关推荐
在Java和C#中,可以使用`Serializable`接口标记类为可序列化的,然后可以使用序列化库将其转换为字节流,便于存储或在网络上传输。 6. **数据库事务操作**:在数据库中,对两个表进行更改通常涉及事务管理,以确保...
在编程世界中,Java 和 C# 是两种广泛应用的高级编程语言。它们各自有着明确的编码规范,以确保代码的可读性、可维护性和团队协作的高效性。本资料包聚焦于这两门语言的编码规范,旨在帮助新手快速入门,并帮助有...
在本项目中,我们主要探讨的是如何在C#环境下与Java进行交互,特别是利用C#来操作Java的附件,即JDK(Java Development Kit)1.8.0_261的32位版本。这一过程对于开发跨平台的桌面应用或者集成不同编程语言的应用非常...
C#中的Property是一种特殊的成员,它允许像字段一样访问,但实际上背后隐藏着get和set方法。这种方式提供了更简洁的语法,并且可以通过反射获取一个类的所有Property。相比之下,JAVA中没有直接对应的Property概念,...
开始时 Green 小组采用 C++ 来编写,后来发现 C++ 不适合这类的任务,因为 C++ 常会有使系统失效的程序错误,尤其是内存管理和指针操作,常产生很多 bugs。设想如果一台烤面包机上的程序有错误,可能会使面包机烧毁...
标题中的"C#开发Android应用程序的方法和流程"表明了本文的核心内容是使用C#语言来开发Android应用的步骤和技巧。通常情况下,Android应用主要使用Java或Kotlin进行开发,但通过特定的技术,如Mono for Android,C#...
锐化-自动Java-> C#覆盖 Sharpen是用于自动将Java转换为C#代码的库和命令行工具。 您可以提供配置类来控制各种各样的类和功能映射。 Sharpen不提供兼容性运行时(即,.NET之上的所有Java功能的实现),但确实提供...
**解决方案**: 确认基类和派生类之间的关系以及正确使用`override`和`new`关键字。 #### 错误 CS0036 **描述**: 使用了不可变类型的引用作为参数。 **解决方案**: 使用适当的引用类型或修改函数签名。 #### 错误 ...
Java 语言设计完成后,确实在开发家用电器控制系统中获得了很大的成功,但由于市场的竞争和其他一些商业上的原因,Java 没能推向市场。 到了 1994 年,随着 Internet 和 WWW 的飞速发展,Sun 公司发现 Java 具有...
Java 语言设计完成后,确实在开发家用电器控制系统中获得了很大的成功,但由于市场的竞争和其他一些商业上的原因,Java 没能推向市场。到了 1994 年,随着 Internet 和 WWW 的飞速发展,Sun 公司发现 Java 具有平台...
C#是微软公司推出的一种面向对象的编程语言,它吸收了C++和Java的优点,具有高效、安全、可靠的特点,特别适合开发Windows平台的应用程序。在本例中,C#被用于构建图书馆管理系统的后端逻辑,提供了强大的数据处理...
【标签】:“C#”可能是一个误标记,因为文件标题和描述都明确提到了Java,而不是C#。不过,如果文件中确实包含了与C#相关的面试问题,那么这可能意味着该压缩文件还涵盖了跨语言的比较或者是在.NET环境中使用Java...
诚然,Java的开发者群体确实庞大,但随着新兴编程语言的崛起,如Python、Go和Rust,部分开发者已经开始转向这些更现代、更灵活的语言。Java的类型系统被认为过于复杂,同时需要Java虚拟机(JVM)运行,这在某些场景...
Java 和 C# 都是流行的面向对象编程语言,它们在语法上确实存在一定的相似性,但也有许多重要的差异。以下是一些主要的区别点: 1. **命名空间与包**: - C# 使用 `namespace` 来组织类,提供模块化的方式。例如,...
C#语法与C++和Java有很高的相似性,尤其适合构建Windows桌面应用程序、Web应用程序以及Windows Store应用。而VB.NET,作为Visual Basic的.NET版本,继承了VB的易学性和快速开发特性,采用更为直观的声明式语法,使得...
【标题】"基于面向对象的绘图半设计c#" 提示我们关注的是使用C#编程语言进行面向对象设计的图形用户界面(GUI)开发。在C#中,我们可以利用Windows Forms或WPF(Windows Presentation Foundation)来创建具有交互性...
【标题】"C# QQ聊天程序源代码...如果这个项目确实使用了Java,那么开发过程中的关键技术点与上述C#的描述类似,但会使用Java的API和工具,如Socket、Thread、JSON库(如Jackson或Gson)以及JavaFX或Swing进行UI设计。
通常,C#开发者会使用Visual Studio,这是微软专门为C#和.NET平台打造的IDE。 尽管如此,如果你希望在NetBeans中使用C#,你可以探索安装第三方插件。描述中提到的"Sharp开发",也称为SharpDevelop,是一个专为C#和...
后来渐渐参与各种项目,工作,等等原因,在初的7年中主要的开发语言是c++/c#,在这篇文章中我不想谈及c++,因为我在以往的博文中已经有很多这方面的随笔。虽然当时c#是我的主要开发语言,但是对于Java的每次重大...