----------------------以下为我在黑马程序员学习期间整理的笔记和心得,期待与您交流! ----------------------


01、基础知识

2013-08-19 14:45:25

一:.net和C#的区别

1..NET/dotnet:一般指.Net Framework框架,一种平台,一种技术

2.C#(sharp):一种编程语言,可以开发基于.net平台的应用

3.(*)JAVA即是一种技术也是一种语言

二:.net可以干什么

1.在.net这个平台上开 发桌面应用程序 叫做winform应用程序开发

2.Internet应用程序 ASP.net

3.手机开发:wp7

4.C/S 客户机[winform](Client)/服务器(Server)

5.B/S 浏览器/服务器模式 [通过浏览器访问]

三:IDE介绍

1.IDE(Integrated Development,集成开发环境)

2.Visual Studio 简介(VBS):

一套完整的开发工具集

用于开发桌面的应用程序、ASP.NET WEB应用程序、XML、Web Service、移动应用程序

为快速开发提供强大支持

四:MSDN介绍

1.MSDN 的全称是 Microsoft Developer Network。这是微软公司面向软件开发者的一种信息服务。MSDN 实际上是一个以 Visual Studio 和 Windows 平台为核心整合的开发虚拟社区,包括技术文档、在线电子教程、网络虚拟实验室、微软产品下载(几乎全部的操作系统、服务器程序、应用程序和开发程序的正式版和测试版,还包括各种驱动程序开发包和软件开发包)、Blog、BBS、MSDN WebCast、与 CMP 合作的 MSDN 杂志等等一系列服务。

五:Visual studio应用

1.选择Visual C#语言

2.选择应用程序控制台

3.名称

4.位置(Visual Studio 2008)

5.解决方案(Visual Studio 2008)


02、学习两句话

一:第一天

1.在.net这个平台上开始桌面应用程序,叫做Winform应用程序开发。

2.解决方案中可以包含多个项目,项目可以包含多个文件,文件中是我们写的程序。

——1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

-引用命名空间

——2

 namespace 我
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}

-定义了一个命名空间,叫: 我

——3

  class Program
    {
        static void Main(string[] args)
        {
        }
    }

-定义了一个名称为Programm的类

——4

        static void Main(string[] args)
        {
        }

-这是一个方法,叫做Main

3.在文件中,命名空间中可以包含类,类中可以包含方法,方法中可以是我们写的程序。

4.一般窗口不小心关闭了,在视图中寻找。

5.重置开发环境,可以是我们的开发环境还原为默认状态。

工具-导入和导出设置-重置所有设置-否,仅重置所有设置~。

5.Main方法是我们程序的入口方法,当我们执行一个程序时,会首先找到一个Main方法,从Main的第一句程序开始执行,当Main方法执行完成后(即执行到Main方法的反大括号就结束了)。

6.初学者写程序,就先写在Main方法中。

二:C#两句话

1.解决方案-在WINDOWS资源管理器中打开文件夹

2..sln是解决方案文件

3..csproj是项目文件

4.

Console.WriteLine("你想显示的内容");

5.

Console.ReadKey();

当程序执行到Console.ReadKey();时,程序会停到这里,等待用户从键盘上键入后,程序才继续执行

6.在C#中,每一句话都必须以“分号”结束

7.工具-选项-字体和颜色

8.工具-选项-文本编辑器-行号(勾选)

9.解决方案-新建项目(在当前解决方案下新建项目)

10.项目-设置为启动项目

11.WriteLine,光标出现在下一行

12.Write,光标出现在这句话后面

13.解决方案-属性-单启动项目


03、基础知识

一:C#中的注释

1.什么是注释呢?对我们写的程序写的解释,注释是给人看的。

2.

第一种:单行注释,以//开始,到本行结束

第二种:多行注释/*开始 /*结束,之间的都为注释

第三种:文档注释,用于对类和方法进行注释

,在类或方法前面连续输入3个/

3.

namespace 我的第一个项目

{
    /// <summary>
    /// 在这个类中有一个Main方法,使我们程序的入口方法。
    /// </summary>

4. class Program

    {
        /// <summary>
        /// 程序运行时,从这里执行代码
        /// </summary>
        /// <param name="args"></param>

二:Visual Stodio中的快捷键

1.Home 无论光标在哪,按下后跳转到该行最前面

2.End 无论光标在哪,按下后跳转到该行最后面

3.Page up 上翻一页

4.Page down 下翻一页

5.Shift 选中多个字符

6.Ctrl+Home 整个文档最前面

7.Ctrl+End 整个文档最后面

8.Delete 删除光标后面的

9.Backspace 删除光标前面的

10.Insert 覆盖字符

11.over 插入字符

12.Ctrl Z/X/C/V 撤销/剪贴/复制/粘贴

12.F5调试程序

13.F6生成程序

14.#Region和#Endregion 折叠语段

   #region 我的第一个程序
            Console.WriteLine("***************************");
            Console.WriteLine("*   这是我的第一个程序    *");
            Console.WriteLine("***************************");
            Console.ReadKey();
            #endregion

10..Net开发环境(*了解)

1.开发工具:Visual Studio

.Net 是一种多语言的平台,开发.Net可以用多达几十种语言进行开发

Java 是一种单语言的平台,一种语言多平台

11.软件系统依赖关系(*)

VC++.NET C# VB.NET VJ#

.NET Framework 类库 (FCL)

公共语言运行库

操作系统

12..NET是如何实现语言无关性的(*)

MSIL:微软中间语言

13.NET Framework

Web 窗体 Web Service WinForms

ADO.NET 和 XML 类

基本框架类

CLR:公共语言运行时

CLS:公共语言规范

CTS:通用类型系统

JIT:即时编译器


04、变量

2013-08-19 14:51:08

C#中的注释符

//单行注释

/**/多行注释

