黑马程序员_C#基础1

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

1、  C#中的数据类型

C#的数据类型分为值类型和引用类型两类。值类型有整型(int、long)、实数类型,也叫小数类型(double、float、decimal)、字符型(char)、布尔类型(bool)、结构类型(struct)、枚举类型(enum)等,引用类型有字符串类型(string)、类类型(class)、数组类型、接口类型和委托类型。

值类型和引用类型的变量都开辟一块内存空间,所不同的是值类型变量一声明,存储空间大小就固定了,变量指的是这块固定的存储空间的当前值,当作参数来传递时,是拷贝传值,将内存中变量的值复制给参数变量,参数变量的改变不影响原来的变量。而引用类型变量所分配的内存空间,即使是同一类型,也可能不同,变量是这段内存空间的引用,当作参数传递时,传递的是引用,变量参数的改变,原来的变量也会改变。

2、  可空数据类型

在ADO.NET编程连接数据库,进行数据库和程序之间数据的交互时,要用到可空数据类型。可空数据类型就是声明这种类型的变量时,可以不给这个变量分配内存(让它等于null)。引用类型变量是可空数据类型,值类型变量不是可空数据类型,但是声明时在值类型后面加“?”,这个值类型变量就可以声明为可空数据了,例如:

intage=null;//错误

int?age=null;//正确

3、  数据类型的转换

在进行不同数据类型之间的变量互相进行赋值时,要考虑类型转换的问题。类型转换分为隐士转换和强制转换。相互兼容的数据类型之间可以隐式转换,但要注意数据范围窄的变量可以隐式转换为数据范围广的变量,数据范围广的变量不可以隐式转换为数据范围窄的变量(即自动隐式装换不会丢失精度),因为这样容易产生溢出。例如:double数据类型与int数据类型兼容,double类型的范围大于int类型,那么int可以隐式转换为double类型,double类型不能隐式转换为int类型。

inta=10;int b=3.2;

b=a;//正确

a=b;//错误

当我们需要进行丢失精度的转换时,就要用到强制类型转换,例如:

inta=10;int b=3.2;

a=b;//错误

a=(int)b;//正确

但是要注意,强制类型转换只能是相互兼容的数据类型间装换(数字能转数字,字符串不能转数字)。

4、  变量的声明和命名规则

变量代表着一块内存空间,我们可以通过变量向内存存/取数据,有了变量就不需要我们记忆复杂的内存地址了。即变量为我们屏蔽了内存地址,简化了编程。变量要先声明,后使用。声明一个变量,向内存申请一块内存空间的语法为:数据类型 变量名,例如:int age;变量命名的规则如下:

(1)、必须以字母、下划线或@符号开头。

(2)、后面可以跟任意字母、数字和下划线。

(3)、变量名不能和系统中的关键字重复。

(4)、C#中,大小写是敏感的。

(5)、同一个变量名不允许重复定义。

常用的两种变量命名规范:Camel命名法和Pascal命名法。

Camel命名法:首个单词的首字母小写,其余单词的首字母大写。

Pascal命名法:每一个单词的首字母都大写。

如果用到英文单词的缩写,全部用大写。

5、  运算符

(1)、赋值运算符“=”:表示将等号右边的值赋给左边的变量,等号是优先级最低的运算符。例如:int a;a=10;//将10赋值给变量a。

变量是可以重复赋值的,再次赋值时会把原来的值覆盖掉。

(2)、加号运算符“+”:加号在C#中有两种意义,

a、当加号两边参与运算的数据类型为数字时,则加号表示数学意义上的加法意义。

b、当加号两边参与运算的数据类型有一个是字符串的话,则加号就是连接字符串的意义。

(3)、字符串中的转义字符。C#中的字符串要用引号连接起来,当需要在字符串中输入特殊符号时(如引号、换行、退格等),就要用到转义字符。转义字符由\+加字母组成一个具有特殊意义的字符。\n:换行,\t:制表符(tab键),\b:表示退格,\”:表示引号等。

另外,字符串前加@,有两种意义:

a、  字符串中如果有\,则不再理解为转义字符。

b、  使字符串可以换行定义。

(4)、算术运算符:

二元运算符:+、—、*、/、%,即加减乘除和取余。算术运算符的优先级为:先乘除和加减,有括号先算括号里的,相同级别的从左至右运算。他们是二元运算符,参与运算的数据类型必须相同,而且运算后的数据类型与参与运算的数据类型相同。

一元运算符:++、——,自增自减运算符,将变量的值加一或减一。

前加和后加的区别:例如

int a=10;

int b=a++;//先取a的值赋值给b,b的值为10,a再加1。

int c=10;

int d=++c;//先将c的值加1再赋值给d,d的值为11。

自减运算符的使用同自加运算符。

一元运算符的优先级大于二元运算符。

复合运算符:+=、—=、*=、/=、%=,例:int a=3;a+=3;//相当于a自加3

(5)、关系运算符

C#中有6个关系运算符,由于比较两个事物之间的关系。

>  大于

< 小于

== 比较相等

!= 比较不相等

>= 大于等于

<= 小于等于

关系运算符的结果是bool类型。bool值只有两个:真为true和假为false。

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

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值