第三章_变量和表达式_第1页
第三章_变量和表达式_第2页
第三章_变量和表达式_第3页
第三章_变量和表达式_第4页
第三章_变量和表达式_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第3章章 变量和表达式变量和表达式C# 中的变量中的变量简单类型简单类型简单类型数值类型其它类型整 型sbyte, byteshort, ushortint, uintlong, ulong浮点型floatdoubledecimalcharstringbool其中类型名前的其中类型名前的“u”是是 unsigned 的缩写,表示不能在变量中存储负号。的缩写,表示不能在变量中存储负号。如如 uint 等价于等价于 C 语言中的语言中的 unsigned int。简单类型与简单类型与 .NET CTS 的对应的对应简单类型与简单类型与 .NET CTS 的对应的对应 (2)bool 类型是用来存

2、储逻辑运算结果的类型是用来存储逻辑运算结果的,且只有且只有 true 和和 false 两值两值,string 类型类似于类型类似于 C 语言中的字符串语言中的字符串,但比其更好用但比其更好用,更灵活更灵活.bool 类型的用法类型的用法bool 类型是用来保存逻辑运算的结果的类型是用来保存逻辑运算的结果的int myVal = 9;bool isLessThan10 = (myVal cm) lms = ybm - cm; else lms = ybm + (12 - cm); return lms;计算生日还有几个月计算生日还有几个月 (清晰的例子)清晰的例子)public int Lef

3、tMonthsToBirthday(int yourBirthdayMonth, int currentMonth) int leftMonths; if (yourBirthdayMonth currentMonth) leftMonths = yourBirthdayMonth - currentMonth; else leftMonths = yourBirthdayMonth + (12 - currentMonth); return leftMonths;类型转换类型转换 使用使用 Convert 命令进行类型转换命令进行类型转换 可以使用 Convert 命令对更多类型的变量进行显