///

///文档注释

///


.NET 第二天

用户存储正在运行的程序数据(不准备)

RAM:内存有个特点,断电后里面的数据丢失。

变量:变量代表着一块内存空间,我们可以通过变量名称向内存存/取数据,有变量就不需要我们记忆复杂的内存地数据类型

整数字在C#中的数据类型叫做INT

int  number

a=1000   //把1000放进去

赋值: 变量名=值

PS:number加引号显示number,不加引号显示值

数据类型

数值:

1.A.整型:int

......

B.非整型:double   (小数)

decimal  (金钱)

2.非数值

char

String


05、变量的使用和命名规则

2013-08-24 09:59:55

int 所包含的值前后20万

double:小数

char:字符型 只能存储一个字符,并且存储的这个字符要求用单引号引起来

string:字符串   把0个或1个或多个字符连接以来,字符串要求用双引号连接起来

int: 3 5 100

double:  3.14   10.5   -3.14

char:   'A'   'b'   'a'

string:  "zhangsan"   "李四"  "计算"

decimal:(存储金钱)5.26

__decimal d=5.55m

十几位以上的数字用decimal

十几位以下用double

注意:在C#开发环境中,直接写一个有小数点的数字,这个数字是double类型的。

在一个小数后面加一个m/M,就告诉编译器这个数字是decimal。

变量声明的三种方法:

1.先声明后赋值   int a;  a=3

2.定义变量时直接赋值   int a=3;

3.可以一次声明多个同类型的变量,多个变量之间用,相隔最后以;结束

  string zsname, lsname, wwname;
            zsname = "zs";
            lsname = "ls";
            wwname = "ww"

变量的命名规则:

1.必须以“字母”或@符号

2.后面可以跟任意“字母”,数字,下划线

注意

1.起的变量名不要和c#系统中的关键字重复(关键词会变为蓝色)

2.在c#中,大小写是敏感的

3.同一个变量名不允许重复定义(不严谨)

定义变量时,变量名要有意义

c#变量名编码规范

Camel  命名法:

首个单词的首字母小写,其余单词的的首字母大写

Pascal ,命名规范:

每个单词的第一个字母都大写

如果使用到英文单词的缩写,全部使用大写


06、输出变量的值连_赋值符_连接符_占位符 

2013-08-24 16:32:15

赋值运算符:=

a=a+1; 这里的=号是赋值运算符,不是数学意义上的相等。

变量可以重复赋值,一旦给一个变量赋了新值,那么变量中的老值就不复存在了。

右边代码的输出结果:

int age = 10;

age = 20;

Console.WriteLine(age);

在方法中定义变量,要使用Camel命名法,Main方法也是。

在一个方法中,一般情况下变量只能定义一次,但可以多次赋值,再次赋值时会把变量中原有的值覆盖掉。


“+”在C#中有两个意义

1.是数学中的加法运算:两边参与加法运算的数据类型为数字类型,则“+”表示数学上的加法的意义

2.是连接意义:两边参与加号运算的数据,有一个是字符类型,那么这个“+”就是连接意义

string a = "1";
            int b = 2;
            Console.WriteLine(a+b);

输出的值为12


我叫我,今天28岁了,我的工资是7800.33元

   string newname = "我";
            int newage = 28;
            decimal newmoney = 7600.33m;
            Console.WriteLine("我叫" + newname + ",今年" + newage + "岁了,我的工资是"+newmoney+"元");

Consolo.Writeline引号中的原封不动输出

在Conslole.Writeline("")中,第一个变量/字符串中可以使用占位符

占位符由{数字}组成,数字由0开始编号

第一个占位符:{0}

第二个占位符:{1}

第三个占位符:{2}

我叫我,今天28岁了,我的工资是7800.33元

今天28岁了,我的工资是7800.33元我叫张三,今天28岁了,我的工资是7800.33元

Console.WriteLine("{0}我叫"+newname,"今年"+newage+"岁了,我的工资是"+newmoney+"元");


07、变量交换_输入

2013-08-26 00:43:46

长数字用string

            string wname="张三";
            int wage=18;
            char wsex='男';
            string phone="010-110-2";
            Console.WriteLine("我叫{0},今年{1}岁了,性别{2},电话{3}",wname,wage,wsex,phone);

