Visual C# 从入门到精通学习笔记Word文档格式.docx
- 文档编号:6447014
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:24
- 大小:27.08KB
Visual C# 从入门到精通学习笔记Word文档格式.docx
《Visual C# 从入门到精通学习笔记Word文档格式.docx》由会员分享,可在线阅读,更多相关《Visual C# 从入门到精通学习笔记Word文档格式.docx(24页珍藏版)》请在冰点文库上搜索。
孤立的存储区是安全系统在硬盘上分配给特殊配件的专门区域
.NET框架结构中还包括一些加密函数(cryptographicfunction),用来支持加密、数字签名、散列法以及随机数的产生
10、性能和伸缩性。
三、开发第一个C#程序
/*
下面的程序将在屏幕上显示“HelloWorld!
”。
同时还将显示计算机的当前日期和时间。
*/
classExample1_1
{
publicstaticvoidMain()
{
// 在屏幕上显示“HelloWorld!
”
System.Console.WriteLine(“HelloWorld!
”);
//(C#中用“;
”来表示一个语句的结束)
// 同时还将显示计算机的当前日期和时间。
System.Console.WriteLine(“Thecurrentdateandtimeis”+System.DateTime.Now);
}
}
注释在C#中用的方式和C++中的一样,/*和*/之间的任何内容,//后面的单行内容。
关键字class来开始一个类,{和}表示类的开始和结束。
通过class来定义一个包含方法(method)和域(field)的模板(template),通过这个模板又可以创建那个类的对象(object)。
方法是指能够执行特定任务的自包含的程序码,一般包含一行或多行程序码。
域是可以用来存储变量值的命名存储空间。
Example1_1类不包含任何域,但包含一个Main()方法。
注:
程序一般都要包含一个Main方法。
此方法在程序执行时被自动调用。
唯一的例外是需要另一个程序调用的类型库(typelibrary),它不需要Main()方法。
关键字public是一个存取修饰符,指定了方法在类之外的存取权限。
public 成员存取没有限制
protectedinternal 在类、派生类或同一个程序中的类能够存取的内部成员
internal 在类或同一个程序中的类能够存取的内部成员
protected 只能在类或派生类中存取的成员
private 只能在类中存取的成员,这是默认值
关键字static表示Main()方法属于类本身而不属于类的任何特殊对象。
如果不定义Main()方法为static,就必须先创建一个类的对象然后调用Main()方法。
关键字void表示不需要返回值。
命名空间用来分开类的声明,System是微软创建的命名空间。
命名空间System包含许多可以在程序中使用的类。
Console就是System命名空间中的一个类。
Console类包含有输出内容到屏幕的WriteLine()方法。
命名空间System、类Console和方法WriteLine()是用句点(.)分开的,句点被叫做点运算符。
而Now是类DateTime的一个属性,由于Now是一个静态属性,所以可以直接调用而不必创建DateTime对象。
四、编译程序
编译一个程序可以通过.NETSDK所带的命令行编译器或VisualStudio.NET来完成。
在编译器的命令行版本中输入csc,然后输入程序文件名(包括扩展名)。
第2章 基本C#编程
一、数据类型介绍
值类型:
值类型存储一个实际的值。
引用类型:
引用类型存储一个对象(对象是一个类的实例)的地址。
指针类型:
指针类型是用来操作内存的,这是一种不安全的方式。
实际上,指针就是一种特殊的引用类型。
二、C#中的内置数据类型
1、整型
C#类型 .NET类型 所占字节数 值范围
sbyteSByte1-128~127(有符号)
byteByte10~255(无符号)
shortInt162-32,768~32,768(有符号)
ushortUInt1620~65,535(无符号)
intInt324-2,147,483,647~2,147,483,647(有符号)
uintUInt3240~4,294,967,295(无符号)
longInt648-9,223,372,036,854,775,808~
9,223,372,036,854,775,807(有符号)
ulongUInt6480~18,446,744,073,709,551,615(无符号)
2、浮点类型
floatSingle4近似±
1.5×
10-45~近似±
3.4×
1038,有七位有
效数字。
实现IEEE754标准
doubleDouble8近似±
5×
10-324~近似±
1.7×
10308,15到16
位有效数字。
decimalDecimal12±
1.0×
10-28~近似±
7.9×
1028,28位有效数字
3、字符型
charChar216位Unicode字符
4、转义字符
转义字符 描述 转义字符 描述
\’单引号\f换页
\”双引号\n换行
\\反斜线\r回车
\0空\t水平tab
\a报警\v垂直tab
\b空格
5、布尔型
BoolBoolean1布尔true或false
三、类型转换
shortmyShort=1;
intmyInt=myShort;
short类型为2字节,而int类型为4字节,所以可以引起隐式转换发生。
因为隐式转换只能发生在没有信息丢失的情况下,所以例子中的类型转换反之,则编译器会产生错误。
但可以采用强制操作符,语法为:
(type)。
type是想转换的类型名。
事例:
intmyInt=1;
shortmyShort=(short)myInt;
在使用强制操作符时要小心谨慎,因为可能导致信息丢失。
四、变量
变量被用来在内存中存储值,通过指定变量类型和赋变量名来声明变量,使用下面的简单语法声明变量:
date-typevariable-name;
语法细节如下:
date-type 变量的数据类型。
variable-name 变量名(不能和C#的关键字相同,变量名只能是字母或下划线开始)。
变量的作用域是变量能够被访问的那块代码,也可以认为就是变量存在的区域。
注1:
在没有给变量赋值之前就想引用变量的值,编译器会提示错误。
注2:
变量必须在作用域内才能被访问,作用域也适用于程序中定义的常量、字符串和其他项。
五、定义常量
常量除了必须在声明时就赋值和值不能改变以外,和变量是一样的。
常量声明需要在声明前加const关键字。
需要注意的是关键字const被放在了常量类型之前。
六、字符串
字符串是一个串Unicode字符,它通过sting类型来定义。
需要指出的是字符串实际是一种对象,因此也是引用类型。
一个字符串也可以通过+运算符由小的字符串来形成。
七、枚举类型
通过枚举类型可以创建一个常量组,在程序中引用。
枚举类型是值类型。
用enum来声明一个枚举型变量。
下面的简单语法演示了如何创建一个枚举型变量:
enumenum-name{constant-list}
语法的元素如下:
enum-name 枚举型变量的名字。
Constant-list 枚举型变量包含的常量组。
第一个常量的默认值是0,其他的常量值是1加前面的值。
也可以在枚举型变量中指定常量的值。
枚举型的默认类型是int。
枚举型使用的类型叫基类型。
实际上,枚举类型的基类型可以是任何一种整型,只需要在枚举变量名后加上“:
”,在加类型即可。
例:
enumPlanets:
long
Sun,
Mercury,
Venus,
Earth,
Mars,
Jupiter,
Saturn,
Uranus,
Neptune,
Pluto,
Moon=101//(最后一个不需要“,”)
因为定义了基类型为有符号长整型(long),所以枚举型变量包含的常量组的值不在是默认的有符号整型(int)。
Sun的值是默认的,为:
Mercury的值等于1+Sun的值,等于1
Venus=1+Mercury=2
Earth=3
Mars=4
Jupiter=5
Saturn=6
Uranus=7
Neptune=8
Pluto=9
Moon的值是赋的值为:
101
八、处理输入和输出
1、读入单个字符可以用System.Console.Read()方法从键盘读入单个字符,这个方法返回的是一个int型,因此,想把它作为一个字符型,需要强制转换符。
如下例:
charmyChar=(char)System.Console.Read();
2、可以用System.Console.ReadLine()从键盘读入自费串。
3、可以通过system.Console.Write()和System.Console.WriteLine()方法显示格式化输出这样可以指定整数、浮点数甚至币值的格式。
如:
System.Console.WriteLine(“myInt={0,6}”,myInt);
{0,6}格式化变量的值,第一个数指变量数。
0指的是第一个变量。
第二个数是变量的显示宽度,当显示变量时,如果宽度合适或是小于设定宽度,系统会照指定宽度显示,不够的系统将会在前面填充空格。
如果实际宽度大于设定宽度,就按照实际值的长度显示。
格式化一个浮点数要稍微复杂一些,下面的例子用宽度为10,小数位为3位的方式显示myDouble的值。
System.Console.WriteLine(“myDouble={0,10:
f3}”,myDouble);
格式化字符描述
f或F格式化浮点数
e或E用指数计数法格式化数字
p或P格式化百分数
n或N用逗号分隔符格式化数字
c或C格式化本地货币值
d或D格式化十进制数
g或G用浮点数或指数计数法格式化数字
x或X将整数转化为十六进数
第3章 表达式与运算符
一、理解表达式和运算符
表达式就是执行某种运算并返回值的一个语句。
一个表达式包含一个或多个操作数(可以是变量、常量或文字值)和一个或多个运算符。
等号(=)也是运算符,叫赋值运算符。
1、赋值运算符
运算符描述
=可变赋值
2、算术运算符
运算符描述运算符描述
+加/除
-减%取模
*乘
3、比较运算符
==等于<
小于
!
=不等于>
=大于等于
>
大于<
=小于等于
4、布尔逻辑运算符
运算符描述
&
&
布尔逻辑与(AND)
||布尔逻辑或(OR)
!
布尔逻辑非(NOT)
5、位运算符
位与~位非
|位或<
<
左移
^位异或>
>
右移
5.1、位异或运算结果表
位一位二位一^位二(位一异或位二)
000
011
101
110
5.2、左(右)移运算
左(右)移运算是把二进制的位向左(右)移动指定的位数。
移出左(右)边的数被丢弃,而右(左)边的位补0。
6、快捷运算符
+=加*=乘
-=减/=除
++x前加|=位或
--x前减^=位异或
x++后加~=位非
x--后减<
=左移
=位与>
=右移
7、is运算符
is运算符用来检查一个变量或常量是否是指定的类型,它返回的是一个布尔型值。
(当需要判断一个对象的类是否从某个特定的类派生而来,或一个对象的类是否实现了某个特定的接口时,is运算符是非常有用的。
)
二、运算符的优先级
类别运算符
主要的分级:
(x)
字段访问:
x.y
方法调用:
f(x)
索引访问:
a[x]
后加:
x++
后减:
x--
新对象:
new
获取类型:
typeof
获取大小:
sizeof
边界检查:
checked
非边界检查:
unchecked
一元的正值:
+
负值:
-
布尔逻辑非:
!
位非:
~
前加:
++x
前减:
--x
转换:
(type)
乘法乘以:
*
除以:
/
取模:
%
加法加:
减:
位移左移:
右移:
关系小于:
大于:
小于等于:
=
大于等于:
类型一致:
is
一致性转换:
as
相等等于:
==
不等于:
位与&
位异或^
位或|
布尔逻辑与&
布尔逻辑或||
三重?
:
赋值=*=/=%=+=-=<
=>
=&
=^=!
第4章 判断、循环和预处理指令
一、使用if语句
if(condition)
statement1
[else
statement2
}]
如果condition为true,就执行statement1。
可选的else关键字是程序在condition为false时执行statement2。
condition也可以是任何返回值为布尔型的表达式。
二、使用嵌套的if语句
在一个if语句中使用另一个if语句,里面的if语句就叫做嵌套在另一个语句中。
if(condition1)
}else
if(condition2)
{
statement2
statement3
三、实现switch语句
switch语句可以使程序从多选项中选择一个分支代码来执行。
switch(expression)
casevalue1:
statement1
break;
casevalue2:
…
[default:
default-statements
]
在switch语句中,expression返回的值将和case关键字后面的值比较。
如果有某两个值匹配,那么那个case分支的语句将被执行。
如果没有发现匹配值,并且可选的默认分支存在,那么default-statements将被执行。
break语句标志每个分支的结束——break将使switch语句执行结束,程序流程将从switch后面的语句继续。
否则程序流程将在switch内继续,直到switch语句结束。
四、Fall-Through简介
如果某一个case分支没有包含任何语句,程序就将继续到下一个case分支并执行它发现的任何语句,直到碰到break语句。
classExample4_7
publicstaticvoidMain()
intvalue=1
switch(value)
case0:
System.Console.WriteLine(“Zero”);
break;
case1:
case2:
System.Console.WriteLine(“Oneortwo”);
case3:
System.Console.WriteLine(“Three”);
default:
System.Console.WriteLine(“Othernumber”);
Break;
程序执行结果如下:
Oneortwo
如果注释掉前面程序的case0分支的break,就会产生编译错误。
(其实在程序中只有几种情况下的fall-through是有效的,大部分情况下编译器都将报告程序中的fall-through无效。
建议尽量不要在程序中故意留下fall-through。
五、使用循环语句
一)、while循环
while(condition)
statement
程序先判断condition的布尔值,如果为true就执行statement语句,如果为false循环就结束了。
二)、斐波纳契系列
斐波纳契系列起始与1和1,这两个数加在一起产生系列中的下一个数2。
系列中的其余的数都是有系列中的最后两个数相加产生的。
斐波纳契系列中的数直到无穷。
(斐波纳契系列数原来是用来表示兔子数增长的模型)
程序4.9斐波纳契系列(利用while循环来计算和显示斐波纳契系列中小于50的数)
classExample4_9
intoldNumber=1;
intcurrentNumber=1;
intnextNumber;
System.Console.Write(currentNumber+““);
While(currentNumber<
50)
{
System.Console.Write(currentNumber+““);
nextNumber=currentNumber+oldNumber;
oldNumber=currentNumber;
currentNumber=nextNumber;
程序执行结果如下:
112358132134
三)、do…while循环
do
statement
}while(condition);
do…while循环是先执行statement语句后在进行判断,也就是说,它的循环语句至少会被执行一次。
四)、for循环
fo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visual C# 从入门到精通学习笔记 入门 精通 学习 笔记
![提示](https://static.bingdoc.com/images/bang_tan.gif)