您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > c#基础教程之chap2
C#基础知识第二讲2目标在C#中定义变量和常量使用C#中的基本数据类型理解装箱和拆箱的概念使用C#中的运算符,选择结构和循环结构定义和使用数组,了解结构和枚举了解C#中的预处理指令理解C#中常用的字符串处理方法3C#数据类型C#数据类型大小默认值示例int有符号的32位整数0intrating=20;float32位浮点数,精确到小数点后7位0.0Ffloattemperature=40.6F;byte无符号的8位整数0bytegpa=2;short有符号的16位整数0shortsalary=3400;long有符号的64位整数0Llongpopulation=23451900;bool布尔值,true或falseFalseboolIsManager=true;stringUnicode字符串-stringcolor=“Orange”Char单个Unicode字符‘\0’chargender=‘M’;4变量2-1语法:访问修饰符数据类型变量名PublicPrivateProtectedintstringfloat……变量用于存储特定数据类型的值5变量2-2staticvoidMain(string[]args){//声明布尔型、字符串型、整型、短整型和浮点型变量boolt=false;shortn1=30;intn2=1200;stringstr=jeny;floatn3=23.1f;//显示变量值Console.WriteLine(布尔值=+t);Console.WriteLine(短整型值=+n1);Console.WriteLine(整型值=+n2);Console.WriteLine(字符串值=+str);Console.WriteLine(浮点值=+n3);}变量中存储的值取决于该变量的类型6常量2-1语法:const数据类型常量名=常量值;常量用于在整个程序中将数据保持同一个值7常量2-2staticvoidMain(string[]args){//PI常量PIconstfloat_pi=3.1415169F;//由地球引力引起的加速度常量,单位为cm/s*sconstfloat_gravity=980;//钟摆的长度intlength=60;//钟摆的周期doubleperiod=0;//钟摆周期的计算公式period=2*_pi*Math.Sqrt(length/_gravity);Console.WriteLine(钟摆的周期为{0}秒,period);}声明常量在表达式中使用常量const关键字用于声明常量8C#的基本数据类型3-1C#中的数据类型分为两个基本类别值类型表示实际数据只是将值存放在内存中值类型都存储在堆栈中int、char、结构引用类型表示指向数据的指针或引用包含内存堆中对象的地址为null,则表示未引用任何对象类、接口、数组、字符串9C#的基本数据类型3-2staticvoidMain(string[]args){//声明一个值类型的整型数据类型intvalue=130;Console.WriteLine(该变量的初始值为{0},value);Test(value);//由于该数据类型属于值类型,所以将恢复其初始值Console.WriteLine(该变量的值此时为{0},value);}staticvoidTest(intbyVal){intt=20;byVal=t*30;}将value的初始值传递给Test()方法被传递的value在Test()方法内被改变不反映已经改变的val值,而保留原始值10C#的基本数据类型3-3staticvoidMain(string[]args){DataTypeobjTest=newDataType();objTest.Value=130;//传递属于引用类型的对象Test(objTest);//由于该数据类型属于引用类型,所以会考虑新处理的值Console.WriteLine(变量的值为{0},objTest.Value);}staticvoidTest(DataTypedata){intt=20;data.Val=temp*30;}将DataTypeTest的引用传递给Test()被传递的value在Test()中改变反映已经改变的value值classDataType{publicintValue;}11装箱和拆箱2-1装箱是将值类型转换为引用类型拆箱是将引用类型转换为值类型利用装箱和拆箱功能,可通过允许值类型的任何值与Object类型的值相互转换,将值类型与引用类型链接起来12装箱和拆箱2-2intvalue=130;objecto=value;Console.WriteLine(“对象的值={0},o);intvalue=130;objecto=value;intnumber=(int)o;Console.WriteLine(num:{0},number);值类型引用类型拆箱装箱值类型引用类型值类型注:被装过箱的对象才能被拆箱13运算符和表达式9-1运算符和表达式Result=number*10变量变量常量操作数表达式操作数和运算符的组合运算符14运算符和表达式9-2类别运算符说明表达式算术运算符+执行加法运算(如果两个操作数是字符串,则该运算符用作字符串连接运算符,将一个字符串添加到另一个字符串的末尾)操作数1+操作数2-执行减法运算操作数1-操作数2*执行乘法运算操作数1*操作数2/执行除法运算操作数1/操作数2%获得进行除法运算后的余数操作数1%操作数2++将操作数加1操作数++或++操作数--将操作数减1操作数--或--操作数~将一个数按位取反~操作数15运算符和表达式9-3类别运算符说明表达式三元运算符(条件运算符)?:检查给出的第一个表达式expression是否为真。如果为真,则计算operand1,否则计算operand2。这是唯一带有三个操作数的运算符表达式?操作数1:操作数216运算符和表达式9-4类别运算符说明表达式比较运算符检查一个数是否大于另一个数操作数1操作数2检查一个数是否小于另一个数操作数1操作数2=检查一个数是否大于或等于另一个数操作数1=操作数2=检查一个数是否小于或等于另一个数操作数1=操作数2==检查两个值是否相等操作数1==操作数2!=检查两个值是否不相等操作数1!=操作数217运算符和表达式9-5类别运算符说明表达式成员访问运算符.用于访问数据结构的成员数据结构.成员赋值运算符=给变量赋值操作数1=操作数2逻辑运算符&&对两个表达式执行逻辑“与”运算操作数1&&操作数2||对两个表达式执行逻辑“或”运算操作数1||操作数2!对两个表达式执行逻辑“非”运算!操作数()将操作数强制转换为给定的数据类型(数据类型)操作数18运算符和表达式9-6赋值运算符(=)变量=表达式;例如:身高=177.5;体重=78;性别=“m”;19运算符和表达式9-7一元运算符(++/--)Variable++;相当于Variable=Variable+1;Variable--;相当于Variable=Variable-1;20运算符和表达式9-8运算符计算方法表达式求值结果(设X=10)+=运算结果=操作数1+操作数2X+=2X=X+212-=运算结果=操作数1-操作数2X-=2X=X-28*=运算结果=操作数1*操作数2X*=2X=X*220/=运算结果=操作数1/操作数2X/=2X=X/25%=运算结果=操作数1%操作数2X%=2X=X%2021运算符和表达式9-9C#运算符的优先级优先级说明运算符结合性1括号()从左到右2自加/自减运算符++/--从右到左3乘法运算符除法运算符取模运算符*/%从左到右4加法运算符减法运算符+-从左到右5小于小于等于大于大于等于==从左到右6等于不等于=!=从左到右从左到右7逻辑与&&从左到右8逻辑或||从左到右9赋值运算符和快捷运算符=+=*=/=%=-=从右到左22前置和后置自加/自减运算符表达式类型计算方法结果(假定num1的值为10)num2=++num1;前置自加num1=num1+1;num2=num1;num2=11;num1=11;num2=num1++;后置自加num2=num1;num1=num1+1;num2=10;num1=11;num2=--num1;前置自减num1=num1-1;num2=num1;num2=9;Num1=9;num2=num1--;后置自减num2=num1;num1=num1-1;num2=10;Num1=9;23问题计算结果:1、inti=0;boolresult=true;result=(++i)+i==2?true:false;result=true24算术运算符staticvoidMain(string[]args){//x1的系数intco1=3;//x2的系数intco2=-5;//二次方程的常数值intconstant=8;//存放表达式b2-4ac的值doubleexp=0;doublex1=0;doublex2=0;Console.WriteLine(二次方程为:{0}x2+{1}x+{2},co1,co2,constant);exp=Math.Sqrt(co2*co2-(4*co1*constant));x1=((-co2)+exp)/(2*co1);x2=((-co2)-exp)/(2*co1);Console.Write(x={0:F2},x1);Console.Write(或);Console.WriteLine(x={0:F2},x2);}将值赋给变量在表达式中使用的算术运算符25选择结构3-1语法:if(条件){语句块}else{语句块}选择结构用于根据表达式的值执行语句if…else26选择结构3-2语法:switch(选择变量){case值1:…break;case值2:…break;case值3:…break;......default:…}switch…case27switch…case的其他特性选择结构3-3各个case标签不必连续,也不必按特定顺序排列default标签可位于switch…case结构中的任意位置default标签不是必选的,但使用default标签是一个良好的编程习惯每两个case标签之间的语句数不限28循环结构循环结构用于对一组命令执行一定的次数或反复执行一组命令,直到指定的条件为真。循环结构的类型while循环do循环for循环foreach循环29while循环反复执行指定的语句,直到指定的条件为真语法:while(条件){//语句}break语句可用于退出循环continue语句可用于跳过当前循环并开始下一循环while循环30do…while循环do…while循环与while循环类似,二者区别在于do…while循环中即使条件为假时也至少执行一次该循环体中的语句。语法:do{//语句}while(条件)31for循环for循环要求只有在对特定条件进行判断后才允许执行循环这种循环用于将某个语句或语句块重复执行预定次数的情形语法:for(初始值;条件;增/减){//语句}32foreach循环2-1foreach循环用于遍历整个集合或数组语法:foreach(数据类型元素(变量)in集合或者数组){//语句}33foreach循环2-2staticvoidMain(string[]args){//存放字母的个数intLetters=0;//存放数字的个数intDigits=0;//存放标点符号的个数intPunctuations=0;//用户提供的输入stringinstr;Console.WriteLine(请输入一个字符串);instr=Console.ReadLine();//声明foreach循环以遍历输入的字符串中的每个字符。foreach(charchininstr){//检查字母if(char.Is
本文标题:c#基础教程之chap2
链接地址:https://www.777doc.com/doc-3382413 .html