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,要在回家之前把第一季看完

posted @ 2012-01-11 19:18  王小萌  阅读(303)  评论(0编辑  收藏  举报