第二章:C#语言基础

1 节关键字和标识符

1.标识符命名规则:1)由字母、中文(不推荐)、数字、下划线 组成;2)不能以数字开头;3)不能是关键字。

2.C#语言是大小写敏感;

3.驼峰命名法:每个单词第一个字母大写。

4.类名、方法名:大写开头;变量名:小写开头。

 

2 节变量的声明和赋值、变量的作用域

 

1.局部变量使用前必须赋值

 

3 节数值类型简介和显式隐式转换

 

1、byte是“字节”类型,代表一个8位二进制,也就是一个字节。

2、整数常量默认是int类型,小数常量默认是double类型。

3、选用数据类型的时候在考虑到数据的可能范围之后,选择最小范围的类型,这样节省资源。

 

4 floatdouble的声明类型转换等问题

 

 

1、小数常量默认是double类型。声明float 变量 必须在常量后面加 F

double d1 = 3.14D;

float f2 = 3.14F;

 

2、小数类型转换

(1)隐式类型转换

(2)显式(强制)类型转换

 (3)浮点类型转换成整数类型会丢失小数部分

 

3、加(+)减(-)乘(*)除(/)  

计算5除以8,要得到小数答案

Console.WriteLine(5 / 8);

Console.WriteLine(5.0 / 8.0);

Console.WriteLine(5.0 / 8);

Console.WriteLine(5F / 8F);

Console.WriteLine(5D / 8D);

 

5 String的声明主要是转义符的问题

 

1. “” :长度为0的字符串

 

2. \n  : 换行

 

3. \ :转义字符,表示后面的字符有特殊含义

 

4. @:字符串声明中所有的 \ 代表普通的 \ ,应用于输出文件路径

注:@只对 \ 起作用

 

 

 

 

 

 

6 charbool以及string和数值类型的转换

 

  1. char :表示有且只有一个字符,’ ’ 包裹

例子: char ch1=’a’;

char ch2=’\n’;   \ 表示特殊字符

2.int 最大值:int.MaxValue

int 最小值:int.MinValue

 

3.数值转化成 string

string s1=Convert.ToString(i); (推荐,不会抛出异常)

string s2=i.ToString();

string s3=i+ “”

 

4. string 转换成 数值

int i= Convert.ToInt32(“123”)

 

 

 

 

 

7 CTS(大写String和小写string区别是什么?)

 

1、不仅可以把C#编译成.Net IL,还支持Basic、Python、Ruby等语言,甚至还支持Java。不同语言中的数据类型定义是不一样的,.Net中定义了通用的数据类型(CTS,Common Type System):String、Int16、Int32、Int64、Boolean、Double。通过转到定义可以看到这些都是类(结构体)。

2、C#语言规范中定义了string、int、long、bool、double等原始类型,编译器会把这些类型翻译成CTS中的类。反编译看IL就能看到了。

 

  1. CTS  Int16: 对应short ,2个字节

CTS  Int32: 对应 int , 4个字节

CTS  Int64: 对应 long , 8个字节

 

8 节枚举类型

 

1、枚举是一种定义确定取值范围的特殊类型语法:

enum Dir

{

East,West,North,South;

}

使用Dir d = Dir.East;

 

2.

class Program

    {

        static void Main(string[] args)

        {

            Dir d = Dir.East;

            Console.WriteLine(d);  //输出East

            Console.WriteLine((int)d); //输出 1

            Console.ReadKey();

        }

 

        enum Dir

        {

            East=1,

            West=2,

            North=3,

            South=4

        }

    }

9 节基本运算符(余、自增自减、字符串)

 

1、求余数运算符“%”

2、自增:++

3、+可以用来对字符串进行拼接:"abc"+"cde"

4、+可以用来对字符串和其他类型进行拼接:"hello"+5

5、表达式从左向右扫描进行扫描运算,一旦遇上一个字符串,之后的运算就变成字符串了。

 

 

10 节赋值运算符和实现加法计算器

1、int i=5; “声明int类型变量i,并且把5赋值给i”。

2. 赋值号左边必须是变量、属性或索引器

 

 

 

11 节变量的复制传递和交换两个变量的值

 

1.int i=10;

  Int j=i; //复制传递,让j指向 i “当前”所指向的内存

 

2.交换两个变量的值(利用中间值传递):

int i=10;

int j=20;

int temp = i;//temp:10;i=10;j=20;

i=j;//temp:10;i=20;j=20;

j=temp;//temp:10;i=20;j=10;

Console.WriteLine("i="+i+";j="+j);

 

3. 交换两个变量的值(不需要中间变量的做法)

int i=3;

int j=5;

i=i+j; //i=8

j=i-j; //j=8-5=3

i=i-j; //i=8-3=5

 

 

12 节关系运算符和运算符优先级

 

  1. 比较运算符 :==、!=、>、>=、<、 <=

 

 

13 节赋值表达式也有值

 

1、赋值运算本身也是一个值,这个值就是赋值之后左边的值。

 

 

14 节前自增和后自增的区别

 

1. i++是赋值之后再自增,++i是先自增再赋值。

 

 

 

15 节逻辑运算符(与或非)

 

&&:(and)二元运算符,两边都是true结果才是true。

||:(or)二元运算符,只要有一个是true结果就是true。

!:(not)一元运算符,取反,真的变假,假的变真。

 

 

16 节逻辑运算符的短路问题

 

1. 短路运算的作用:简化编程

 

2.&&当第一个为false的时候,整个运算结果一定是false,就没有必要算第二个了

 

||当第一个为true的时候,整个运算结果一定是true,就没必要算第二个了

 

 

3.&、| 、! 不会出现短路运算

 

17 节三元运算符

 

  1. 条件表达式 ? true: false

 

 

 

18 if简介

 

if(表达式)

{

       //一行或多行语句

}

 

19 if易错点

 

1.if表达式只能是bool

2. bool b=false;

  if(b=true)   //b=true 赋值表达式

  {

       //执行语句

}

3.如果if语句的大括号中只有一句话,那么可以省略大括号,但不推荐这种做法

  如果if没有用{},则第一个” ; ” 前的代码,为默认有一个{}

 

4. {} :作用域、代码块

 

20 else子句

 

1.

if(表达式)

{

       //true

}

else

{

       //false

}

 

  1. 获得字符串长度: string.Length

判断字符串是否为空: string.Length<=0

 

第 21 节elseif及练习

 

if(表达式)

{

       //true

}

else if(表达式)

{

 

}

else

{

       //false

}

 

 

 

22 if案例:省市联动选择

 

 

 

23 if案例:体重指数计算器

 

 

24 节三元运算符和if之间的选择

 

 

 

 

25 switchcase

 

表达式可以是byte、short、int、char、string、枚举

1.

Switch(表达式)

{

       Case 值1:

              //语句

           break;

Case 值2:

              //语句

           break;

default:

//语句

           break;

}

2.

Switch(表达式)

{

       Case 值1:

Case 值2:

Case 值3

              //语句

           break;

    Case 值4:

Case 值5:

Case 值6

              //语句

           break;

default:

//语句

           break;

}

 

posted @ 2015-01-27 00:04  linyongqin  阅读(231)  评论(0)    收藏  举报