变量交换

            int a = 10;
            int b = 5;
            int temp;
            temp = a;
            a = b;
            b = temp;
            Console.WriteLine("a={0},b={1}",a,b);

用于让用户从键盘上输入一句话,当程序执行到下面这句话,就会暂停,然后等待用户从键盘上输入一句话,按回车程序会继续执行。如果想得到用户输入的内容,就需要定义一个string类型的变量,写在下面这句话前面接受用户输出的内容。

Console.ReadLine().

用户输入

接受用户输入的内容,必须定义一个字符串来进行接受

string input=Consloe.ReadLine();


08-09、数据类型的自动转换

2013-08-26 17:55:47

练习一

Console.WriteLine("请输入你喜欢吃的水果?");
            string input = Console.ReadLine();
            Console.WriteLine("这么巧啊,我也喜欢吃{0}",input);
            Console.ReadKey();

练习二

            Console.WriteLine("请问你叫什么名字?");
            string name = Console.ReadLine();
            Console.WriteLine("你好,{0}", name);

转义字符:

当我们需要在字符串中输入一些特殊字符时,比如:半角引号,换行,退格,就需要使用转义字符。

转义字符是一个字符,

在屏幕上显示:c#用的字符用“”包含起来

\+一个字符,组成转义字符,他由一个+一个字母来组成具有特殊意义的一个字符

            Console.WriteLine("c#中的字符要用\"\"引起来");
                               c#用的字符用“”包含起来

常用的转义字符

\n  换行

            Console.WriteLine("1\n2");

\b baskspace 退格

            Console.WriteLine("1\b2\b3");

\t tab键 由多个空格组成的一个字符,具有行与行之间的对其功能

            Console.WriteLine("1\t2\t3\t4\t5\t");
            Console.WriteLine("1\t22\t333\t4444\t55555\t");

\\ 表示一个

在字符串前面加@符号有两种意义

1.字符串中如果有,则不再理解为转义符。

            Console.WriteLine(@"C:\Users\Zank\Desktop\NET听课笔记");

2.使字符串可以换行

            Console.WriteLine(@"C:\Users\Zank
            \Desktop
            \NET听课笔记");

如果字符串前面加了@符号,在字符串上用两个双引号代表一个双引号

            Console.WriteLine(@"C:\Users\Zank""\Desktop\NET听课笔记");

算术运算符及算数表达式

算术运算符: + — * / % (去余数 取模)

数表达式:由算数运算符连接起来的式子。如:1+1  a-b  (变量ab前面已经声明并赋初值)

优先级:先乘除,后加减,有括号先算括号里面的,相同级别从左至右运算

小括号可以无限制的套用,但一定要成对出现。

int chinese = 90;
            int math = 80;
            int english = 91;
            int sun = chinese + math + english;
            int avg = sun / 3;
            Console.WriteLine("您的总成绩是{0},平局成绩是{1}", sun, avg);

c#中,有五个算数运算符: + — * / %   他们都是二元运算符。

            //double pi = 3.14;
            //int r = 5;
            //double s = r * r * 3.14;
            //Console.WriteLine("s={0}",s);

要求:参与运算的两个操作数的类型必须相同,并且经过运算后的结果也与操作数的类型相同。

            double tshirPrice = 35;
            double trouserPrice = 120;
            double totalMoney = 3 * tshirPrice + 2 * trouserPrice;
            double disMoney = totalMoney * 0.88;
            Console.WriteLine("购物总计:{0},打8.8折后应付:{1}元", totalMoney, disMoney);

发生自动转换的条件

1.参与运算的两个数据类型必须相兼容

2.必须一边的数据类型表示范围小,一边的范围大,比且把小的转向大的不丢失精度

Double中包含int

一个表达式,如果其中一个操作数为double类型,那么整个数为double类型(double的精度为15)

            int a = 10, b = 3;
            int mod = a % 3;      
            double quo = 1.0*a / b;
            Console.WriteLine("mod={0}   qup={1}", mod, quo);


这里quo输出的值为3.333333333333333,为double类型,这是double除以double,如果为int除以double则显示3


10、复习-数据类型转换

2013-08-28 15:57:08

字符串无法强制转换成数字类型

Convert不再仅是内存级别的转换,而是老驴数据意义的转换。

Convert是一个加工、改造的过程

Convert.ToInt32(待转换字符串)

Convert.Tostring每种类型都还有.ToString()方法

一切类型都可以转换成为string类型

int 变量=Consvert.ToInt32(待转字符串)

上面语句的意义:把待转字符串转换成int类型后赋给变量

string strsCore="90";
int iScore = Convert.ToInt32(strScore);

把strScroe转化成int类型并且付给iScroe

            Console.WriteLine("请输入你的语文成绩?");
            string chinese = Console.ReadLine();

            Console.WriteLine("请输入你的数学成绩?");
            string math = Console.ReadLine();

            int chineseScroe = Convert.ToInt32(chinese);
            int mathScroe =Convert.ToInt32(math); 

            Console.WriteLine("你的总成绩为:{0}",chineseScroe + mathScroe);

缩写直接赋值

            int chinese =Convert.ToInt32( Console.ReadLine());