第六天
1 //笔记 2 1、变量类型 3 int double string char bool decimal 4 变量的使用规则:先声明再赋值最后使用 5 int number; 6 number=10; 7 number=20; 8 Console.WriteLine(number); 9 10 2、Camel Pascal 11 12 3、运算符 13 赋值运算符:= 14 复合赋值运算符:+= -= *= /= %= sum+=age; sum=sum+age; 15 算数运算符: + - * / % ++ -- 16 关系运算符: > < >= <= == != 17 逻辑运算符: && || ! 18 19 4、c#中的语法结构 20 分支结构: 21 if if-else 22 选择结构: 23 while do-while for 24 25 26 5、常量 27 声明的常量的语法: 28 const 变量类型 变量名=值; 29 什么时候会用到常量? 30 31 6、枚举 32 语法: 33 [public] enum 枚举名 34 { 35 值1, 36 值2, 37 值3, 38 ........ 39 } 40 public:访问修饰符。公开的公共的,哪都可以访问。 41 enum:关键字,声明枚举的关键字 42 枚举名:要符合Pascal命名规范 43 44 将枚举声明到命名空间的下面,类的外面,表示这个命名空间下,所有的类都可以使用这个枚举。 45 46 枚举就是一个变量类型 ,int--double string decimal. 47 只是枚举声明、赋值、使用的方式跟那些普通的变量类型不一样。 48 49 50 我们可以将一个枚举类型的变量跟int类型和string类型互相转换。 51 枚举类型默认是跟int类型相互兼容的,所以可以通过强制类型转换的语法互相转换。 52 当转换一个枚举中没有的值的时候,不会抛异常,而是直接将数字显示出来。 53 54 枚举同样也可以跟string类型互相转换,如果将枚举类型转换成string类型,则直接调用ToString(). 55 如果将字符串转换成枚举类型则需要下面这样一行代码: 56 (要转换的枚举类型)Enum.Parse(typeof(要转换的枚举类型),"要转换的字符串"); 57 如果转换的字符串是数字,则就算枚举中没有,也会不会抛异常。 58 如果转换的字符串是文本,如果枚举中没有,则会抛出异常。 59 60 61 7、所有的类型都能够转换成string类型,调用ToString()。 62 63 64 8、结构 65 可以帮助我们一次性声明多个不同类型的变量。 66 语法: 67 [public] struct 结构名 68 { 69 成员;//字段 70 } 71 变量在程序运行期间只能存储一个值,而字段可以存储多个值。 72 73 74 9、数组 75 一次性存储多个相同类型的变量。 76 语法: 77 数组类型[] 数组名=new 数组类型[数组长度]; 78 79 ***数组的长度一旦固定了,就不能再被改变了 80 81 10、冒泡排序:就是将一个数组中的元素按照从大到小或者从小到大的顺序进行排列。 82 int[] nums={9,8,7,6,5,4,3,2,1,0}; 0 1 2 3 4 5 6 7 8 9 83 第一趟比较:8 7 6 5 4 3 2 1 0 9 交换了9次 i=0 j=nums.Length-1-i 84 第二趟比较:7 6 5 4 3 2 1 0 8 9 交换了8次 i=1 j=nums.Length-1-i 85 第三趟比较:6 5 4 3 2 1 0 7 8 9 交换了7次 i=2 j=nums.Length-1-i 86 第四趟比较:5 4 3 2 1 0 6 7 8 9 交换了6次 i=3 j=nums.Length-1-i 87 第五趟比较:4 3 2 1 0 5 6 7 8 9 交换了5次 88 第六趟比较:3 2 1 0 4 5 6 7 8 9 交换了4次 89 第七趟比较:2 1 0 3 4 5 6 7 8 9 交换了3次 90 第八趟比较:1 0 2 3 4 5 6 7 8 9 交换了2次 91 第九趟比较:0 1 2 3 4 5 6 7 8 9 交换了1次 92 for(int i=0;i<number.Length-1;i++) 93 { 94 for(int j=0;j<nums.Length-1-i;j++) 95 { 96 if(nums[j]>nums[j+1]) 97 { 98 int temp=nums[j]; 99 nums[j]=nums[j+1]; 100 nums[j+1]=temp; 101 } 102 } 103 } 104 105 106 11、方法 107 函数就是将一堆代码进行重用的一种机制。 108 函数的语法: 109 [public] static 返回值类型 方法名([参数列表]) 110 { 111 方法体; 112 } 113 public:访问修饰符,公开的,公共的,哪都可以访问。 114 static:静态的 115 返回值类型:如果不需要写返回值,写void 116 方法名:Pascal 每个单词的首字母都大些。其余字母小写 117 参数列表:完成这个方法所必须要提供给这个方法的条件。如果没有参数,小括号也不能省略。 118 119 方法写好后,如果想要被执行,必须要在Main()函数中调用。 120 方法的调用语法: 121 类名.方法名([参数]); 122 ***在某些情况下,类名是可以省略的,如果你写的方法跟Main()函数同在一个类中,这个时候, 123 类名可以省略。 124 125 12、return 126 1、在方法中返回要返回的值。 127 2、立即结束本次方法。
1 //枚举练习 2 //提示用户选择一个在线状态,我们接受,并将用户的输入转换成枚举类型。 3 //再次打印到控制台中 4 5 Console.WriteLine("请选择您的qq在线状态 1--OnLine 2--OffLine 3--Leave 4--Busy 5--QMe"); 6 string input = Console.ReadLine(); 7 switch (input) 8 { 9 case "1": QQState s1 = (QQState)Enum.Parse(typeof(QQState), input); 10 Console.WriteLine("您选择的在线状态是{0}",s1); 11 break; 12 case "2": QQState s2 = (QQState)Enum.Parse(typeof(QQState), input); 13 Console.WriteLine("您选择的在线状态是{0}",s2); 14 break; 15 case "3": QQState s3 = (QQState)Enum.Parse(typeof(QQState), input); 16 Console.WriteLine("您选择的在线状态是{0}",s3); 17 break; 18 case "4": QQState s4 = (QQState)Enum.Parse(typeof(QQState), input); 19 Console.WriteLine("您选择的在线状态是{0}", s4); 20 break; 21 case "5": QQState s5 = (QQState)Enum.Parse(typeof(QQState), input); 22 Console.WriteLine("您选择的在线状态是{0}", s5); 23 break; 24 } 25 Console.ReadKey();