4、示的转换,比如把数字字符串转换成数值类型,或者把字符串“True”或“false”转换成 bool 值等。 Convert 命令的用法命令的用法 其中 val 可以使各种类型的变量。详细信息参照书上78页表5-2 如果转换存在错误,则抛出异常并中断程序。Convert.ToCTS类型名类型名(val);例子(1)输入两个整数,并计算两者的和、差、相除。(2)输入两个实数,并输出两个数中的最大值。(3)输入一个两位整数,并将其两个位翻转后输出int num=Convert.ToInt32(Console.ReadLine();int leftDigit = num / 10;int rightD

5、igit = num % 10;int reverseNum = rightDigit *10 + leftDigit;Console.WriteLine(reverseNum);例子作业 A(1):输入一个三位整数,并将其每位依次前移(最高位变为最低位)后输出字字 面面 值(常量值)值(常量值)字面值是指直接以值的形式表示的常量值,通常通过在字面值后加上后缀以说明字面值的类型。转义字符转义字符 同同 C 语言相同语言相同 单引号单引号 双引号双引号“ 反斜杠反斜杠 警告警告a 换行换行n 回车回车r 水平制表符水平制表符 t转义字符转义字符 在字符串前加上符号,可创建一个verbatim型字

6、符串,编译器会严格按照原样对verbatim字符串进行解释,也就是说,编译器会保留该字符串的换行信息,并取消转义字符的作用。string path1 = “c:Program filesInternet Exploreriexplore.exe”/ 等价于等价于string path2 = “c:Program filesInternet Exploreriexplore.exe”string code = ”static void Main(string args) System.Console.WriteLine(”Sample code.”);”当需要使用当需要使用 “ 时,可通过两个时

7、,可通过两个 ” 替代,即替代,即 ”。运算符运算符 数学运算符例子:ch03Ex02。 赋值运算符 运算符的优先级命名空间命名空间 命名空间的作用命名空间的作用 对项目进行分类 不同的项目可使用不同的命名空间进行标识,统一进行组织。 避免命名冲突 通过命名空间的使用,可解决变量命名重名的问题,不同命名空间中可使用相同的名字,不会造成命名冲突。命名空间命名空间.NET Framework 使用命名空间对框架库进行分类.NET Framework 框架库是通过命名框架库是通过命名空间进行分类组织空间进行分类组织的,不同模块的功的,不同模块的功能分别在不同的命能分别在不同的命名空间中定义。名空间中

8、定义。命名空间命名空间 命名空间的用法命名空间的用法 使用关键字“namespace”定义命名空间。namespace Project class Program static void Main(string args) Console.WriteLine(“Hello!”); 定义命定义命名空间名空间Project命名空间命名空间 命名空间中名称的访问命名空间中名称的访问 使用.号来访问命名空间中的名称namespace StudentManagement struct StudentInfo /* . */ class Program static void Main(string ar

9、gs) StudentManagement.StudentInfo someBody; someBody.Name = “张三张三”; someBody.Sex = “男男”;使用使用.号号访问命名空访问命名空间中的名字。间中的名字。命名空间的嵌套命名空间的嵌套 命名空间中也可以包含命名空间命名空间中也可以包含命名空间namespace Management namespace StudentManagement struct StudentInfo /* . */ 嵌套命名空间的访问方法,类似于文件路径的访问方法,即可使用嵌套命名空间的访问方法,类似于文件路径的访问方法,即可使用绝对路径,又

10、可使用相对路径。绝对路径,又可使用相对路径。命名空间的嵌套命名空间的嵌套 嵌套命名空间名称的访问嵌套命名空间名称的访问 (1)namespace Management namespace StudentManagement struct StudentInfo /* . */ class Program static void Main() StudentManagement.StudentInfo someBody;即可使用相对命名空间访问即可使用相对命名空间访问 Student ,即,即 StudentManagement.Student,也,也可使用绝对命名空间访问,即可使用绝对命名空间

11、访问,即 Management.StudentManagement.Student.命名空间的嵌套命名空间的嵌套 嵌套命名空间名称的访问嵌套命名空间名称的访问 (2)struct StudentInfo /* . */ namespace Management struct StudentInfo /* . */ namespace StudentManagement class Program static void Main() StudentInfo someBody;在当前命名空间上层的名称可直接访问,编译器将自动查找并使用离当前在当前命名空间上层的名称可直接访问,编译器将自动查找并使

12、用离当前命名空间层次最近的名称,在此例中,将使用命名空间层次最近的名称,在此例中,将使用 Management.Student 。命名空间命名空间 using 语句语句 当命名空间嵌套很深时,可使用 using 语句来简化对命名空间的访问,using 语句可把指定命名空间中的所有名字引入到当前的命名空间中,用法:using ;命名空间命名空间 using 语句使用示例语句使用示例(1)/ 在这里引入命名空间在这里引入命名空间 System 中的所有名字,以便使用其中中的所有名字,以便使用其中/ 的的 Console 类进行输入输出。类进行输入输出。using System;class Prog

13、ram static void Main(string args) Console.WriteLine(“Hello world!”); 命名空间命名空间 using 语句使用示例语句使用示例(2)namespace StudentManagement struct StudentInfo /* . */ / 将将 StudentManagement 引入全局名字空间引入全局名字空间using StudentManagement;class Program static void Main(string args) StudentInfo someBody; someBody.Name = “

14、张三张三”; someBody.Sex = “男男”;当名称没有当名称没有包含在名称包含在名称空间时,名空间时,名称将定义在称将定义在全局名称空全局名称空间中。间中。命名空间命名空间 using 语句使用示例语句使用示例(3)namespace StudentManagement struct StudentInfo /* . */ namespace Main / 将将 StudentManagement 引入引入 Main 名字空间名字空间 using StudentManagement; class Program static void Main(string args) Studen

15、tInfo someBody; / . / 在这里是无法访问到名字在这里是无法访问到名字 StudentInfo 的。的。命名空间命名空间Main 中引入了命名中引入了命名空间空间SM中中的所有名字,的所有名字,所以可以直接所以可以直接使用该命名空使用该命名空间中的名字。间中的名字。命名空间命名空间 命名空间别名命名空间别名 考虑如下情况:namespace StudentManagement struct StudentInfo /* . */ namespace Main using StudentManagement; struct StudentInfo /* . */ class P

16、rogram static void Main(string args) StudentInfo someBody; / . 命名空间命名空间Main 和和SM中都中都有有StudentInfo,这样会产生名这样会产生名称冲突,无法称冲突,无法通过编译。通过编译。命名空间命名空间 命名空间别名命名空间别名 为了解决这个问题,引入命名空间别名的概念 命名空间别名是用来给指定的命名空间起一个别名,以解名称冲突和简化命名空间的访问。 命名空间别名的用法using = ;命名空间命名空间 命名空间别名的使用命名空间别名的使用通过命名空间通过命名空间别名别名SM的使的使用,可以解决用,可以解决命名冲突的问命名冲突的问题,当命名空题,当命名空间层次很多时,间层次很多时,还可简化命名还

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论