1 选择结构(与java结构语法的用法完全一样)
2 If结构
3 if(条件)
4 {
5 代码块
6 }
7
8 If-else选择结构
9
10 多重if
11 If-else if -else
12
13 嵌套if
14 If(条件)
15 {
16 If(条件)
17 {
18
19 }
20 }
21 Else
22 {
23
24 }
25
26 Switch(条件)
27 {
28 Case 常量表达式1:
29 语句
30 Break;
31 Case 常量表达式n:
32 语句
33 Break;
34 Default:
35 语句
36 Break;
37 }
38
39
40 数组与循环
41 一维数组
42 语法:数组类型[ ] 数组名; -------int[ ] arry;
43 ⦁ 数组类型[ ] 数组名 = new 数组类型[数组长度];
44 ⦁ 数组类型[ ] 数组名 = new 数组类型[ ]{值1,值n};
45 ⦁ 数组类型[ ] 数组名 = {值1,值n};
46 获取数组长度使用:数组名.Length(同java中一样下标从0开始,C#中叫“索引”)
47
48 XXXXXX-----Int [] srry = new int[5]{0,1,2};// 声明并初始化一维数组
49
50 Java中:错误
51 Int[ ] num = new int[3]{1,2,3};
52
53
54 ⦁ 数组类型[ ] 数组名 = new 数组类型[数组长度];
55 ⦁ 数组类型[ ] 数组名 = new 数组类型[数组长度]{值1,值n};
56 ⦁ 数组类型[ ] 数组名 = {值1,值n};
57
58 C#
59 Int[ ] num = new int[3]{1,2,3};
60
61
62 对象数组
63 讲所有的信息都保存到某个对象中
64 // 创建Student对象数组,定义3个人
65 Student[] stu = new Student[3];
66
67 // 实例化
68 stu[0] = new Student();
69 stu[0].name = "狗蛋";
70 stu[0].score = 0;
71
72 stu[1] = new Student();
73 stu[1].name = "张三";
74 stu[1].score = 0.1;
75
76 stu[2] = new Student();
77 stu[2].name = "李四";
78 stu[2].score = 100;
79
80 Console.WriteLine("学员的信息为:");
81
82 foreach (Student item in stu)
83 {
84 item.showInfo();
85 }
86
87 Console.ReadKey();
88
89 学员类
90 public string name;
91 public double score;
92 public void showInfo()
93 {
94 Console.WriteLine("姓名:" + name + "\t成绩 : " + score);
95 }
96
97
98 循环结构
99 Java中的循环while------do-while------for----foreach(for)
100
101
102 C#中的循环
103 While(条件){代码块}
104 注:先判断条件是否成立,在进行循环
105
106 Do-while(条件){代码块}
107 注:先循环,在判断是否成立
108
109 For(表达式1; 表达式2; 表达式3){代码块}
110 注:1---2---代码块---3
111
112 Foreach(元素类型 元素的变量名 in 数组){代码块}
113 对比java中的for()
114 Int arry[] = {1,3,2};
115 System.out.println(“-------------------”);
116 For(int a :arry){
117 Syso(a);
118 }
119 ++I && i++
120
121 Foreach不能改变数组中的元素
122 数组名++
123 Foreach遍历----》失败
124 Console.WriteLine("请输入字符串:");
125 string strings = Console.ReadLine();
126 foreach (var item in strings)
127 {
128 Console.WriteLine(item);
129 }
130
131 Console.ReadKey();
132
133
134
135 跳转语句:
136 Break:跳出整个循环,不执行
137 Continue:跳出本次循环,继续执行下一次,直到循环结束
138
139
140
141 冒泡排序
142 越小的值冒泡越高
143
144 框架
145 For(I = 0;i<N-1;i++)
146 {
147 For(j = 0; j<N-1-I;j++)
148 {
149 交换的步骤
150 }
151 }
152
153
154 冒泡排序口诀(升序)
155 N个数来排队
156 两两相比小靠前
157 外层循环N-1
158 内层循环N-1-i
159
160 // 长度为5的int类型数组
161 int[] score = new int[5];
162
163 int i, j;// 循环变量 i比较的轮数 j比较的次数
164 int temp;// 临时变量
165
166 // 读入成绩
167 Console.WriteLine("输入5个人的成绩:");
168 for (i = 0; i < 5; i++)
169 {
170 Console.WriteLine("请输入第{0}位人的成绩:", i + 1);
171 // 类型转换
172 score[i] = int.Parse(Console.ReadLine());
173 }
174
175 // 开始排序
176 // 索引 0 1 2 3 4
177 // 值 2 3 4 5 6
178 // 第一遍i == 0
179 // 第二轮i == 1
180 // 第三轮i == 2
181 // 第四轮i == 3
182 for (i = 0; i < score.Length - 1; i++)// 外层循环终止条件:数组长度-1
183 {
184 // 内层循环终止条件:数组长度 - 1 - i
185 // 索引 0 1 2 3 4
186 // 值 2 3 4 5 6
187 // j < 4
188 // j < 3
189 // j < 2
190 // j < 1
191 for (j = 0; j < score.Length - 1 - i; j++)
192 {
193 // 判断
194 if (score[j] > score[j + 1])
195 {
196 // 元素交换
197 temp = score[j];
198 score[j] = score[j + 1];
199 score[j + 1] = temp;
200 }
201 }
202 }
203 Console.WriteLine("排序后的成绩:");
204 for (i = 0; i < 5; i++)
205 {
206 Console.WriteLine("{0}\t", score[i]);
207 }
208
209
210 Console.ReadLine();
211
212
213
214 小到大、大到小
215 // 定义一个数组
216 int[] nums = new int[]{1,2,3,4,5,6,7,8,9};
217 int temp = 0;
218 // 从小到大
219 for (int i = 0; i < nums.Length - 1; i++)
220 {
221 for (int j = 0; j < nums.Length-1-i; j++)
222 {
223 if (nums[j] > nums[j + 1])
224 {
225 temp = nums[j];
226 nums[j] = nums[j + 1];
227 nums[j + 1] = temp;
228 }
229 }
230 }
231 foreach (var item in nums)
232 {
233 Console.Write(item + " ");
234 }
235
236
237 Console.WriteLine(" ");
238
239 // 从大到小
240 for (int i = 0; i < nums.Length - 1; i++)
241 {
242 for (int j = 0; j < nums.Length - 1 - i; j++)
243 {
244 if (nums[j] < nums[j + 1])
245 {
246 temp = nums[j];
247 nums[j] = nums[j + 1];
248 nums[j + 1] = temp;
249 }
250 }
251 }
252 foreach (var item in nums)
253 {
254 Console.Write(item + " ");
255 }
256
257
258
259 Var可以理解为匿名类型,认为他是一个变量的占位符,一个数组的类型
260 特点:
261 1)必须在定义是初始化(var s = “abc”; 不能:var s; s = “aaaa”)
262 2)一旦初始化完成,就不能再给变量赋值与初始化
263 3)var要求的是局部变量
264 4)var和Object不同,他在效率上和使用强制类型方式定义变量一样
265 // 声明并赋初始值
266 var name = "张三";
267 var age = 10;
268 var sex = true;
269
270 // 获取变量的数据类型
271 Type t_Name = name.GetType();// string
272 Type t_Age = age.GetType(); // int
273 Type t_Sex = sex.GetType(); // bool
274
275 // 打印结果
276 Console.WriteLine("变量name的类型是{0}\n,变量age的类型是{1}\n,变量sex的类型是{2}", t_Name.ToString(), t_Age.ToString(), t_Sex.ToString());
277
278 // 不自动关闭,等待用户输入
279 Console.ReadLine();
280