黑马程序员--C#基础(二)-->关键字、数据类型、变量、常量

时间:2023-02-19 14:01:12

  ---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------    

                                              

1、关键字

关键字都是小写的,一般不能在程序中用作标识符,除非有一个@前缀。

如:@try就是一个合法的标识符,但try本身不是的,try是关键字。

2、代码注释

注释可以分为行注释和块注释。

1)行注释:均以“//”开头;

2)块注释:以“/*”开始,以“*/”结束;

3)在VS中,如果对一段代码整体注释,可以在其上方输入“///”,这是会在相应的位置自动出现注释语句:

/// <summary> 
///
/// </summary>
///<param name="args"></param>
4)在VS中,可以使用#region和#endregion关键字指定可展开或折叠的代码块,可以是代码更好的布局。

3、数据类型

   数据类型可分为两种:值类型,引用类型。
   值类型:直接存储数据。  引用类型:存储实际数据的引用,程序通过此引用找到真正的数据。    值类型包括:Sbyteshortintlongbyteushortuintulongfloatdoubledecimalboolchar
 
 引用类型包括:object,string以及类,接口,数组,委托等所有被称为“类”的。

 (1decimal

  浮点类型,默认为double,所以,decimal类型的数值末位必须有一个m/Mfloat类型的数值末位必须有一个f/F

2bool

  布尔类型用于表示逻辑真和逻辑假,c#中只有两种值:truefalse

3)转义字符

  转义字符是一个字符,由一个\+一个字母来组成具有特殊意义的一个字符。

  常用的转义字符:\n 换行符  \b 退格键  \t tab键(代表多个空格,并具有行与行之间的对齐功能\\输出反斜杠\     \0 空字符Null    \r回车符    \" 双引号     \'单引号;

  在字符串前加 @的含义:1)字符串中如果有\,则不再理解为转义字符 2)使字符串可以换行。特殊用法:如果字符串前面加了@,在字符串中加两个双引号代表一个双引号

 4、变量
static void Main(string[] args)
{
int a;
char ch='m';
string str="kevin";
}
变量的作用域,就是一个变量所能使用的范围,就好像局部变量不能在全局使用。

5、常量
静态常量: 静态常量的声明和定义一般使用const,一旦赋值,就不能改变。常量的标识符通常为大写 1)可以在一条语句中使用关键字const声明多个常量,用逗号“,”隔开; 2)声明的常量必须为基本数据类型; 3)不能从类的实例访问常量,const不允许使用static作访问修饰符,常量只能通过类进行访问。

const  PI=3.14;
const int MY=70;//必须初始化;
const int D=MY+50;//表达式中不能有变量;

动态常量:

readonly所定义的常量除了在定义的时候可以设定常量值外,还可以在类的构造函数中进行设定。由于readonly所定义的常量相当于类的成员,因此使用const来定义常量所受到的类型限制,在使用readonly去定义的时候全部消失,即可以用readonly去定义任何类型的常量。

黑马程序员--C#基础(二)-->关键字、数据类型、变量、常量

6、预定义类型的数据类型转换

1)隐式转换方式

  .只能从范围小的类型隐式转换为范围较大类型。

.字符变量可以向数值类型转换,但数值类型不能隐式向字符类型转换。

.浮点类型不能向小数类型转换,整数类型、字符类型可以向小数类型转换

Ⅳ.有符号数据类型不可以向无符号数据类型转换。

2)显示转换方式

显示转换又叫强制类型转换,可以将一种数值类型强制转换为另一种数值类型。

int x=500;
short z=(short)x;

decimal d=1234.56M;
int b=(int)d;

long val=3000000000;
int i=(int)val;


7、结构类型

结构类型的变量采用struct来进行声明。

结构与类的不同:

1)结构是一个类型,它存储在中,而是一个引用类型,它存储在中。

2)结构不允许继承,自身不能被继承,而类完全可以被其他的类继承,其自身也能被继承。

3)在结构中不允许声明一个没有参数的构造函数,而类允许。

4)在结构中不允许有实例字段初始值设定项。

5)结构有默认的构造函数,但没有析构函数,并且不能有protected修饰符,但可以不使用new进行初始化。而类既有构造函数,又有析构函数,还有protected修饰符,并且必须使用new进行初始化。


8、枚举类型

枚举类型是用户自定义的数据类型。枚举是指程序中某个变量具有一组确定的值,通过“枚举”将值一一列举出来。

Enum WeekDay{
Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
};

1) 每个枚举成员都有一个相对应的整数值,c#中默认第一个成员取值0,后面的依次增1

2)如果在定义枚举类型时,某个成员直接赋值了,后面的成员依次取值;

3)可以同时给多个成员赋值,并且多个成员的值可以相同。

enum color
{yelow,red,blue,black,purple};

enum color
{yellow,red=3,blue,black=-3,purple=3};

9、值类型和引用类型的转换——装箱和拆箱

1)装箱

将一个值类型的数据隐式地转换成一个对象类型(object)的数据。

int i=20;
object o=i;

2)拆箱

把object类型转换为值类型,或者把任意接口类型转换成一个执行该接口的数值类型。

int  i=20;
object o=i;
int i=(int)o;
只有被装过箱的对象才能被拆箱,拆箱对象为非空的,进行拆箱的操作必须是显式完成的。



 ---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------