c#基础知识解读ppt课件.ppt
《c#基础知识解读ppt课件.ppt》由会员分享,可在线阅读,更多相关《c#基础知识解读ppt课件.ppt(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 C# 基础知识2目标q在C#中定义变量和常量q使用C# 中的基本数据类型q理解装箱和拆箱的概念q使用C#中的运算符,选择结构和循环结构q定义和使用数组,了解结构和枚举3C# 程序结构q程序从 Main( ) 处开始执行q关键字 using 可以引用 Microsoft .NET 框架类库中的现有资源 q语句就是在 C# 应用程序中执行操作的指令 q程序由许多不同的语句构成q使用分号隔离语句q使用大括号组合语句using System;class HelloWorld static void Main() Console.WriteLine (Hello, World); 4在 C
2、# 中设置代码格式 q使用缩进帮助说明语句所处的层次 q大小写敏感q忽略空白间隔 q使用 (/) 书写不跨行的注释 q使用 (/*) 和 (*/) 书写多行注释using System;class HelloWorld static void Main() Console.WriteLine (Hello, World); 5内置数据类型q用于定义变量的类型q存储不同类型的变量q根据想要表示数据的不同,选择不同的数据类型 q预定义数据类型是由 C# 语言和 .NET 框架提供 q允许自定义q变量在使用前必须先声明6C# 数据类型C# 数据类型大小默认值 示例int有符号的 32 位整数 0in
3、t rating = 20;float32 位浮点数,精确到小数点后 7 位 0.0Ffloat temperature = 40.6F;byte无符号的 8 位整数 0byte gpa = 2;short有符号的 16 位整数 0short salary = 3400;long有符号的 64 位整数 0Llong population = 23451900;bool布尔值,true 或 false Falsebool IsManager = true;stringUnicode 字符串 -string color = “Orange”Char 单个 Unicode 字符 0char gend
4、er = M;7变量语法:访问修饰符访问修饰符 数据类型数据类型 变量名变量名 PublicPrivateProtectedintstringfloatq变量用于存储特定数据类型的值8其他的两种访问限制符qInternal 一个程序集中可以使用qProtected internal 本程序集的类和这些类的子类使用q如果变量前没有访问修饰符,则默认为internal9声明并初始化变量 声明q 指定类型q 指定变量名q 以分号结束int numberOfVisitors;初始化变量 q 使用赋值运算符 (=) q 指定值q 以分号结束赋值q 附加后缀decimal deposit = 100M;s
5、tring bear;string bear = Grizzly;10变量举例static void Main(string args)/ 声明布尔型、字符串型、整型、短整型和浮点型变量 bool test = true;short num1 = 19;int num2 = 14000;string val = Jamie;float num3 = 14.5f;/ 显示变量值 Console.WriteLine (布尔值 = + test);Console.WriteLine (短整型值 = + num1);Console.WriteLine (整型值 = + num2);Console.Wr
6、iteLine (字符串值 = + val);Console.WriteLine (浮点值 = + num3);变量中存储的值取决于该变量的类型11声明及初始化字符串 q示例q声明字符串q使用转义符 q使用verbatim字符串 q国际 Unicode 标准 string s = Hello World; / Hello Worldstring s = HellonWorld; / a new line is addedstring s = Hellon; / Hellonstring s = Hello; / HelloThe character “A” is represented by
7、“U+0041”12常量语法: const 数据类型 常量名 = 常量值;PublicPrivateProtectedq常量用于在整个程序中将数据保持同一个值 q声明常量时必须对其赋值声明常量时必须对其赋值13常量举例static void Main(string args)/ PI常量PIconst float _pi = 3.14F;/ 由地球引力引起的加速度常量,单位为 cm/s*s const float _gravity = 980;/ 钟摆的长度 int length = 40;/ 钟摆的周期 double period = 0;/ 钟摆周期的计算公式 period = 2 * _
8、pi * Math.Sqrt(length / _gravity);Console.WriteLine (钟摆的周期为 0 秒, period);声明常量在表达式中使用常量qconst 关键字用于声明常量14C# 的基本数据类型 3-1qC# 中的数据类型分为两个基本类别 q值类型 - 表示实际数据 - 只是将值存放在内存中 - 值类型都存储在栈中 - 简单类型(int、char等)、结构、枚举15q引用类型 - 表示指向数据的指针或引用 - 包含内存堆(托管堆)中对象的地址 - 为 null,则表示未引用任何对象 - 类、接口、数组、字符串例如:string s1, s2;s1=ABCD;
9、s2 = s1; 其中,s1、s2是指向字符串的引用变量,s1的值是字符串ABCD存放在内存的地址,这就是对字符串的引用,两个引用型变量之间的赋值,使得s2、s1都是对ABCD的引用16C# 的基本数据类型 3-2static void Main(string args)/ 声明一个值类型的整型数据类型int val = 100;Console.WriteLine(该变量的初始值为 0, val); Test(val);/ 由于该数据类型属于值类型,所以将恢复其初始值 Console.WriteLine(该变量的值此时为 0, val); static void Test(int getVal
10、)int temp = 10;getVal = temp * 20; 将 val 的初始值传递给 Test() 方法被传递的 val 在 Test() 方法内被改变不反映已经改变的 val 值,而保留原始值17C# 的基本数据类型 3-3static void Main(string args)DataTypeTest objTest = new DataTypeTest();objTest.Val = 100;/ 传递属于引用类型的对象Test(objTest);/ 由于该数据类型属于引用类型,所以会考虑新处理的值 Console.WriteLine(变量的值为 0, objTest.Val
11、); static void Test(DataTypeTest dataTest)int temp = 10;dataTest.Val = temp * 20; 将 DataTypeTest 的引用传递给 Test() 被传递的 val 在 Test() 中改变反映已经改变的 val 值,而不保留原始值class DataTypeTest public int Val;18static void Main(string args) DataTypeTest a = new DataTypeTest(); DataTypeTest b = a; b.Val = 10; Console.Writ
12、eLine(a=0, b=1, a.Val, b.Val); Console.ReadKey(); 19类型转换 q隐式转换q由编译器自动完成,但必须确保不会丢失信息q显式转换q需要明确要求编译器完成的转换,否则可能会丢失信息int x = 123456; / int is a 4-byte integerlong y = x; / implicit conversion to a longint x = 65537;short z = (short) x; / explicit conversion to a short, z = 1 20装箱和拆箱 2-1q装箱是将值类型转换为引用类型 q
13、拆箱是将引用类型转换为值类型 q可以把值类型与引用类型的值赋给object类型变量,C#用“装箱”和“拆箱”来实现值类型与引用类型之间的转换。,拆箱必须显示进行21 q“装箱”就是将值类型包装成引用类型的处理过程。当一个值类型被要求转换成一个object对象时,“装箱”操作自动进行,它首先创建一个对象实例,然后把值类型的值复制到这个对象实例,最后由object对象引用这个对象实例。q显示装箱object i=(object)1 装箱可以隐式进行22q 例如: q using System;q class Demoq q public static void Main ( )q q int x
14、= 123;q object obj1=x; / 装箱操作q x = x+100; / 改变x的值,此时obj1的值并不会随之改变q Console.WriteLine ( x= 0 , x ); / x=223q Console.WriteLine ( obj1= 0 , obj1 ); q / obj1=123q q 23q“拆箱拆箱”操作与操作与“装箱装箱”相反,它是将一个相反,它是将一个object类型转换成值类型。首先检查由类型转换成值类型。首先检查由object引用的对引用的对象实例值类型的包装值,然后把实例中的值复制象实例值类型的包装值,然后把实例中的值复制到值类型的变量中。到值
15、类型的变量中。24q using System;q class Demoq q public static void Main ( )q q int x = 123, y;q object obj1=x; / 装箱操作q x = x+100; / 改变x的值,此时obj1的值并不会随之改变q y = (int) obj1; / 拆箱操作,必须进行强制类型转换q Console.WriteLine ( x= 0 , x ); / x=223q Console.WriteLine ( obj1= 0 , obj1 ); q / obj1=123q q 25装箱和拆箱 2-2int val = 10
16、0;object obj = val;Console.WriteLine (“对象的值 = 0, obj);int val = 100;object obj = val;int num = (int) obj;Console.WriteLine (num: 0, num);值类型引用类型拆箱装箱值类型引用类型值类型被装过箱的对象才能被拆箱26运算符和表达式 9-1 运算符和表达式Result = number*100变量变量变量变量常量常量操作数表达式操作数和运算符的组合运算符27运算符和表达式 9-2 类别类别运算符运算符说明说明表达式表达式算术运算符+执行加法运算(如果两个操作数是字符串,
17、则该运算符用作字符串连接运算符,将一个字符串添加到另一个字符串的末尾) 操作数1 + 操作数2-执行减法运算 操作数1 - 操作数2*执行乘法运算操作数1 * 操作数2/执行除法运算操作数1 / 操作数2%获得进行除法运算后的余数 操作数1 % 操作数2+将操作数加 1 操作数+ 或+操作数-将操作数减 1 操作数- 或-操作数将一个数按位取反 操作数28运算符和表达式 9-3类别类别运算符运算符说明说明表达式表达式三元运算符(条件运算符) ?:检查给出的第一个表达式 expression 是否为真。如果为真,则计算 operator1,否则计算 operator2。这是唯一带有三个操作数的运
18、算符 表达式? 操作数1:操作数229运算符和表达式 9-4类别类别运算符运算符说明说明表达式表达式比较运算符检查一个数是否大于另一个数 操作数1 操作数2检查一个数是否小于另一个数 操作数1 =检查一个数是否大于或等于另一个数 操作数1 = 操作数2= 检查一个数是否小于或等于另一个数 操作数1 = 操作数2= 检查两个值是否相等 操作数1 = 操作数2!= 检查两个值是否不相等操作数1 != 操作数230运算符和表达式 9-5类别类别运算符运算符说明说明表达式表达式成员访问运算符.用于访问数据结构的成员 数据结构.成员赋值运算符=给变量赋值 操作数1 = 操作数2逻辑运算符 & 对两个表达
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c# 基础知识 解读 ppt 课件
限制150内