【黑马程序员】C#基础

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

一、.初步了解.net

         1.net可以做什么1)开发桌面应用程序:winform 程序

                                               2internet应用程序的开发:ASP.net

                                               3)手机开发:wp7

         两种模式:C/S:客户机/服务器模式

              B/S:浏览器/服务器模式

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

   3.最基本的两句话Console.WriteLine("你想显示的内容");

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

   4.注释符:C#中的注释符(对我们写的程序进行解释,注释是给人看的)有三种:

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

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

第三种:文档注释用于对类和方法进行注释,在类和方法前面连续输入三个/

5.变量

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

向内存申请一块内存空间的语法:

数据类型 变量名;

在c#中常用的数据类型:

Int:整数

Double:小数 精确到15、16位

Char:字符型  只能存储一个字符,不能为空必须有一个字符,并且存储的最高字符串要求用单引号引起来

String:字符串类型,可以为空,就是把0个或多个字符连接起来,字符串要求用双引号引起来

Decimal::精确到27、28位,适用于财务和货币

 

注意:在c#中直接写一个有小数点的数字这个数字是double型的,在一个小数点后加m就是告诉编译器这个数值是decimal类型

变量声明的三种方法:

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

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

3.       一次声明多个同类型的变量,多个变量名称之间要用逗号隔开最后以;结束

变量一定要 先声明后赋值最后使用(取值或调用或写这个变量名)

  6.转义字符

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

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

         常用转义字符::\n  表示换行

                                               \b退格

                                               \t  相当于tab键由多个空格组成的字符具有行与行之间的对齐功能

\\ 表示一个\

在字符串前面加一个@有两种意义:

1)  字符串中如果有\,则不需要理解为转义符

2)  使字符串可以换行

如果字符串前面加了@,在字符串中用两个表示一个

  7.算术运算符

         C#中,有五个算术运算符:+-*/%

他们是二元运算符。赋值运算符和算术运算符运算时要求:参与两个操作数的类型必须相同,并且经过运算后的结果也与操作数的类型相同

         在算术表达式中如果要改变计算的优先级,用小括号,小括号可以无限制的使用但必须成对出现

         发生自动转换(隐式转换)的条件:

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

2)  必须一边数据类型表示的范围大另一边数据类型表示的范围小,并且把小的转向大的时候不丢失精度

在自动转换中,转换时不会丢失精度的,如果丢失精度则不会自动转换

经常见到的就是,参与运算的两操作数,一个是int一个是double,那么int会自动转换成double类型

当需要丢失精度时,系统是不会自动转换的,需要我们程序员来手动写代码完成,

语法:(数据类型)待转换的值;

       注意:下面两种转换时错误的因为强制转换要求待转换的类型和目标类型都必须是数字

                            String age=(int)console.readline();

                            Int  a=(int)”33”;

       Int  变量=convert.toint32(待转字符串);  把待转字符串转换成int类型后赋给变量

       ++ -- 放在运算表达式中,进行运算时,前加表示先将变量加一再参与运算,后加表示取原值参与运行后变量的值再加一

       总之不管是前加还是后加,经过运算后,变量的值都进行了加一的运算

       c#中一元运算符的优先级大于二元运算符的优先级

       复合运算符:+= -=*= /= %=

       能够改变变量中的值的:

  =  ++/--  += -= *= /= %=

       c#中,有6个关系运算符,用于比较两个事物之间的关系

> <  == !=  >=   <=

         关于表达式:由关系运算符连接起来的方式子

         关系表达式的运算结果为bool类型,只有两个值 true false

如果关系表达式成立则为true 不成立则为 false

         逻辑运算符:&& ||

&&两边同时为真时,结果才为真  当前面为真时,后面的表达式不再执行

||两边只要一边为真结果就为真 当前面的为假时,后面的表达式不再执行

 

  8Try-catch:

                Try

{

有可能出现错误的代码

 Catch

{

出错后的处理

}

上面的程序如何执行:

如果try中的代码没有出错,则程序正常运行try中代码不进入catch

如果try中的代码有问题时后面的代码将不再执行而进入catch中执行catch中代码

  9.常见的几种循环结构:

         If  If结构的基本语法:

                                         If(条件)  

语句;

执行过程:首先判断条件的结果,如果条件为true,在执行语句1.如果条件为false,在跳过语句1,执行后面的语句。

注意:1if后面括号中的条件,要计算成一个bool类型的值

   2)默认情况下if只带一句话

If-else:

If(条件)

{语句1}

Else

{语句2}

执行过程:如果条件成立,则执行语句块1,并且跳过语句块2

          如果条件不成立,则跳过语句块1,执行语句块2

上面两个语句块,根据条件结束为truefalse,总要执行一个

         If-else if:

         If(条件)

{语句1}

                   Elseif(条件)

{语句2}

Else if(条件)

{语句3}

…….

Else if(条件)

{语句n}

Else

