版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第三章C#基礎(chǔ)知識2回顧VisualStudio.NET2003是用于創(chuàng)建、編寫、運行和調(diào)試程序的集成開發(fā)環(huán)境
用戶使用VS.NET中的“起始頁”可以自定義IDE。IDE還包含許多有用的鏈接,如最近的項目、下載和聯(lián)機新聞組等VS.NET中的程序組成項目和解決方案。項目是一組相關(guān)的文件,解決方案則是一組相關(guān)的項目
VisualStudio.NET為用戶提供了用于瀏覽文件的各種窗口“動態(tài)幫助”窗口為用戶提供了與當(dāng)前光標(biāo)所在位置相關(guān)的文章3目標(biāo)在C#中定義變量和常量使用C#中的基本數(shù)據(jù)類型理解裝箱和拆箱的概念使用C#中的運算符,選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)定義和使用數(shù)組,了解結(jié)構(gòu)和枚舉4C#數(shù)據(jù)類型C#
數(shù)據(jù)類型大小默認值示例int有符號的32位整數(shù)0intrating=20;float32位浮點數(shù),精確到小數(shù)點后7位0.0Ffloattemperature=40.6F;byte無符號的8位整數(shù)0bytegpa=2;short有符號的16位整數(shù)0shortsalary=3400;long有符號的64位整數(shù)0Llongpopulation=23451900;bool布爾值,true或falseFalseboolIsManager=true;stringUnicode字符串-stringcolor=“Orange”Char單個Unicode字符‘\0’chargender=‘M’;5變量2-1語法:訪問修飾符數(shù)據(jù)類型變量名PublicPrivateProtectedintstringfloat……糖鹽胡椒粉鹽胡椒粉糖intfloatstring25.4“Test”變量用于存儲特定數(shù)據(jù)類型的值6變量2-2
staticvoidMain(string[]args) {
//聲明布爾型、字符串型、整型、短整型和浮點型變量
booltest=true;
shortnum1=19;
intnum2=14000;
stringval="Jamie";
floatnum3=14.5f;
//顯示變量值
Console.WriteLine("布爾值="+test);
Console.WriteLine("短整型值="+num1);
Console.WriteLine("整型值
="+num2);
Console.WriteLine("字符串值="+val);
Console.WriteLine("浮點值="+num3); }變量中存儲的值取決于該變量的類型7常量2-1語法:const數(shù)據(jù)類型常量名=常量值;PublicPrivateProtected常量用于在整個程序中將數(shù)據(jù)保持同一個值8常量2-2staticvoidMain(string[]args){
//PI常量PI
constfloat_pi=3.14F;
//由地球引力引起的加速度常量,單位為cm/s*s
constfloat_gravity=980;
//鐘擺的長度
intlength=40;
//鐘擺的周期
doubleperiod=0;
//鐘擺周期的計算公式
period=2*_pi*Math.Sqrt(length/_gravity);
Console.WriteLine("鐘擺的周期為{0}秒",period);}聲明常量在表達式中使用常量const關(guān)鍵字用于聲明常量9C#的基本數(shù)據(jù)類型3-1C#中的數(shù)據(jù)類型分為兩個基本類別
值類型表示實際數(shù)據(jù)只是將值存放在內(nèi)存中
值類型都存儲在堆棧中
int、char、結(jié)構(gòu)引用類型表示指向數(shù)據(jù)的指針或引用包含內(nèi)存堆中對象的地址
為null,則表示未引用任何對象類、接口、數(shù)組、字符串10C#的基本數(shù)據(jù)類型3-2staticvoidMain(string[]args){
//聲明一個值類型的整型數(shù)據(jù)類型
intval=100;
Console.WriteLine("該變量的初始值為{0}",val);
Test(val);
//由于該數(shù)據(jù)類型屬于值類型,所以將恢復(fù)其初始值
Console.WriteLine("該變量的值此時為{0}",val);
}staticvoidTest(intgetVal){
inttemp=10;
getVal=temp*20;}將val
的初始值傳遞給Test()
方法被傳遞的val
在Test()
方法內(nèi)被改變不反映已經(jīng)改變的val
值,而保留原始值11C#的基本數(shù)據(jù)類型3-3staticvoidMain(string[]args){ DataTypeTestobjTest=newDataTypeTest(); objTest.Val=100; //傳遞屬于引用類型的對象 Test(objTest); //由于該數(shù)據(jù)類型屬于引用類型,所以會考慮新處理的值 Console.WriteLine("變量的值為{0}",objTest.Val);}staticvoidTest(DataTypeTestdataTest){ inttemp=10; dataTest.Val=temp*20;}將DataTypeTest
的引用傳遞給Test()
被傳遞的val
在Test()
中改變不反映已經(jīng)改變的val
值,而保留原始值classDataTypeTest{publicintVal;}12裝箱和拆箱2-1裝箱是將值類型轉(zhuǎn)換為引用類型拆箱是將引用類型轉(zhuǎn)換為值類型利用裝箱和拆箱功能,可通過允許值類型的任何值與Object類型的值相互轉(zhuǎn)換,將值類型與引用類型鏈接起來13裝箱和拆箱2-2intval=100;objectobj=val;Console.WriteLine(“對象的值={0}",obj);intval=100;objectobj=val;intnum=(int)obj;Console.WriteLine("num:{0}",num);值類型引用類型拆箱裝箱值類型引用類型值類型被裝過箱的對象才能被拆箱14運算符和表達式9-1運算符和表達式Result=number*100變量變量常量操作數(shù)表達式操作數(shù)和運算符的組合運算符15運算符和表達式9-2類別運算符說明表達式算術(shù)運算符+執(zhí)行加法運算(如果兩個操作數(shù)是字符串,則該運算符用作字符串連接運算符,將一個字符串添加到另一個字符串的末尾)操作數(shù)1+操作數(shù)2-執(zhí)行減法運算操作數(shù)1-操作數(shù)2*執(zhí)行乘法運算操作數(shù)1*操作數(shù)2/執(zhí)行除法運算操作數(shù)1/操作數(shù)2%獲得進行除法運算后的余數(shù)操作數(shù)1%操作數(shù)2++將操作數(shù)加1操作數(shù)++或++操作數(shù)--將操作數(shù)減1操作數(shù)--或--操作數(shù)~將一個數(shù)按位取反
~操作數(shù)16運算符和表達式9-3類別運算符說明表達式三元運算符(條件運算符)?:檢查給出的第一個表達式expression是否為真。如果為真,則計算operand1,否則計算operand2。這是唯一帶有三個操作數(shù)的運算符
表達式?操作數(shù)1:操作數(shù)217問題
下面的運算結(jié)果是什么?
1、 27%5=
2、 ~11=2-12為什么?18運算符和表達式9-4類別運算符說明表達式比較運算符>檢查一個數(shù)是否大于另一個數(shù)
操作數(shù)1>操作數(shù)2<檢查一個數(shù)是否小于另一個數(shù)
操作數(shù)1<操作數(shù)2>=檢查一個數(shù)是否大于或等于另一個數(shù)
操作數(shù)1>=操作數(shù)2<=檢查一個數(shù)是否小于或等于另一個數(shù)
操作數(shù)1<=操作數(shù)2==檢查兩個值是否相等
操作數(shù)1==操作數(shù)2!=檢查兩個值是否不相等操作數(shù)1!=操作數(shù)219運算符和表達式9-5類別運算符說明表達式成員訪問運算符.用于訪問數(shù)據(jù)結(jié)構(gòu)的成員數(shù)據(jù)結(jié)構(gòu).成員賦值運算符=給變量賦值操作數(shù)1=操作數(shù)2邏輯運算符&&對兩個表達式執(zhí)行邏輯“與”運算
操作數(shù)1&&操作數(shù)2||對兩個表達式執(zhí)行邏輯“或”運算操作數(shù)1||操作數(shù)2!對兩個表達式執(zhí)行邏輯“非”運算!操作數(shù)()將操作數(shù)強制轉(zhuǎn)換為給定的數(shù)據(jù)類型
(數(shù)據(jù)類型)操作數(shù)20運算符和表達式9-6賦值運算符(=)變量=表達式;例如:身高=177.5;體重=78;性別=“m”;21運算符和表達式9-7一元運算符(++/--)Variable++;
相當(dāng)于
Variable=Variable+1;Variable--;
相當(dāng)于
Variable=Variable-1;22運算符和表達式9-8運算符計算方法表達式求值結(jié)果(假定X=10)+=運算結(jié)果=操作數(shù)1+操作數(shù)2X+=5X=X+515-=運算結(jié)果=操作數(shù)1-操作數(shù)2X-=5X=X-55*=運算結(jié)果=操作數(shù)1*操作數(shù)2X*=5X=X*550/=運算結(jié)果=操作數(shù)1/操作數(shù)2X/=5X=X/52%=運算結(jié)果=操作數(shù)1%操作數(shù)2X%=5X=X%5023運算符和表達式9-9C#運算符的優(yōu)先級優(yōu)先級(1最高)說明運算符結(jié)合性1括號()從左到右2自加/自減運算符++/--從右到左3乘法運算符除法運算符取模運算符*/%從左到右4加法運算符減法運算符+-從左到右5小于小于等于大于大于等于<<=>>=從左到右6等于不等于=!=從左到右從左到右7邏輯與&&從左到右8邏輯或||從左到右9賦值運算符和快捷運算符=+=*=/=%=-=從右到左24前置和后置自加/自減運算符表達式類型計算方法結(jié)果(假定num1的值為5)num2=++num1;前置自加num1=num1+1;num2=num1;num2=6;num1=6;num2=num1++;后置自加num2=num1;num1=num1+1;num2=5;num1=6;num2=--num1;前置自減num1=num1-1;num2=num1;num2=4;Num1=4;num2=num1--;后置自減num2=num1;num1=num1-1;num2=5;Num1=4;25問題計算結(jié)果:1、 inti=0; boolresult=false result=(++i)+i==2?true:false; result=true26算術(shù)運算符staticvoidMain(string[]args){
//x2的系數(shù)
intcoefficient1=2;
//x的系數(shù)
intcoefficient2=-7;
//二次方程的常數(shù)值
intconstant=3;
//存放表達式
b2-4ac的值
doubleexpression=0;
doublex1=0;
doublex2=0;
Console.WriteLine("二次方程為:{0}x2+{1}x+{2}",coefficient1,coefficient2,constant);
expression=Math.Sqrt(coefficient2*coefficient2-(4*coefficient1*constant));
x1=((-coefficient2)+expression)/(2*coefficient1);
x2=((-coefficient2)-expression)/(2*coefficient1);
Console.Write("x={0:F2}",x1);
Console.Write("或");
Console.WriteLine("x={0:F2}",x2);}將值賦給變量在表達式中使用的算術(shù)運算符27選擇結(jié)構(gòu)3-1語法:
if(<條件>){<語句塊>}else{<語句塊>}選擇結(jié)構(gòu)用于根據(jù)表達式的值執(zhí)行語句if…else28選擇結(jié)構(gòu)3-2語法:switch(選擇變量){ case值1: … break;
case值2: … break; case值3: … break; ... ... default: …}switch…case29switch…case的其他特性選擇結(jié)構(gòu)3-3各個
case標(biāo)簽不必連續(xù),也不必按特定順序排列default
標(biāo)簽可位于switch…case結(jié)構(gòu)中的任意位置default標(biāo)簽不是必選的,但使用default標(biāo)簽是一個良好的編程習(xí)慣每兩個case標(biāo)簽之間的語句數(shù)不限30循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)用于對一組命令執(zhí)行一定的次數(shù)或反復(fù)執(zhí)行一組命令,直到指定的條件為真。循環(huán)結(jié)構(gòu)的類型while循環(huán)do循環(huán)for循環(huán)foreach循環(huán)31while循環(huán)2-1停車!車上有幾個座位?檢查!是!否!while(seat<=25)32while循環(huán)反復(fù)執(zhí)行指定的語句,直到指定的條件為真語法:while(條件){//語句}break
語句可用于退出循環(huán)continue
語句可用于跳過當(dāng)前循環(huán)并開始下一循環(huán)while循環(huán)2-233do…while循環(huán)2-1停車!車上有幾個座位?檢查!是!否!while(seat<=25)do34do…while循環(huán)2-2do…while循環(huán)與while循環(huán)類似,二者區(qū)別在于do…while循環(huán)中即使條件為假時也至少執(zhí)行一次該循環(huán)體中的語句。語法:do{//語句}while(條件)35for循環(huán)for循環(huán)要求只有在對特定條件進行判斷后才允許執(zhí)行循環(huán)
這種循環(huán)用于將某個語句或語句塊重復(fù)執(zhí)行預(yù)定次數(shù)的情形
語法:for(初始值;條件;增/減){//語句}36foreach循環(huán)計算總分計算分數(shù)對班上的每一個學(xué)生教室37foreach循環(huán)2-1foreach
循環(huán)用于遍歷整個集合或數(shù)組
語法:
foreach(數(shù)據(jù)類型元素(變量)in集合或者數(shù)組){//語句
}38foreach循環(huán)staticvoidMain(string[]args){
//存放字母的個數(shù)
intcountLetters=0;
//存放數(shù)字的個數(shù)
intcountDigits=0;
//存放標(biāo)點符號的個數(shù)
intcountPunctuations=0;
//用戶提供的輸入
stringinput;
Console.WriteLine("請輸入一個字符串");
input=Console.ReadLine();
//聲明
foreach循環(huán)以遍歷輸入的字符串中的每個字符。
foreach(charchrininput) {
//檢查字母
if(char.IsLetter(chr))
countLetters++;
//檢查數(shù)字
if(char.IsDigit(chr))
countDigits++;
//檢查標(biāo)點符號
if(char.IsPunctuation(chr))
countPunctuations++; }
Console.WriteLine(“字母的個數(shù)為:{0}",countLetters);
Console.WriteLine(“數(shù)字的個數(shù)為:{0}",countDigits);
Console.WriteLine(“標(biāo)點符號的個數(shù)為:{0}",countPunctuations);}為所有計數(shù)器設(shè)置初始值接受輸入對輸入的每一個字符都進行循環(huán)使用了所有輸入的字符之后,循環(huán)自動終止39數(shù)組3-1數(shù)組是同一數(shù)據(jù)類型的一組值數(shù)組屬于引用類型,因此存儲在堆內(nèi)存中數(shù)組元素初始化或給數(shù)組元素賦值都可以在聲明數(shù)組時或在程序的后面階段中進行
語法:
數(shù)據(jù)類型[元素個數(shù)]數(shù)組名稱;
int[6]arrayHere;40數(shù)組3-278(0)67(1)89(2)92(3)66(4)JoeTomLeeJimBill23.518.927.321.429.6學(xué)生分數(shù)的整數(shù)數(shù)組職員姓名的字符串?dāng)?shù)組室溫的浮點數(shù)組數(shù)組位置41數(shù)組3-3staticvoidMain(string[]args){
intcount;
Console.WriteLine("請輸入您要登記的學(xué)生人數(shù)");
count=int.Parse(Console.ReadLine());
//聲明一個存放姓名的字符串?dāng)?shù)組,其長度等于提供的學(xué)生人數(shù)
string[]names=newstring[count];
//用一個
for循環(huán)來接受姓名
for(inti=0;i<count;i++) {
Console.WriteLine(“請輸入學(xué)生{0}的姓名",i+1);
names[i]=Console.ReadLine(); }
Console.WriteLine("已登記的學(xué)生如下:");
//用
foreach循環(huán)顯示姓名
foreach(stringdispinnames) {
Console.WriteLine("{0}",disp); }}數(shù)組聲明初始化數(shù)組元素的循環(huán)顯示輸出的循環(huán)42structstructEx{publicintstructDataMember;
publicvoidstructMethod1(){ //structMethod1實現(xiàn)}}自定義數(shù)據(jù)類型可以在其內(nèi)部定義方法無法實現(xiàn)繼承屬于值類型主要結(jié)構(gòu):structstudent{ publicintstud_id; publicstringstud_name;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級下《皇帝的新裝》蘇教版-課件
- 《項目管理手冊》附件1至附件123
- (高頻非選擇題25題)第1單元 中華人民共和國的成立和鞏固(解析版)
- 2019年高考語文試卷(新課標(biāo)Ⅰ卷)(解析卷)
- 2015年高考語文試卷(新課標(biāo)Ⅱ卷)(解析卷)
- 顏料產(chǎn)業(yè)智能化升級-洞察分析
- 胃石癥藥物療效評估-洞察分析
- 眼瞼水腫診療研究-洞察分析
- 土地資源價值評估方法比較-洞察分析
- 線粒體氧化應(yīng)激研究-洞察分析
- 紫草科旋花科馬鞭草科唇形科茄科課件
- 安徽省安慶市四中學(xué)2023-2024學(xué)年七年級數(shù)學(xué)第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 部編版七年級語文上冊(課本全冊)課后習(xí)題參考答案
- 2022-2023學(xué)年成都市高二上英語期末考試題(含答案)
- 大學(xué)英語語法專項練習(xí)題及答案
- 高中英語高頻詞匯拓展延伸
- 2023年浙江杭州西湖文化旅游投資集團有限公司招聘筆試題庫含答案解析
- 班主任名工作室個人工作總結(jié)6篇 名班主任工作室總結(jié)
- 巧克畢業(yè)論文(南昌大學(xué))超星爾雅學(xué)習(xí)通網(wǎng)課章節(jié)測試答案
- 大象版二年級科學(xué)上冊期末試卷(及答案)
- 榕江縣銻礦 礦業(yè)權(quán)出讓收益計算結(jié)果的報告
評論
0/150
提交評論