C#程序设计基础

Download Report

Transcript C#程序设计基础

补充 C# 2005程序设计基础
本章讲述的主要内容
C#程序的代码结构
数据类型
变量和常量
运算符和表达式
C# 2005的常用方法与属性
C#程序的代码结构
C#代码的组成要素及书写规则
1. 关键字
关键字也叫保留字,是对C#有特定意义的字符串。关键字在
VS 2005 IDE环境的代码窗口中默认以蓝色显示。例如,上例中
的using、public、protected、class、void、this等,均为C#
的关键字。
2. 命名空间
在面向对象程序设计中,无论使用什么开发语言都离不开开发环
境中的类和对象,这些类和对象就是各种语法提供给用户的“资
源”,在.NET中将这些资源的分类集合称为“命名空间”
(namespace)。使用命名空间可以把类组织成一个逻辑上相关
联的层次结构。它既可以对内部组织应用程序,也可以对外避免
命名冲突。
C#程序的代码结构
C#代码的组成要素及书写规则
3. 语句
语句就是C#应用程序中执行操作的指令。C#中的语句必须用
分号“;”结束。可以在一行中书写多条语句,也可以将一条语句
书写在多行上。
4. 大括号
在C#中,括号“{”和“}”是一种范围标志,是组织代码的一
种方式,用于标识应用程序中逻辑上有紧密联系的一段代码的开
始与结束。大括号是可以嵌套的,以表示应用程序中的不同层次。
在书写代码时应注意使用缩进格式,将代码中的层次关系充分表
现出来。
C#程序的代码结构
C#程序的格式
1. 缩进与空格
缩进用于表示代码的结构层次,这在程序中不是必须的,但
是缩进可以清晰地表示程序的结构层次,在程序设计中应该使用
统一的缩进格式书写代码。
2. 字母大小写
C#中的字母可以大小写混合,但是必须注意的是,C#把同一
字母的大小写当作两个不同的字符对待(区分大小写),如,大
写“A”与小写“a”对C#来说,是两个不同的字符。
3. 注释
代码中的注释起对代码的解释说明作用,在将程序进行编译
时,系统会跳过程序的注释部分,所以注释不是必须的。
数据类型
数值类型
1. 整数类型
整数类型又分为有符号整数与无符号整数。有符号整数可以
带正负号,无符号整数不需带正负号,默认为正数。
2. 实数类型
实数类型包括float(单精度浮点型)、double(双精度浮
点型)、decimal(十进制型)。
数据类型
字符类型
1. Unicode字符集
Unicode是一种重要的通用字符编码标准,它覆盖了美国、
欧洲、中东、非洲和亚洲的语言,以及古文和专业符号。
Unicode允许交换、处理和显示多语言文本以及公用的专业和数
学符号。
2. char(字符型)
char(字符型):数据范围是0~65535之间的Unicode字符
集中的单个字符,占用2个字节。
3. string(字符串型)
string(字符串型):指任意长度的Unicode字符序列,占
用字节根据字符多少而定。
数据类型
布尔类型和对象类型
bool(布尔型):表示布尔逻辑型数据,占用4个字节的存
储空间。bool型数据只能是“true”(真)或“false”(假)。
bool型数值true和false是C# 2005的关键字,不能用来定义其他
对象的名称。
bool型数据为程序进行复杂的判断提供了数据类型依据,另
外在程序进行关系运算或逻辑运算时,也将产生bool型数据结果,
所以bool类型数据也常被称为逻辑型数据。
object(对象型)是所有其他类型的最终基类,其占用字节
视具体表示的数据类型而定。C# 2005中的每种类型都是直接或
间接从object类型派生的,object表示一个通用类型,一个
object类型的变量可以存放任何类型的值。object也是C# 2005
的默认数据类型。
变量与常量
变量及其作用域
1. 变量命名规则
在C# 2005中,变量命名规则如下:
1) 变量名的第首字符必须是字母、汉字或下划线。
2) 变量名中不能包含空格、小数点以及各种符号。
3) 组成变量名的字符数不要太长,应控制在3~30个字符。
4) 变量名不能是关键字。如:int,object等不能用作变量
名。
5) 变量名在同一范围内必须是唯一的。
变量与常量
变量及其作用域
2.为变量命名时的注意事项
在为变量命名时注意以下几点:
1) 变量名应该能够标识事物的特性,如用于存放姓名的字
符串变量可使用strName命名。
2) 变量名应使用英文单词,而不能为汉语拼音。
3) 变量名尽量不使用缩写,除非它是众所周知的。
4) 若在变量名中使用了多个单词,则应大写每个单词的第
一个字母,其它字母小写。例如:IsSuperUser。
5) 变量名应使用说明数据类型的前缀缩写,如str、i等。
6) 变量名中的单词尽量使用名词。如有动词要尽量放在后
面。
变量与常量
变量及其作用域
2.为变量命名时的注意事项
变量有两种典型的命名方法:骆驼表示法和匈牙利表示法。
骆驼表示法以小写字母开头,以后的单词都以大写字母开头,如
myBook、theBoy、numOfStudent等。
推荐使用的匈牙利表示法,要求在每个变量名的前面加上一
个表示数据类型的字符串前缀,所有单词的首字母均使用大写,
其余部分使用小写。如strName、iMyCar等。其中类型前缀str表
示string型,i表示int型。
变量与常量
变量及其作用域
3. 声明变量
变量总是和变量名联系在一起的,所以要使用变量,必须为
变量命名。在C# 2005中,命名变量的过程称为“声明”。
声明变量就是把存放数据的类型告诉程序,以便为变量安排
内存空间。变量的数据类型可以对应所有基本数据类型。声明变
量最简单的格式为:
数据类型名称 变量名列表;
例如:
float fResult;
//声明一个单精度浮点型变量
bool bOpen;
//声明一个布尔型变量
decimal decSalary;
//声明一个十进制变量
变量与常量
变量及其作用域
4. 变量赋值
int iNumber;
iNnumber = 32;
bool bOpen;
bOpen=true;
char chrLetter;
chrLetter = 'w';
string strName;
strName = "Liu san jie";
bool bOpen , bClose;
bOpen = true;
bClose = bOpen;
int iNum1 , iNum2 , iNum3;
iNum1 = iNum2 = iNum3 = 32;
double dArea , dRadius = 16;
变量与常量
常量
1. 直接常量
直接常量即数据值本身。
(1) 整型常量
(2) 实型常量
(3) 字符常量
(4) 字符串常量
(5) 布尔常量
(6)日期时间常量
变量与常量
常量
2. 符号常量
符号常量使用const关键字定义,格式为:
const 类型名称 常量名 = 常量表达式;
常量定义中,“常量表达式”的意义在于该表达式不能包含变
量及函数等值会发生变化的内容。
const int MAX=10;
const double PI=3.1415926;
const double AREA=PI*MAX*MAX;
//合法
int iNum=10;
const double AREA=PI*iNum*iNum;
//不合法
变量与常量
类型转换
1. 隐式转换
隐式转换是系统自动执行的数据类型转换。隐式转换的基本
原则是允许数值范围小的类型向数值范围大的类型转换,允许无
符号整数类型向有符号整数类型转换。
2. 显式转换
显式转换也称为强制转换,是在代码中明确指示将某一类型
的数据转换为另一种类型。显式转换语句的一般格式为:
(数据类型名称)数据
例如:
int x = 600;
short z=(short)x;
变量与常量
类型转换
3. 使用方法进行数据类型的转换
(1) Parse方法
数值类型名称.Parse(字符串型表达式)
(2) ToString方法
变量名称.ToString()
运算符与表达式
运算符与表达式类型
1. 算术运算符与算术表达式
算术运算符有一元运算符与二元运算符。
一元运算符:-(取负)、+(取正)、++(增量)、--(减
量)。
二元运算符:+(加)、-(减)、*(乘)、/(除)、%
(求余)。
运算符与表达式
运算符与表达式类型
2. 字符串运算符与字符串表达式
字符串表达式由字符串常量、字符串变量、字符串函数和字
符串运算符组成。C# 2005提供的字符串运算符只有一个“+”,
它用于连接两个或更多的字符串。字符串表达式的格式为:
〈字符串1〉& | +〈字符串2〉[ & | +〈字符串3〉…]
运算符与表达式
运算符与表达式类型
3. 关系运算符与关系表达式
(1) 关系运算符
运算符与表达式
运算符与表达式类型
(2) 关系表达式
关系表达式由操作数和关系运算符组成。关系表达式中既可
以包含数值,也可以用于字符或字符串,但是用于字符串的关系
运算符只有相等“==”和不等“!=”两种运算符。
运算符与表达式
运算符与表达式类型
4. 逻辑运算符与逻辑表达式
逻辑表达式由关系运算符、逻辑运算符连接常量或关系表达
式组成,其取值为布尔值(True或False)。通过条件表达式可
对应用程序计算结果或用户输入值进行判断,并根据判断结果选
取执行不同的代码段。
逻辑运算符的操作数是布尔类型,运算结果也是布尔类型。
在C# 2005中,最常用的逻辑运算符是!(非)、&&(与)、||
(或)。
运算符与表达式
运算符与表达式类型
5. 赋值运算符与赋值表达式
在赋值表达式中,赋值运算符左边的操作数叫左操作数,赋
值运算符右边的操作数叫右操作数。其中左操作数必须是一个变
量或属性,而不能是一个常量。
前面介绍过的赋值运算符“=”称为“简单赋值运算符”,
它与其他算术运算符结合在一起可组成“复合赋值运算符”,如
“*=”、“/=”、“%=”、“+=”、“-=”等。
运算符与表达式
运算符与表达式类型
6. 条件赋值运算符及表达式
条件赋值表达式可以看作是逻辑表达式和赋值表达式的组合,
它可根据逻辑表达式的值(true或false)返回不同的结果。条
件运算符由符号“?”与“:”组成,通过操作三个操作数完成运
算,其一般格式为:
逻辑表达式 ? 表达式1 : 表达式2
在条件赋值表达式在运算时,首先运算“逻辑表达式”的值,
如果为true,则运算结果为“表达式1”的值,否则运算结果为
“表达式2”的值。
运算符与表达式
运算符的优先级与结合性
1. 优先级
运算符与表达式
运算符的优先级与结合性
2. 圆括号
为了使表达式按正确的顺序进行运算,避免实际运算顺序不
符合设计要求,同时为了提高表达式的可读性,可以使用圆括号
明确运算顺序。
使用括号还可以改变表达式的运算顺序。例如,b*c+d的运
算顺序是先进行“b*c”的运算,然后再加“d”,如果表达式加
上括号,变为b*(c+d),则运算时会先进行括号内的运算,然后
将结果乘“b”。
运算符与表达式
运算符的优先级与结合性
3. 结合性
在多个同级运算符中,赋值运算符与条件运算符是由右向左
结合的,除赋值运算符以外的二元运算符是由左向右结合的。例
如,x + y + z是按(x + y) + z的顺序运算的,而x = y= z是按
x = (y = z)的顺序运算(赋值)的。
C# 2005的常用方法与属性
日期时间类常用方法与属性
C# 2005中的DateTime类提供了一些常用的日期时间方法与
属性,该类属于System命名空间,在使用模板创建应用程序时,
该命名空间的引用已自动生成,因此可以直接使用DateTime类。
对于以当前日期时间为参照的操作,可以使用该类的Now属性及
其方法。
日期时间类的Now属性的常用方法格式为:
DateTime.Now.方法名称(参数列表)
日期时间类的Now属性的常用属性格式为:
DateTime.Now.属性名称
C# 2005的常用方法与属性
常用数学方法与字段
C# 2005的常用方法与属性
字符串的方法与属性
C# 2005的常用方法与属性
随机方法
Random类提供了产生伪随机数的方法。产生随机数的方法必
须由Random类创建的对象调用。Random类创建对象的格式为:
Random 随机对象名称=new Random();
如果要声明一个随机对象rn,则代码为:
Random rn = new Random();
现假定已经声明了一个随机对象rn,则随机方法的使用见表
3-17。