C#基础部分(一)
--------------------------------这是是我的第一篇.NET学习笔记------------------------------------
1、关于.NET
.NET/DOTNET:一般指.NET FRAMEWORK框架,是一种技术或者说一个平台,提供函数库、类库。
.NET能做什么:桌面应用程序 WINFORM
internet应用程序 ASP.NET
手机开发 WP7
.NET简介:1)平台无关:在操作系统和应用程序之间,对CLR、.Net Framework进行了隔离。
2)更安全:代码托管、罕用指针、垃圾回收(内存)。
3)语言无关:VB.NET、C#可以调用相同的类,模糊了语言的差别。
C#是在.net平台的一种语言,而JAVA即是一种语言又是一种技术;在.net平台上进行开发的网站程序(B/S),都可以叫做ASP.NET,用JAVA语言进行开发的B/S程序叫jsp程序。
IDE(Integrated Development):集成开发环境
.NET版本:.NET1.0、.NET2.0、.NET3.x、.NET4.x等等(向下兼容);
Visual Studio2003/2005/2008/2010大同小异(可以看做是微软的一种定价策略)
2、创建简单的控制台应用程序
解决方案管理器:解决方案、工程、文件;一个解决方案可以包含多个项目,不同项目里面有多个文件
C#文件都以.cs结尾(C Sharp),程序的入口是Main函数。一般情况向,一个项目有且只有一个Main方法,因为Main是程序的入口方法,程序一旦开始执行,就是要找到Main方法,从Main开始,执行完后,程序就结束了。
三条重要控制台指令:Console.Writeline():打印输出;Console.ReadKey():控制台暂停;
Console.ReadLine():从控制台读入一行
占位符:{0}的个数必须和参数的个数一样,是一一对应的关系。
C#语法:从上到下依次执行;大小写敏感;函数参数用()包围;两句代码之间用;分割(注意半全角问题);注释(单行、多行)。
#region和#endregion用于折叠代码
3、基本数据类型:
常用:string int char bool(true false)
字符串转义符:\ (为什么输出"要用转义符"\"",因为编译器默认遇到"开始字符串。再遇到"是结束字符串,但是如果遇到前面有\的就不把它当成有字符串起始意义的")
例如:@"c:\a.text"(@表示\不当成转义符,只针对转义符起作用。但是@不是万能的,不能解决字符串中有双引号的问题,如果有双引号还是用转义符)
并且,转义符只针对在代码中直接写出的字符串,对于在程序中读入的没有这个问题。
简单的类型转换Convert.ToInt32();Convert.ToString().
int i1 = Convert.ToInt32(Console.ReadLine()); //没有容器(变量)暂存数据,输入后直接给convert方法
4、变量
命名规则:第一个字符必须是字母或下划线,不能是数字,可以是中文,建议用开头用小写
局部变量使用之前必须附初值,赋值运算符=,=的左边必须是变量,不能是常量或表达式!
交换两个变量的值:
1)声明一个中间变量;
2)?
5、bool表达式
用==来做相等判断,有true和false两个值(C#中赋值表达式也有值,它的值表示赋值后变量的值)!=表示不等于判断
if()后面如果加;的话,表示if语句已经结束,后面{}的内容和if没有关系,所以if语句不加;!
6、作业问题
1)提示用户输入密码,如果888888,提示正确,否则提示错误
int pwd = Convert.ToInt32(Console.ReadLine());
问题一:用户输入是非数字的时候失败(抛异常)
string pwd = Console.ReadLine();
问题二:用户输入过长的数字也报错
2)年龄问题
年龄一定是整形数字,输入字符、超长数字、负值、空格、0、点或符号等非法值进行如狼似虎地测试,那么我的程序一定会死去活来,OMG!!
---------------------------该怎么解决呢??
一定要养成添加注释的习惯!!
7、switch case语句
switch等于什么就执行什么
case语句相当于if(),但是必须是常量,不能是变量!C#中必须写break;default相当于if语句中的else。
case语句可以合并,多个case分支使用一个嵌入语句,提供代码分享
switch case语句相当于if...else ...else if...else,但是是离散值的判断
switch一般都可以用if重写,但是if语句不一定能用switch重写;
不要忘了break,除了合并case的情况
8、while循环
1)只要while里面的值不为false,{}的代码用于都会执行下去
int i = 0;
while (i < 10)//每次执行完
{
++i;
Console.WriteLine("{0}", i);
}//输出结果为1到10
2)do
{
}
while //比较少用,{}中代码至少执行一次!做之后再判断!
9、作业:
1)用while计算1到100之间整数的和(杨老师说面试的时候会有这个,有更好的解决方法)
2)要求用户输入用户名和密码,只要不是admin/888888就一直提示要求重新输入
3)不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入Q的时候程序退出(return)
4)不断要求用户输入一个数字(假定用户输入的都是正整数),当用户输入end的时候显示刚才输入的数字钟的最大值(杨老师提示:设一个变量max,初始值为0,用户每输入一次就把用户输入的和max比较一下,如果输入的比max大,则让max等于用户输入。)
10、明天最低任务:17-30,要在回家之前把第一季看完