因为工作关系开始学习使用java,发现C#和java确实很像啊。。。

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;
        }
    }

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值