{语句n+1;}

         ifelse if语句中,只有当上一个条件不成立时,才会进入下一个if语句并进行if语句后面的判断条件,一旦为true,则执行if后面所带的语句,语句执行完成后,则跳出if-else if结构,如果所有的if条件都不成立,则如果后面有else则执行else语句,否则啥都不执行

Switch-case同样可以实现上面的功能简单介绍下:

Switch(表达式)

{

Case 1:语句1

Break

Case 2:语句2

Break

Default:语句3

Break

执行过程:首先算表达式,然后根据计算结构匹配case后面的值,如果有匹配项则执行匹配项后面的语句,知道break语句跳出swtich-case,如果所有的case值都不匹配,那么有default则执行default后面的语句,直到break结束,如果没有default,则跳出swtich-case,什么都不执行

While

While(条件)

{

要循环执行的N条程序;

}

执行过程:

1.      先判断循环条件,如果为true,则转向2;如果条件为false则转向3

2.      执行循环体,循环体执行完成后转向1

3.      跳出循环循环结束

注意:在循环体中,一定要有那么一句话改变循环条件中的

         Do-while:

         Do

{

循环体;

}

While(条件)

执行过程:

1.      执行循环体,执行完后转向2

2.      判断条件是否成立,如果为true则转向1如果为false则转向3

3.      跳出循环循环结束

 

假如循环条件一开始就不成立,对于while循环每一次都不会执行,对于do while

则先执行一次,然后结束循环

         For:

For(表达式1;表达式2;表达式3

{

循环体;

}

For循环一般用于已知循环次数的循环

一般情况,表达式1用于定义循环变量和对循环变量赋初值

表达式2:循环条件

表达式3:用于改变循环变量的值

执行过程:

第一步:计算表达式1,转向2

第二步:计算表达式2(循环条件),如果表达式2true转向3

如果为false,转向第五步

第三步:执行循环体转向4

第四步:执行表示3转向2

第五步:循环结束

 

  10.breakcontinue:

         break:

1)      可以用于swtich-case中,用于跳出swtich

2)      用于循环中,用于立即跳出(终止)循环

注意:

Continue

用于循环中,程序一旦执行到continue语句,立即结束本次循环(就是不再执行循环体中continue中下面的语句了),直接进行洗一次循环,(dowhile/while直接进行下一次的条件判断是否成立,如果成立则再次进入循环们对于for循环,先执行表达式3,再判断循环条件是否成立)

   11.常量和枚举:

常量:

Const 类型常量名=常量值;

枚举:

让我们定义一种枚举类型并且在定义这种类型时我们需要指定整个类型的所有的所有值

         语法:enum 自己起的类型名称 {1,值2.3………n}

枚举的定义,一般和类定义在同一级别,这样在同一个命名空间下的所有类型就可以使用这个枚举了(方法中/类中也可以使用)

         枚举的作用:1)限制用户不能随意赋值只能在定义枚举时列举的值中选择

             2)不需要死记每一个值是什么,只需要选择相应的值

注意:定义枚举时,值不能是int类型

枚举类型的变量都可以强制转换成一个int类型

枚举在定义时是有一个默认编号的,编号从0开始

         如何把一个字符串转换成枚举:
(自枚)Enum.Parsetypeof(自枚),“待转字符串“));

   12.结构:访问修饰符 struct 结构名

{

定义结构成员

}

定义好一个结构后,就可以直接声明相应的变量了,声明好变量后,通过变量名.成员名来访问

      13.数组:

数组:可以帮我们一次声明多个类型的变量,这些变量在内存中死连续存储的

语法:数据类型 [] 数组名=new 数据类型[数组长度];

         如何访问数组:通过小标(索引)l来访问数组:数组名[编号]

         Int类型数组一旦声明,里面每个元素都被初始化为0

通过数组名.length来获取数组的长度

14.方法:

功能:用来复用代码的,当我们在一个程序中反复写了同样的代码,那一般情况下,我们可以把需要重复的代码定义在一个方法中,用的时候只需要调用就行了

语法:

[访问修饰符][static]返回值类型方法名()

{

方法体;

}

注意:1)一般情况下方法定义在类中

2)如果返回值没有,则返回值类型写void

     3)如果么有参数()不能省略

方法调用,如果是静态的在同一类中,通过方法名直接调用

Return立即退出方法

在方法名后面的括号呢定义变量,叫做定义这个方法的参数

这里定义的变量用来接受调用者传过来的数据

15.refout

  Out:是将函数的返回值往外传,且该参数必须在方法先赋值

  Ref:既可以将函数的返回值往外传,也可以往里传值;

                   Int.TryPase(string s,out intresult)返回值是布尔类型,如果s转换成功(转换后的结果存放在result中)则返回true,转换失败则返回false,不会报异常

    Int.Pasre(sring s):如果转换不成功会报异常

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ---------------------- 详细请查看: http://edu.csdn.net/heima/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值