第二章:C#语言基础
第 1 节关键字和标识符
1.标识符命名规则:1)由字母、中文(不推荐)、数字、下划线 组成;2)不能以数字开头;3)不能是关键字。
2.C#语言是大小写敏感;
3.驼峰命名法:每个单词第一个字母大写。
4.类名、方法名:大写开头;变量名:小写开头。
第 2 节变量的声明和赋值、变量的作用域
1.局部变量使用前必须赋值
第 3 节数值类型简介和显式隐式转换

1、byte是“字节”类型,代表一个8位二进制,也就是一个字节。
2、整数常量默认是int类型,小数常量默认是double类型。
3、选用数据类型的时候在考虑到数据的可能范围之后,选择最小范围的类型,这样节省资源。
第 4 节float和double的声明类型转换等问题
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 节char、bool以及string和数值类型的转换
- 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就能看到了。
- 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 节关系运算符和运算符优先级
- 比较运算符 :==、!=、>、>=、<、 <=
第 13 节赋值表达式也有值
1、赋值运算本身也是一个值,这个值就是赋值之后左边的值。
第 14 节前自增和后自增的区别
1. i++是赋值之后再自增,++i是先自增再赋值。
第 15 节逻辑运算符(与或非)
&&:(and)二元运算符,两边都是true结果才是true。
||:(or)二元运算符,只要有一个是true结果就是true。
!:(not)一元运算符,取反,真的变假,假的变真。
第 16 节逻辑运算符的短路问题
1. 短路运算的作用:简化编程
2.&&当第一个为false的时候,整个运算结果一定是false,就没有必要算第二个了
||当第一个为true的时候,整个运算结果一定是true,就没必要算第二个了
3.&、| 、! 不会出现短路运算
第 17 节三元运算符
- 条件表达式 ? 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
}
- 获得字符串长度: 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;
}

浙公网安备 33010602011771号