来一篇关于NET的.Net基本教程(二)-基础数据范例与表达式
c++是语言,其实C++和java的应用范围根本就不一样的。在java应用的领域内,c++是不合适的。所以微软才搞了C#和Java对抗。本章次要解说C#中的基础数据范例与表达式本章要点:
VisualC#.NET数据范例概述
VisualC#.NET复杂数据范例的利用
VisualC#.NET的常量和变量
VisualC#.NET的运算符与表达式
VisualC#.NET的经常使用办法
1、VisualC#.NET的标识符
在VisualC#.NET中界说标识符时,必需切合以下定名划定规矩。
(1)标识符必需是由字母、数字、下划线构成的一串标记,且必需以字母或下划线开首。
(2)因为标识符代表工具的称号,以是用户在拔取标识符时应拔取成心义的字符序列,以便在程序中能从标识符看出所标识的工具,从而便于浏览和影象。
(3)用户界说的标识符不克不及与C#言语的关头字同名。
2、VisualC#.NET的数据范例简介
复杂数据范例
1.整数数据范例
2.字符数据范例
C#的字符范例有以下特性:
(1)每一个字符占2个字节。
(2)C#中的字符型与整型之间不克不及再像C/C++中主动转换。以下语句在C#中分歧法:charc=13;不外用户仍旧能够将一个整型数显式地转换为一个字符数据范例,然后赋值给字符变量。以下:
charc=(char)13;
3.布尔范例
布尔范例(bool)只含有两个数值:true和false。
4.实数范例
实数范例又称浮点型,C#中的浮点型包括单精度浮点型
(float)和双精度浮点型(double)两种。
(1)单精度型:取值局限为~之间,精度为7位数。
(2)双精度型:取值局限为~之间,精度可达15到16位。
利用实数范例,需注重以下几个成绩:
(1)存在正0和负0。
(2)存在正无量年夜和负无量年夜,一样平常发生在除数为0的情形下,比方,1.2/0.0的了局是正无空年夜,-1.2/0.0的了局为负无空年夜。
(3)存在非数字值(Not-a-Number,简称NaN)。当呈现0.0/0.0这类不法运算的时分就会呈现非数字值。
(4)关于浮点运算,假如运算了局的相对值在精度局限内小到必定水平,体系就会当作0值处置(+0或-0)。
5.小数范例
又称十进制范例,其范例申明符为decimal,次要用于金融范畴,又称金融范例,其暗示的值的局限约莫是到,比float范例小,可是其准确度却能够到达28到29位。
在十进制范例的数据的前面加上“m”,暗示该数据是小数范例,如0.1m、123.9m等。
3、常量与变量
1.常量
常量又叫常数,是在程序运转过程当中其值不改动的量。常量也无数据范例,在C#言语中,常量的数据范例有多种,分离是:sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double、decimal、bool、string等。
标记常量声明的格局以下。
[格局]:[常量润色符]const范例申明符常量名=常量表达式;
比方:
publicconstintA=1,B=3;
与C/C++相似,在C#中,一个常量能够依附于另外一个标记常量,但不克不及构成轮回依附,比方:
classConstExample
{
publicconstintA=1;
publicconstintB=A+2;
}
注重:常量是静态的,可以在类中会见。
【例2-1】剖析以下程序的实行了局。
[程序代码]
classConstExample
{
publicconstintA=1;
publicconstintB=(A+2)*(A+3);
publicstaticvoidMain()
{
System.Console.WriteLine("A={0},B={1}",ConstExample.A,ConstExample.B);
}
}
[程序剖析]
本题在类ConstExample中界说了两个常量A和B,它们之间不存在互相依附的干系,常量是静态的,能够间接会见。以是最初输入的了局是1和12。
2.变量
(1)变量的寄义及其界说
变量是指在程序运转过程当中其值能够产生变更的量。
界说变量的一样平常格局以下。
[格局]:[变量润色符]范例申明符变量名1=初值1,变量名2=初值2,…;
比方,有以下变量界说语句:
privatestaticintgz=65;
publicdoublejj=76.8;
(2)静态变量和实例变量
声明变量时,利用static关头字声明的变量为静态变量。静态变量只需创立一次,在前面的程序中就能够屡次援用。静态变量的初始值就是该变量范例的默许值。
实例变量是指在声明变量时没有利用static变量申明符的变量,也称一般变量。实例工具在指定的工具中被声明并分派空间,假如实例变量地点的工具被取消了,该变量也就从内存中被扫除了。
【例2-2】剖析以下程序的运转了局。
[程序代码]
usingSystem;//引进定名空间
classStaticTest//界说类
{
publicstaticintsta1=10;//界说静态变量,该变量只创立一次,由类名会见
publicinta2=10;//界说实例变量,每创立一个实例时,均创立一个变量
}
classStaticExample
{
publicstaticvoidMain()
{
StaticTestA,B;//界说类的变量
A=newStaticTest();//创立类的实例A
B=newStaticTest();//创立类的实例B
StaticTest.sta1=StaticTest.sta1+10;//经由过程类名给静态变量赋值
A.a2=A.a2+10;//给实例A的成员a2赋值
StaticTest.sta1=StaticTest.sta1+10;//经由过程类名给静态变量赋值
B.a2=B.a2+20;//给实例B的成员a2赋值
//输入静态变量和实例A的成员a2的值
Console.WriteLine("StaticTest.sta1={0},A.a2={1}",StaticTest.sta1,A.a2);
//输入静态变量和实例B的成员a2的值
Console.WriteLine("StaticTest.sta1={0},B.a2={1}",StaticTest.sta1,B.a2);
}
}
(3)部分变量
部分变量是一时变量,它只是在界说它的块内起感化,所谓块是指年夜括号“{”和“}”之间的一切内容。
部分变量从被声明的地位入手下手起感化,当块停止时,部分变量也会跟着消散。
利用部分变量需注重初始化成绩,部分变量必要野生赋值后才干利用
【例2-3】剖析以下程序的运转了局。
[程序代码]
usingSystem;
publicclassLocalTest
{
publicstaticvoidLocalExample()
{
inti=210,k;//界说部分变量i和k
k=i*2;//给部分变量k赋值
Console.WriteLine("i={0},k={1}",i,k);//输入i和k的值
}
publicstaticvoidMain()
{
LocalExample();//挪用函数
Console.WriteLine("i={0},k={0}",i,k);//此语句将发生毛病
}
}
4、运算符与表达式
1.运算符与表达式概述
(1)运算符和表达式的观点
C#中各类运算是用标记来暗示的,用来暗示运算的标记称运算符。用运算符把运算工具毗连起来的成心义的式子称为表达式,每一个表达式的运算了局是一个值。
(2)运算工具和运算符的“目”
运算符必需有运算工具,依据运算工具的几能够把运算符分红单目运算符、双目运算符和三目运算符。
(3)运算符的优先级和分离性
盘算上面的表达式:
3+5*2
人人都晓得先算“*”号再算“+”号,实在这里就触及到运算符的优先级成绩。即当表达式中呈现多个运算符,盘算表达式值时,必需决意运算符的运算序次,我们把这个成绩称为运算符的优先级。
有以下的表达式:
Sb*(a-c)
该表达式应先算括号内的“a-c”,然后再用b乘上“a-c”的运算了局。当在一个表达式中呈现多个同级其余运算符时,应先算谁呢?这就触及到运算符的分离性
2.算术运算符与算术表达式
(1)基础算术运算符
(2)增1(++)减1(--)运算符
[程序代码]
usingSystem;
classArthTest
{
publicstaticvoidMain()
{
intn=10,m=3;
floatf=5.0F,g=10.0F;
doubled=5.0,e=10.0;
Console.WriteLine("n+m={0},n-m={1},n*m={2},
n/m={3},n%m={4}",n+m,n-m,n*m,n/m,n%m);
Console.WriteLine("d+e={0},d-e={1},d*e={2},d/e={3}",d+e,d-e,d*e,d/e);
Console.WriteLine("n+m-f*g/d={0}",n+m-f*g/d);
Console.WriteLine("n%m*f*d={0}",n%m*f*d);
}
}
【2-5】剖析以下程序的运转了局。
[程序代码]
usingSystem;
classAddSub
{publicstaticvoidMain()
{inta=4,b=5,m,n;//①
m=a+++b++;//②
n=a+b;//③
Console.WriteLine("m={0}n={1}",m,n);//④
m=++a+(++b);//⑤
n=a+b;//⑥
Console.WriteLine("m={0}n={1}",m,n);//⑦
}
}
3.干系运算符与干系表达式
干系运算符均是双目运算符,它们的优先级和分离性以下:
优先级:
(1)算术运算符优于干系运算符
(2)<、<=、>、>=优于==!=
分离性:
<、<=、>、>=等运算符同级,分离性自左向右。==、!=等运算符同级,分离性自左向右。
【2-6】剖析以下程序的运转了局。
[程序代码]
usingSystem;
classCompOP
{publicstaticvoidMain()
{inti=1,j=7; //①
charc1=A,c2=a; //②
Console.WriteLine("{0},{1},{2}",i>j,i>=j,i<=j); //③
Console.WriteLine("{0},{1},{2}",c1>c2,c1>=c2,c1<=c2); //④
}
}
4.逻辑运算符与逻辑表达式
逻辑运算符的优先级和分离性以下:
优先级:
(1)逻辑非(!)是单目运算符,优于双目运算符;
(2)逻辑与(&&)和逻辑或(||)是双目运算符,其优先级以下:
双目算术运算符优于干系运算符优于&&优于||
分离性:
(1)逻辑非!和单目算术运算符是同级的,分离性自右向左;
(2)逻辑与(&&)和逻辑或(||)是双目运算符,其分离性是自左向右。
【2-7】剖析以下程序的运转了局。
[程序代码]
usingSystem;
classLTest
{publicstaticvoidMain()
{intx=3,y=5,a=2,b=-3;
Console.WriteLine("a>b&&x<y={0}",a>b&&x<y);//①
Console.WriteLine("!(a>b)&&!(x>y)={0}",!(a>b)&&!(x>y));//②
Console.WriteLine("!(a>x)||!(b<y)={0}",!(a>x)||!(b<y));//③
}
}
5.位运算符
位运算符用来对操纵数举行位运算,其运算工具是整型和字符型。
(1)位逻辑运算符
①位与运算符(&)
②位或运算符(|)
③异或运算符(^)
④取反运算符(~)
(2)位移位运算符
①左移运算符(<<)
②右移运算符(>>)
位运算符在表达式中的优先级可归纳综合成以下几点:
①位反(~)运算符为单目运算符,优于一切的双目运算符和三目运算符。
②位移位运算符优先级不异,比算术运算符的优先级低,比干系运算符的优先级高。
③位逻辑运算符的优先级比干系运算符的优先级低,比逻辑运算符的优先级高。
④三个位逻辑运算符的优先序次为:&优于^优于|
【2-8】剖析以下程序的运转了局。
[程序代码]
usingSystem;
classWeiTest
{publicstaticvoidMain()
{chary,x;
x=(char)0x9d;y=(char)0xa5;
Console.WriteLine("x&y={0}",x&y);
Console.WriteLine("x|y={0}",x|y);
Console.WriteLine("x^y={0}",x^y);
Console.WriteLine("x>>2={0}",x>>2);
Console.WriteLine("x<<2={0}",x<<2);
}
}
6.赋值运算符与赋值表达式
赋值运算符的优先级与分离性以下。
优先级:在C#言语中,一切的赋值和自反赋值运算符的优先级都是一样的,比一切的别的运算符的优先级都低,是优先级最低的运算符。
分离性:赋值和自反赋值运算符的分离性是自右向左。
7.前提运算符与前提表达式
前提运算符是C#言语中的独一的一个三目运算符,它是由“?”和“:”两个标记构成,它的三个工具都是表达式。其一样平常情势以下:
表达式1?表达式2:表达式3
前提运算符的优先级和分离性以下:
优先级:仅优于赋值运算符。
分离性:自右向左。
比方,有上面的程序段:
x=5;y=8;
m=x>y?x:y;
因为x>y的值为false,故前提表达式的值为y,即8,把8赋给m,m的值为8。
8.别的运算符
9.运算符的优先级
2.1.6经常使用办法
要挪用以上办法,其一样平常情势以下:
System.Math.办法名([参数])
别的在Math类中还界说了两个主要的常数——Math.PI(圆周率——3.14159265358979323846)和Math.E(天然对数底——2.7182818284590452354)。
2.2典范实例练才能
2.2.1典范实例一:求圆的周长、面积及球的体积
【实例标题】
输出一个数,然后分离求以该数作为半径的圆的周长和面积和球的体积。
2.3上机实习重使用
2.3.1上机实习一:依据斜边和直角边的长度求对应角的 三角函数值
【实习标题】
输出一个直角三角形的斜边和一个直角边的长度,输入该直角边对应的角的正弦、余弦和正切值。程序的运转界面如-4所示,程序的运转界面如-5所示。
本章内容电子档及相干图片:
高校.net课件教程,.net基本教程下载(二)如果英语好,口才好,加上女孩子的优势说不定有机会进去做做别的工具) 比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。 Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的工具。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案. 我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。 asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源 asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源 目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案. 由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
页:
[1]