当前位置:编程学习 > JAVA >>

java程序员学C#基本语法两个小时搞定(对比学习)

对于学习一门新的语言,关键是学习新语言和以前掌握的语言的区别,但是也不要让以前语言的东西,固定了自己的思维模式,多看一下新的语言的编程思想。

1.引包

  using System;java用import
2.构造函数和java语法相同
3.析构函数
  变量和类的对象都有生命周期,生命周期结束,这些变量和对象就要被撤销。
  类的对象被撤销时,将自动调用析构函数。一些善后工作可放在析构函数中完成。
  析构函数的名字为~类名,无返回类型,也无参数。Person类的析构函数为~ Person()。
  C#中类析构函数不能显示地被调用,它是被垃圾收集器撤销不被使用的对象时自动调用的。
4.C#数据类型
  从大的方面来分,C#语言的数据类型可以分为三种:值类型,引用类型,指针类型,指针类型仅用于非安全代码中。 www.zzzyk.com
  C#运行在CLR中,其中有垃圾自动回收器,和java类似
  4.1值类型
    简单类型:
      --数值类型:整数类型、字符类型(char)、浮点数类型和十进制类型(decimal)
      --布尔类型(bool)
      (1)简单类型也是结构类型,因此有构造函数、数据成员、方法、属性等;
         因此下列语句int i=int.MaxValue;string s=i.ToString()是正确的;
         即使一个常量,C#也会生成结构类型的实例,因此也可以使用结构类型的方法,
         例如:string s=13.ToString()是正确的。
      (2)
        保留字 | System命名空间中的名字 | 字节数  |  取值范围
        sbyte     System.Sbyte1              1        -128~127
byte      System.Byte                1         0~255
        short     System.Int16               2     -32768~32767
        ushort    System.UInt16              2       0~65535
  int       System.Int32               4      -2147483648~2147483647
uint      System.UInt32              4      0~4292967295
        long      System.Int64               8      -9223372036854775808~9223372036854775808
ulong     System.UInt64              8      0~18446744073709551615
        char      System.Char                2      0~65535
float     System.Single              4      3.4E-38~3.4E+38
double    System.Double              8      1.7E-308~1.7E+308
  bool      System.Boolean                    (true,false)
decimal   System.Decimal             16     ±1.0 × 10?28 to ±7.9 × 1028
       
        (1)decimal类型用来表示高精度的浮点数,可以用到金融相关领域。
        (2)浮点数都有精度损失问题,操作时注意下即可。
(3)字符类型采用Unicode字符集,一个Unicode标准字符长度为16位。
        (4)整数类型不能隐式被转换为字符类型(char),和java不同,必须强转或者用Unicode表示
        (5)布尔类型有两个值:false,true。不能认为整数0是false,其它值是true。
          bool x=1是错误的,不存在这种写法,只能写成x=true 或x=false
       
      
    结构类型(Struct types)
      (1)结构类型和类一样,可以声明构造函数、数据成员、方法、属性等。
      (2)结构和类的最根本的区别是结构是值类型,类是引用类型。
      (3)和类不同,结构不能从另外一个结构或者类派生,本身也不能被继承,因此不能定义抽象结构,
           结构成员也不能被访问权限控制字protected修饰,也不能用virtual和abstract修饰结构方法。
      (4)在结构中不能定义析构函数。
      (5)虽然结构不能从类和结构派生,可是结构能够继承接口,结构继承接口的方法和类继承接口的方法基本一致。
       例子:
          using System;
 //结构定义
          struct point{
public int x,y;//结构中也可以声明构造函数和方法,变量不能赋初值
          }
   class Test{
      static void Main(){
                point P1;
                P1.x=166;
                P1.y=111;
                point P2;
                P2=P1;//值传递,使P2.x=166,P2.y=111
                point P3 = new point();//用new生成结构变量P3,P3仍为值类型变量
                //用new生成结构变量P3仅表示调用默认构造函数,使x=y==0。
             }
          }
    枚举类型(Enumeration types)
      C#枚举类型使用方法和C、C++中的枚举类型基本一致,和java的区别较大
      (1)定义枚举
//设置初值,从1开始
         enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
//位设置初值,从0开始 
         enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};
 
      (2)使用枚举
         Days day=Days.Tue;
         int x=(int)Days.Tue;
     (3)C、C++中不同,C#枚举元素类型可以是byte、sbyte、sh

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,