一、 注释
作用
1. 注销
2. 解释c#的3种注释符
1)、单行注释 //
2)、多行注释 /*要注释的内容*/ 3)、文档注释 /// 多用来解释类或者方法using System;namespace _01_myfirstdemo{ class Program { static void Main(string[] args) { //这行代码作用是打印到控制台中 Console.WriteLine("Hello World!"); //暂停当前代码 Console.ReadKey(); } ////// 这个方法的作用就是求两个整数之间的最大值 /// /// 第一个整数 /// 第二个整数 ///返回比较大的那个数字 public static int GetMax(int n1, int n2) { return n1 > n2 ? n1 : n2; } }}
二、 VS中常用的快捷键
1. Ctrl+K+D 快速对齐 代码中如果出现语法错误就不能对齐,所以运行代码之前要生成解决方案 2. Ctrl+S 保存 3. Ctrl+Z 撤销 4. Ctrl+J 智能提示 5. Shift+End Shift+Home 快速选中这一行代码 6. Ctrl+K+C 注释选择的代码 7. #Region #Endregion 折叠冗余代码
三、 变量
用来在计算机当中存储数据
存储整数100
数据类型:整数在内存中开辟的空间应该是整数类型 int变量的使用规则:如果要使用变量的话,应该要先声明再赋值再使用
//存储整数100//数据类型:整数//在内存中开辟的空间应该是整数类型 intint number;number = 100;int n=100;
数据类型
1)、整数类型:int 只能存储整数,不能存储小数。
2)、小数类型:double 既能存储整数,也能存储小数,小数点后面的位数 15~16位。 3)、金钱类型:decimal:用来存储金钱,值后面需要加上一个m. 4)、字符串类型:string,用来存储多个文本,也可以存储空,字符串类型的值需要被 双引号引来,这个双引号必须是英文半角状态下的双引号 5)、字符类型:char,用来存储单个字符,最多、最少只能有一个字符,不能存储空。字符类型的值需要用单引号因起来。英文半角状态下的单引号int n = 3; double m = 3.14;string zsName = "张三";string s = "";char gender = '男';decimal money = 5000m;
VS中的波浪线
1)、如果你的代码中出现了红色的波浪线,意味着你的代码中出现了语法错误。
2)、如果你的代码中出现了绿色的波浪线,说明你的代码语法并没有错误,只不过提示你有可能会出现错误,但是不一定会出现错误。警告线变量命名规则
1. 首先要保证的就是这个变量的名字要有意义。
1. 现阶段给变量起名字的时候都以字母开头 2. 后面可以跟任意“字母”、数字、下划线. 注意: 1)你起的变量名不要与c#系统中的关键字重复 2)在c#中,大小写是敏感的. HTML不区分大小写 3)同一个变量名不允许重复定义(先这么认为,不严谨)错误:int number;int number=1;
2. 给变量起名字的时候要满足两个命名规范:
1、Camel 骆驼命名规范。要求变量名首单词的首字母要小写,其余每个单词的首字母要大写。多用于给变量命名。 highSchoolStudent 2、Pascal 命名规范:要求每个单词的首字母都要大写,其余字母小写。多用于给类或者方法命名。HighSchoolStudent四、运算符和表达式
赋值运算符
=:表示赋值的意思,表示把等号右边的值,赋值给等号左边的变量。
由等号连接的表达式称之为赋值表达式。注意:每个表达式我们都可以求解除一个定值,对于赋值表达式而言,等号左边的变量的值,就是整个赋值表达式的值。一旦给变量重新赋值,旧值不存在
int number=10;n=50;//最后n=50
+号的作用
1)、连接:当+号两边有一边是字符串的时候,+号就起到连接的作用。
2)、相加:两边是数字的时候占位符
使用方法:先挖个坑,再填个坑。
使用占位符需要注意的地方: 1、你挖了几个坑,就应该填几个坑,如果你多填了,没效果。如果你少填了,抛异常 2、输出顺序:按照挖坑的顺序输出using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _10占位符{ class Program { static void Main(string[] args) { int n1 = 10; int n2 = 20; int n3 = 30; Console.WriteLine("第一个数字是{1},第二个数字是{0},第三个数字是{2}", n1, n2,n3); Console.WriteLine("第一个数字是:" + n1 + ",第二个数字是:" + n2 + ",第三个数字是:" + n3); Console.ReadKey(); } }} //输出结果:20,10,30
异常
异常是指:语法上并没有任何错误,只不过在程序运行的期间,由于某些原因出现了问题,使程序不能再正常的运行
面试题
交换两个变量的值
using System.Threading.Tasks;namespace _11交换变量{ class Program { static void Main(string[] args) { //int n1 = 10; //int n2 = 20; //int temp = n1; //n1 = n2; //n2 = temp; //Console.WriteLine("交换后,n1的值是{0},n2的值是{1}", n1, n2); //Console.ReadKey(); //请交换两个int类型的变量,要求:不使用第三方的变量 int n1 = 50; int n2 = 30; //n1=20 n2=10; n1 = n1 - n2;//n1=-10 n2=20 n2 = n1 + n2;//n1=-10 n2=10 n1 = n2 - n1; Console.WriteLine("交换后,n1的值是{0},n2的值是{1}", n1, n2); Console.ReadKey(); } }}
接收用户的输入
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _12接收用户的输入{ class Program { static void Main(string[] args) { //Console.WriteLine("请输入你的姓名"); ////我们还想要接收你输入的姓名 ////接收用户在控制台的输入 11 3.14 男 张三 //string name = Console.ReadLine(); //Console.WriteLine("您的姓名是{0}", name); //Console.ReadKey(); //1.练习:问用户喜欢吃什么水果(fruits),假如用户输入”苹果”,则显示”哈哈,这么巧,我也喜欢吃苹果” //Console.WriteLine("美女,你喜欢吃啥子水果哟~~~~"); //string fruit = Console.ReadLine(); //Console.WriteLine("这么巧呀,我也喜欢吃{0}", fruit); //Console.ReadKey(); //2.练习:请用户输入姓名性别年龄,当用户按下某个键子后在屏幕上显示:您好:XX您的年龄是XX是个X生 //Console.WriteLine("请输入您的姓名"); //string name = Console.ReadLine(); //Console.WriteLine("请输入您的年龄"); //string age = Console.ReadLine(); //Console.WriteLine("请输入您的性别"); //string gender = Console.ReadLine(); //Console.WriteLine("{0}你的年龄是{1}是个{2}生",name,age,gender); //Console.ReadKey(); } }}
转义符
转义符指的就是一个'\'+一个特殊的字符,组成了一个具有特殊意义的字符
\n:表示换行\":表示一个英文半角的双引号\t:表示一个tab键的空格\b:表示一个退格键,放到字符串的两边没有效果。\r\n:windows操作系统不认识\n,只认识\r\n\\:表示一个\@符号1、取消\在字符串中的转义作用,使其单纯的表示为一个'\'2、将字符串按照编辑的原格式输出
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _13_转移符{ class Program { static void Main(string[] args) { // Console.WriteLine("今天天气好晴\n朗处处好风光"); //Console.WriteLine("我想在这句话中输出一\"\"个英文半角的双引号"); //string name1 = "张三"; //string name2 = "李思思"; //string name3 = "王小五"; //string name4 = "李狗蛋"; //Console.WriteLine("{0}\t{1}", name1, name2); //Console.WriteLine("{0}\t{1}", name3, name4); //Console.WriteLine("学习编\b程有用\b么?学了不一定会,会了不一定能找到工作,找到工作 不应能买的起房子,买的起房子不一定娶得起老婆,娶得起老婆不一定生的了孩子,生的了孩子不一定是你的\b"); //Console.ReadKey(); //string str = "今天天气好晴\r\n朗处处好风光"; //System.IO.File.WriteAllText(@"C:\Users\SpringRain\Desktop\1111.txt", str); //Console.WriteLine("写入成功!!!"); //Console.ReadKey(); //char c = '\b';//\ 在里面起到了一个转义的作用 //char cc='bb'; //string path=@"F:\老赵生活\music\a\b\c\d\e\小泽玛利亚.avi"; //Console.WriteLine(path); //Console.ReadKey(); //@:保留原格式输出 Console.WriteLine(@"今天天气好晴朗处处好风光"); Console.ReadKey(); } }}
算术运算符及算术表达式
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _14_算数运算符{ class Program { static void Main(string[] args) { //int n1 = 10; //int n2 = 3; //int result = n1 / n2; ////Console.WriteLine(result); ////Console.ReadKey(); ////演示:某学生三门课成绩为,语文:90 数学:80 英语:67,编程求总分和平均分. //int chinese = 90; //int math = 80; //int english = 67; //Console.WriteLine("总成绩是{0},平均成绩是{1}", chinese + math + english, (chinese + math + english) / 3); //Console.ReadKey(); //练习2:计算半径为5的圆的面积和周长并打印出来.(pi为3.14)面积:pi*r*r; Perimeter(周长) //=号两遍的数据类型必须一样 //int r = 5; //double area = 3.14 * r * r; //double perimeter = 2 * 3.14 * r; //Console.WriteLine("圆的面积是{0},周长是{1}", area, perimeter); //Console.ReadKey(); //练习3:某商店T恤(T-shirt)的价格为35元/件, //裤子(trousers)的价格为120元/条.小明在该店买了3件T恤和2条裤子, //请计算并显示小明应该付多少钱? //int T_shirt = 35; //int trousers = 120; //int totalMoney = 3 * T_shirt + 2 * trousers; //Console.WriteLine(totalMoney); //double realMoney = totalMoney * 0.88; //Console.WriteLine(realMoney); //Console.ReadKey(); ////打8.8折后呢? //int number = 10; //int---double //double d = number;//自动类型转换 隐式类型转换 int--double //double d = 303.6; ////语法: ////(待转换的类型)要转换的值; ////double----int//强制类型转换 显示类型转换 //int n = (int)d; //Console.WriteLine(n); //Console.ReadKey(); } }}
类型转换
1. 隐式类型转换
我们要求等号两遍参与运算的操作数的类型必须一致,如果不一致,满足下列条件会发生自动类型转换,或者称之为隐式类型转换。 1. 两种类型兼容 例如:int 和 double 兼容(都是数字类型) 2. 目标类型大于源类型 例如:double ----> int 小的转大的2. 显示类型转换: 1、两种类型相兼容 int--double 2、大的转成小的 double---->int 语法: (待转换的类型)要转换的值;总结:
自动类型转换:int---->double显示类型转换:double--->intint number = 10;//int---double//double d = number;//自动类型转换 隐式类型转换 int--double//double d = 303.6;////语法:////(待转换的类型)要转换的值;////double----int//强制类型转换 显示类型转换//int n = (int)d;//Console.WriteLine(n);//Console.ReadKey();
对于表达式,如果一个操作数为double型,则整个表达式可提升为double型
using System.Threading.Tasks;namespace _15_类型转换{ class Program { static void Main(string[] args) { int n1 = 10; int n2 = 3; double d = n1*1.0 / n2; Console.WriteLine("{0:0.0000}",d);//小数点后保留四位 Console.ReadKey(); ////int n1 = 5; //double n1 = 5; //int n2 = 2; //double d = n1 / n2; //Console.WriteLine(d); //Console.ReadKey(); } }}