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 ,