学习笔记之C#类、循环中的语句、基础知识和异常处理

时间:2022-04-15 01:11:07

一、类

(一)数据成员

包括字段、常量和事件

(二)函数成员

包括方法、属性、构造函数、析构函数、运算符以及索引器

(三)override

覆盖默认的方法,如

public override string ToString()

{

return Name;             //ToString()方法的返回值为类中的Name属性

}

二、循环体中的语句

(一)break
使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。

(二)continue

和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。
continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!
(三)return
用于指定函数返回的值。return语句只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误!
当执行return语句时,即使函数主体中还有其他语句,函数执行也会停止! return;不返回什么,直接跳出正在执行的函数.不执行return后面的代码

三、基础知识

(一)简单知识

1.C#中的包含关系滴:解决方法->项目->文件->命名空间->类->成员

2.文档注释(///):一般用于注释类和方法

(二)变量:

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

1.内存(RAM):断电后数据丢失

2.向内存申请一块内存空间的语法:数据类型 变量名;

3.值类型:在堆栈中

4.引用类型:在托管堆中

5.一次声明多个同类型的变量,多个变量名称之间要用逗号分隔。最后以;结束这句话,如

string zsNmae, lsName, wwName;

int zsAge = 18, lsAge = 20, wwAge = 22;

(三)数据类型

1.分类:

学习笔记之C#类、循环中的语句、基础知识和异常处理

(四)变量命名规范

1.必须以“字母”(可以使用汉字、日文、韩文等多国语言)_或@符号开头(不建议),后面可以跟任意的“字母”、数字、下划线

2.注意

a)变量名不要与C#中的关键字重复

b)C#中的变量名是大小写敏感的

c)同一个变量名不允许重复定义

3.定义变量名要有意义

4.命名法

a)Camel命名法
首个单词的首字母小写,其他单词首字母大写。如:studentName  zsAge  name

b)Pascal命名法:

每一个单词的首字母都大写,如果使用英文单词的缩写,全部用大写。如:SystemVersion

c)在方法中定义变量,要使用Camel命名法

(五)赋值运算符(=)

1.赋值运算符左边必须是一个变量

2.以赋值运算符连接起来的式子叫赋值表达式

3.赋值运算是赋值表达式中最后进行的运算,多个赋值运算从右向左执行

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

(六)加号运算符(+)

“+”在C#中有两种意义:

a)是数学中的加法运算:两边参与加法运算中的数据类型,则表示数学上的加法意义

b)连接的意思:两边参与加好运算的数据有一个是字符类型,则表示连接的意义

(七)占位符({数字})

运行式错误:运行时由于环境、变量的问题出现的错误。占位符多于参数(填不够坑)的时候,会出现运行式错误

Console.Write()永远只输出第一个参数,第一个之后的参数只是用来替换第一个参数中占位符的值。

(八)decimal和double的区别

1.double的精度是15-16位,decimal的精度是28-29位,decimal适合存储金钱

2.double的范围比decimal的范围大

3.在C#开发环境中直接写一个带小数点的数字是double类型的,给decimal类型的变量赋值需要在数字后面加m/M

(九)转义字符

转义字符是一个字符,由一个\加上一个字符组成

1.常用转义字符

a)\n:换行符

b)\b:退格符

c)\t:制表符,由多个空格组成的一个字符,具有行与行之间对齐的功能

d)\\:表示一个\

2.在字符串前加@符号,表示字符串不需要转义

a)字符串中可以换行

b)两个引号表示一个引号

            string str = @"abc""def";
Console.WriteLine(str);//输出abc“def
(十)算术运算符

1.包括

+ - * / %(取模 取余数)

2.算术表达式

由算术运算符连接起来的式子,如:

1+1    a-b

3.优先级

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

4.要求

参与运算(算术运算和赋值运算)的操作数类型必须相同,并且经过运算后的结果类型也要相同

(十)类型转换

1.类型自动转换(隐式转换)规则

a)两种类型兼容,如int和double兼容

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

c)表达式中有一个数据类型为double,则可将整个表达式提升为double型,如

int a = 10, b = 3;

double quo = 1.0 * a / b;//结果quo为double类型(3.33333333333)

2.强制类型转换

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

b)数据类型一定要兼容

3.Convert

Convert不仅仅是内存级别的转换,而是考虑数据意义的转换。Convert是一个加工、改造的过程。

a)语法:Convert.ToInt32(带转换的值)

b)一切数据类型都可以转换成字符串

 四、异常处理

(一)结论

1.try...catch应该在Main()方法中使用,而非在封装的方法中使用

2.在try...catch块中出现异常,则try块中出现异常后的代码部分不会被执行,但出了try块外的代码不受影响

3.在封装的方法内throw异常(用if或其他选择语句),在Main()方法或者事件中处理异常

4.一般情况下不需要处理异常

(二)ex.Message:错误信息

(三)ex.StackTrace:包含错误代码行号