(主要是传智播客的赵剑宇老师上课的笔记,自己在加一点实例,和自己的理解,在此感谢赵剑宇老师)
1、注释符
作用:
1)、注销
2)、解释
2、C#中3种注释符
1):单选注释//注释的内容
例:
//Console.WriteLine("hello");
2):单行注释/*注释的内容*/
例:
1 /*Console.WriteLine("hello"); 2 Console.ReadKey();*/
3):文档注释///多用来解释类或得方法
例:
1 /// <summary> 2 /// 获取一个最大值 3 /// </summary> 4 /// <param name="t1">第一整型变量</param> 5 /// <param name="t2">第二整型变量</param> 6 /// <returns>返回一个最大的变量</returns> 7 public static int GetMax(int t1, int t2) 8 { 9 return t1 > t2 ? t1 : t2; 10 }
3、VS中的常用快捷键:
Ctrl+K+D:快速对齐代码
注意:代码中出现语法错误无法对齐,比如说少了;。
Ctrl+Z:撤销
Ctrl+S:保存
Ctrl+J:快速弹出智能提示
Home:移动光标到该行文本的最前面
End:移动光标到该行文本的最后面
Shift+Home;选中光标的后面的一段文字
Shift+End:选中光标的前面一段文字
Ctrl+Home:跳转光标到当前文本最顶部
Ctrl+Home:跳转光标到当前文本最底部
Ctrl+K+C:注释所选代码
Ctrl+K+U:取消对所选代码的注释:
F1:转到帮助文档
#region和#endregion:折叠冗余代码
作用:
折叠代码(注意可以折叠注释过的代码,也可以注释没有注释过的代码)
例:
1 #region 2 Console.WriteLine("hello"); 3 Console.WriteLine("hello"); 4 Console.WriteLine("hello"); 5 Console.WriteLine("hello"); 6 Console.WriteLine("hello"); 7 Console.WriteLine(""); 8 #endregion
效果:
可以为折叠添加文字解释
例:
1 #region 折叠 2 Console.WriteLine("hello"); 3 Console.WriteLine("hello"); 4 Console.WriteLine("hello"); 5 Console.WriteLine("hello"); 6 Console.WriteLine("hello"); 7 Console.WriteLine(""); 8 #endregion
效果:
4、
存储变量的语法:
变量类型 变量名;
变量名=值;
声明并且给变量赋值的简写形式:
变量类型 变量名=值;
"="在这并不表示等于的意思,而是赋值的意思,表示把等号右边的值赋值给等号左边的变量。
"=="
在这表示等于的意思,多用于判断两数是否相等。
5、数据类型
1)、整数类型:int 只能存储整数,不能存储小数。
2)、小数类型:double 既能存储整数,也能存储小数,小数点后面的位数 15~16位。
3)、金钱类型:decimal:用来村粗金钱,值后面需要加上一个后缀m或M
例:decimal d = 1000m;
decimal d = 1000M;
4)、字符串类型:string,用来存储多个文本,也可以存储空,字符串类型的值需要被 双引号引来,
这个双引号必须是英文半角状态下的双引号,String和string功能都一样。
5)、字符类型:char,用来存储单个字符,最多、最少只能有一个字符,不能存储空。
字符类型的值需要用 单引号因起来。英文半角状态下的单引号。
6.波浪线
1)、红色波浪线:
代码中出现了语法错误
2)、绿色的波浪线: 也称警告线,说明你的代码语法并没有错误。只不过提示你有可能会出现错误,但是不一定会出现错误。
7、变量的使用规则
如果你要使用变量的话,应该要先声明再赋值再使用。
8、命名规则:
1)、必须以“字母”_或@符号开头,--不要以数字开头
2)、后面可以跟任意“字母”、数字、下划线
注意:
1)、起的变量名不要与C#系统中的关键字重复
2)、在C#中,大小写是敏感的
3)、同一个变量名不允许重复定义(先这么认为,不严谨)
两个命名规范:
1、Camel骆驼命名规范,要求变量名道单词的道字母要小写,其余每个单词的首字母要大写。
多用于给变量命名
2、Pascal命名规范:要求每个单词的首字母都要大写,其余字母小写,多用于给类或方法命名。
8、赋值运算符
=:表示赋值的意思,表示把等号右边的值,赋值给等号左边的变量。
由等号连接的表达式称之为赋值表达式。
注意:每个表达式我们都可以求解除一个定值,对于赋值表达式而言,等号左边的变量的值,就是整个赋值表达式的值。
int number=10;
9、+号的作用
1)、连接
+号两边有一边是字符串的时候
2)、相加
+号两边没有一边是字符串的时候
练习1
代码
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication2 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 string name = "卡卡西"; 14 string address = "火影村"; 15 int age = 30; 16 string email = "kakaxi@qq.com"; 17 decimal wage = 2000m; 18 Console.WriteLine("我叫"+name+ 19 ",我住在"+address+ 20 ",我今年"+age+ 21 "邮箱是"+email+ 22 "我的工资"+wage 23 ); 24 } 25 26 } 27 }
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication2 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 int age = 18; 14 age = 81; 15 Console.WriteLine("年龄是"+age+"岁!"); 16 } 17 18 } 19 }
10、占位符
使用方法:先挖个坑,再填个坑。
注意:
1、你挖了几个坑,如果你多填没有效果,但语法不会的错。
2、输出顺序:按照挖顺序输出
例(正常):
View Code
输出结果:
第一个数:10,第二个数:20,第三个数:30
请按任意键继续. . .
例(特殊):
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication2 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 int n1 = 10; 14 int n2 = 20; 15 int n3 = 30; 16 17 Console.WriteLine("第一个数:{0},第二个数:{2},第三个数:{1}", n1, n2, n3); 18 } 19 20 } 21 }
输出结果:
第一个数:10,第二个数:30,第三个数:20
请按任意键继续. . .
1
结果:
我的姓名是007,性别:男,年龄:21,电话:1314520
请按任意键继续. . .
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication2 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 string address = "安徽省合肥市"; 14 string age = "21"; 15 string name = "FangHaiFeng"; 16 17 Console.WriteLine("我家在{0},今年{1}岁,我的姓名是{2}", address, age, name ); 18 } 19 20 } 21 }
结果:
我的姓名是007,性别:男,年龄:21,电话:1314520
请按任意键继续. . .
3
代码3.1
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication2 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 int number1 = 10; 14 int number2 = 5; 15 16 int t = number1; 17 number1 = number2; 18 number2 = t; 19 20 Console.WriteLine("number1:{0},number2:{1}", number1, number2); 21 } 22 23 } 24 }
结果
number1:5,number2:10
请按任意键继续. . .
代码3.2
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication3 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 int number1 = 10; 14 int number2 = 5; 15 16 number1 = number1 - number2; 17 number2 = number1 + number2; 18 number1 = number2 - number1; 19 20 Console.WriteLine("number1:{0},number2:{1}", number1, number2); 21 } 22 } 23 }
结果:
number1:5,number2:10
请按任意键继续. . .
11、异常
异常是指:语法并没有任何错误,只不过在运行期间,由于某些原因出现问题,使程序不能正常运行。
练习3
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication4 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 string fruit; 14 Console.WriteLine("你喜欢吃什么水果?"); 15 fruit = Console.ReadLine(); 16 Console.WriteLine("哈哈,这么巧,我也喜欢吃{0}。", fruit); 17 } 18 } 19 }
结果:
你喜欢吃什么水果?
苹果
哈哈,这么巧,我也喜欢吃苹果。
请按任意键继续. . .
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication4 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 string name; 14 string gender; 15 string age; 16 17 Console.WriteLine("请输入你的名字:"); 18 name = Console.ReadLine(); 19 Console.WriteLine("性别:"); 20 gender = Console.ReadLine(); 21 Console.WriteLine("年龄:"); 22 age = Console.ReadLine(); 23 24 Console.WriteLine("您好:{0},您的年龄是{1}是{2}生。", name,age, gender); 25 } 26 } 27 }
结果:
请输入你的名字:
大日如来
性别:
男
年龄:
999999
您好:大日如来,您的年龄是999999是男生。
请按任意键继续. . .
12、转义符
转义符指的就是一个‘’+一个特殊的字符,组成了一个具有特殊意义的字符。
:换行
“:表示一个英文”
:制表符和tab键功能相同
:与键盘上Backspace功能相同,放在字符串两端没有效果。
:windows系统不认识
,只认识
。
\:表是一个
@符号
1、取消在字符串中的转义作用,使基单纯的表示为一个
例:
报错:
Console.WriteLine("acd");
添加@正确:
Console.WriteLine(@"acd");
2、保留原格式输出
例:
报错:
Console.WriteLine("人有悲欢离合
月有阴晴圆缺");
加@符号正确:
Console.WriteLine(@"人有悲欢离合
月有阴晴圆缺");
结果:
人有悲欢离合
月有阴晴圆缺
请按任意键继续. . .
注意:
如果在 月有阴晴圆缺前面有空格的话也许打印空格。
13、算数运算符
+ 加
- 减
* 乘
/ 除
% 取余
优先级:先乘除,后加减,有括号先算括号里的,相同级别的从左至右运算。
练习4:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication5 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 int a = 100; 14 int b = 20; 15 16 Console.WriteLine("{0}", a+b); 17 } 18 } 19 }
输出结果:
120
请按任意键继续. . .
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication5 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 int r = 5; 14 double pi = 3.14; 15 double area = pi * r * r; 16 double perimeter = 2 * pi * r; 17 Console.WriteLine("面积:{0},周长:{1}。", area, perimeter); 18 } 19 } 20 }
输出结果:
面积:78.5,周长:31.4。
请按任意键继续. . .
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication5 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 int t_shirt = 35; 14 int trousers = 120; 15 16 int sum = 3 * t_shirt + 2 * trousers; 17 Console.WriteLine("应该付{0}元", sum); 18 } 19 } 20 }
输出结果:
应该付345元
请按任意键继续. . .
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication5 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 int t_shirt = 35; 14 int trousers = 120; 15 16 double sum = (3 * t_shirt + 2 * trousers)*0.88; 17 Console.WriteLine("应该付{0}元", sum); 18 } 19 } 20 }
输出结果:
应该付303.6元
请按任意键继续. . .
14、类型转换
隐式类型转换(自动类型转换):
我们要求等号两遍参与运算的操作数的类型必须一致,如果不一致,满足下列条件会发生
自动类型转换,或者称之为隐式类型转换。
两种类型兼容
例如:int 和 double 兼容(都是数字类型)
目标类型大于源类型
例如:double > int 小的转大的
例:
int number = 10;
double d = number;
显示类型转换(强制类型转换):
1、两种类型相兼容 int--double
2、大的转成小的 double----int
语法:
(待转换的类型)要转换的值;
例:
double d = 10.6;
int number = (int)d;
总结:
自动类型转换:int---->double
显示类型转换:double--->int
课后练习:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication7 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 int days = 46; 14 int week = days / 7; 15 int day = days % 7; 16 17 Console.WriteLine("{0}天是{1}周零{2}天。", days, week, day); 18 Console.ReadKey(); 19 } 20 } 21 }
输出结果:
是6周,零4天。
请按任意键继续. . .
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication7 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 int second = 107653; 14 int day = second/(60*60*24); 15 int hour = second%(60*60*24)/(60*60); 16 int minute = second % (60 * 60) / 60; 17 int second2 = second % 60; 18 19 Console.WriteLine("{0}秒是{1}天{2}小时{3}分钟{4}秒", second, day, hour, minute, second2); 20 Console.ReadKey(); 21 } 22 } 23 }
输出结果:
107653秒是1天5小时54分钟13秒
请按任意键继续. . .