




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章搭建ASP.NET開發及運行環境.pptx第2章ASP.NET網頁開發基礎.pptx第3章C#語法基礎.pptx第4章ASP.NET標準控件.pptx第5章ASP.NET驗證控件.pptx第6章HTTP請求、響應及狀態管理.pptx第7章ADO.NET數據訪問技術.pptx第8章使用LINQ進行數據訪問.pptx第9章數據綁定.pptx第10章用戶和角色管理.pptx第11章主題、母版、用戶控件和Web部件.pptx第12章網站導航.pptx第13章MicrosoftAJAX.pptx第14章Web服務和WCF服務.pptx第15章ASP.NETMVC編程.pptx第16章綜合實例——圖書館管理系統.pptx第17章課程設計——電子購物商城.pptx搭建ASP.NET開發及運行環境01ASP.NET基礎02IIS的安裝與配置03VisualStudio2015開發環境04第一個ASP.NET網站1
ASP.NET基礎什么是ASP.NET
引入
ASP.NET是一種開發動態網站的技術。.NETFramework概述
公共語言規范
通用類型系統.NETFramework(運行平臺)VisualStudio(開發工具)VB.NETC#VC++JScript….NETFramework
類庫(CLR)開發語言ASP.NET程序ASP.NET與.NETFrameworkASP.NET的特性2015年ASP.NET5.0ASP.NET4.5ASP.NET4.0ASP.NET3.02005年11月ASP.NET2.02003年ASP.NET1.12000年ASP.NET1.0ASP.NET的版本2IIS的安裝與配置主要內容安裝IIS配置IIS123VisualStudio2015開發環境主要內容安裝VisualStudio2015的必備條件安裝VisualStudio2015啟動VisualStudio2015123VisualStudio2015的集成開發環境安裝VisualStudio2015的必備條件名稱說明處理器1.6GHz處理器,建議使用2.0GHz雙核處理器RAM2G,建議使用4G內存可用硬盤空間所有驅動器上需要9G(典型安裝)或者20G(全部安裝)的可用空間DVD-ROM使用(或者使用虛擬光驅)顯示器1024*768,增強色16位操作系統及所需補丁Windows7(SP1)、Windows8、Windows8.1、WindowsServer2008R2SP1(x64)、WindowsServer2012(x64)、Windows10安裝VisualStudio2015
下載VisualStudio2015(社區版)的安裝鏡像文件http:///downloads/4
第一個ASP.NET網站ASP.NET網站基本構建流程示例:輸出“HelloWorld”創建ASP.NET網站示例:輸出“HelloWorld”熟悉VisualStudio2015開發環境
菜單欄
工具欄
“工具箱”窗口
“屬性”窗口
“錯誤列表”窗口0102030405設計Web頁面布局頁面12添加服務器控件添加ASP.NET文件夾示例:輸出“HelloWorld”運行應用程序配置IIS虛擬站點瀏覽ASP.NET網頁小結通過本章的學習,讀者可以首先了解ASP.NET的發展歷程、特性,然后需要重點掌握如何搭建IIS服務器的安裝及配置、VisualStudio2015開發環境的安裝等內容。另外,本章在講解過程中,為了能夠使讀者對ASP.NET網站有一個大體的認識,按照創建、設計、運行、配置虛擬站點、瀏覽網頁的流程詳細講解了一個ASP.NET網站的完整實現步驟。上機指導使用VisualStuido2015開發環境創建一個電子購物商城網站,名稱為NetShop,該網站中有一個Web窗體,其中輸出“歡迎光臨電子購物商城!”。ASP.NET網頁開發基礎01ASP.NET網頁語法02HTML標記語言03CSS樣式表04JavaScript腳本基礎05jQuery技術1ASP.NET網頁語法主要內容ASP.NET網頁擴展名
頁面指令
ASPX文件內容注釋服務器端文件包含01020304.htm.aspx.ascx
.xml.asmx.skin.css.master.configASP.NET網頁擴展名.asax.sitemap頁面指令
<%@Page%><%@ImportNamespace="Value"%><%@OutputCache%><%@ImplementsInterface="接口名稱"%><%@Register%>
服務器端注釋<%--<asp:TextBoxID="TextBox2"runat="server"></asp:TextBox>--%>ASPX文件內容注釋腳本注釋<scriptlanguage="javascript"runat="server">//注釋內容</script>服務器端文件包含<!--#includefile|virtual="filename"-->語法<html><body>
<!--#Includevirtual="/include/header.ascx"--></body></html>.ascxGlobal.asax.aspx2
HTML標記語言主要內容創建第一個HTML文件
HTML文檔結構
HTML常用標記表格標記HTML表單標記超鏈接與圖片標記010203040506什么是HTMLHTML是一種超文本語言,在因特網上常見的網頁制作標注性語言,HTML是通過瀏覽器的翻譯,將網頁中內容呈現給用戶。HTML文檔結構<html>標記<head>標記<title>標記<body>標記<html><head><title>HTML頁面</title></head><body>
應用記事本編寫HTML代碼</body></html>代碼HTML常用標記<br>換行標記<p>段落標記<h1>標題標記<center>居中標記<li>文字列表標記<html><head><title>設置標題標記</title></head><body><center><h1>java開發的3個方向</h1><h2>JavaSE</h2><p>主要用于桌面程序的開發。它是學習JavaEE和JavaME的基礎,也是本書的重點內容。</p><h2>JavaEE</h2><center><p>主要用于網頁程序的開發。隨著互聯網的發展,越來越多的企業使用Java語言來開發自己的官方網站,其中不乏世界500強企業。</p></center><h2>JavaME</h2><center><p>主要用于嵌入式系統程序的開發。</p></center></body></html>代碼表格標記表格標記<table>標題標記<caption>表頭標記<th>表格行標記<tr>單元格標記<td><body><tablewidth="318"height="167"border="1"align="center"><caption>學生考試成績單</caption><tr><tdalign="center"valign="middle">姓名</td><tdalign="center"valign="middle">語文</td><tdalign="center"valign="middle">數學</td><tdalign="center"valign="middle">英語</td></tr><tr><tdalign="center"valign="middle">張三</td><tdalign="center"valign="middle">89</td><tdalign="center"valign="middle">92</td><tdalign="center"valign="middle">87</td></tr></table></body>代碼HTML表單標記<form>…</form>表單標記屬性描述action用來指定處理表單數據程序的URL地址method用來指定數據傳送到服務器的方式。該屬性有兩種屬性值,分別為get與post。get屬性值表示將輸入的數據追加在action指定的地址后面,并傳送到服務器。當屬性值為post時,會將輸入的數據按照HTTP協議中post傳輸方式傳送到服務器。name指定表單的名稱,該屬性值程序員可以自定義。onSubmitonSubmit屬性用于指定當用戶單擊提交按鈕時觸發的事件。targettarget屬性指定輸入數據結果顯示在哪個窗口中,該屬性的屬性值可以設置為“_blank”、“_self”、“_parent”、“_top”。其中“_blank”表示在新窗口中打開目標文件,“_self”表示在同一個窗口中打開,這項一般不用設置,“_parent”表示在上一級窗口中打開。一般使用框架頁時經常使用,“_top”表示在瀏覽器的整個窗口中打開,忽略任何框架。屬性描述type用于指定添加的是哪種類型的輸入字段disabled用于指定輸入字段不可用,即字段變成灰色。其屬性值可以為空值,也可以指定為disabledchecked用于指定輸入字段是否處于被選中狀態,用于type屬性值為radio和checkbox的情況下。其屬性值可以為空值,也可以指定為checkedwidth用于指定輸入字段的寬度,用于type屬性值為image的情況下height用于指定輸入字段的高度,用于type屬性值為image的情況下maxlength用于指定輸入字段可輸入文字的個數,用于type屬性值為text和password的情況下,默認沒有字數限制readonly用于指定輸入字段是否為只讀。其屬性值可以為空值,也可以指定為readonlysize用于指定輸入字段的寬度,當type屬性為text和password時,以文字個數為單位,當type屬性為其他值時,以像素為單位src用于指定圖片的來源,只有當type屬性為image時有效usemap為圖片設置熱點地圖,只有當type屬性為image時有效。屬性值為URI,URI格式為“#+<map>標記的name屬性值”。例如,<map>標記的name屬性值為Map,該URI為#Mapalt用于指定當圖片無法顯示時,顯示的文字,只有當type屬性為image時有效name用于指定輸入字段的名稱value用于指定輸入字段默認數據值,當type屬性為checkbox和radio時,不可省略此屬性,為其他值時,可以省略。當type屬性為button、reset和submit時,指定的是按鈕上的顯示文字;當type屬性為checkbox和radio時,指定的是數據項選定時的值HTML表單標記<input>表單輸入標記屬性描述name用于指定列表框的名稱size用于指定列表框中顯示的選項數量,超出該數量的選項可以通過拖動滾動條查看disabled用于指定當前列表框不可使用(變成灰色)multiple用于讓多行列表框支持多選HTML表單標記<select>…</select>下拉菜單標記HTML表單標記<textarea>多行文本標記屬性描述name用于指定多行文本框的名稱,當表單提交后,在服務器端獲取表單數據時應用cols用于指定多行文本框顯示的列數(寬度)rows用于指定多行文本框顯示的行數(高度)disabled用于指定當前多行文本框不可使用(變成灰色)readonly用于指定當前多行文本框為只讀wrap用于設置多行文本中的文字是否自動換行,可選值如表2.5所示超鏈接與圖片標記超鏈接標記<a>圖像標記<img><tablewidth="409"height="523"border="1"align="center"><tr><tdwidth="199"height="208"><imgsrc="images/ASP.NET.jpg"/></td><tdwidth="194"><imgsrc="images/C#.jpg"/></td></tr><tr><tdheight="35"align="center"valign="middle"><ahref="message.html">查看詳情</a></td><tdalign="center"valign="middle"><ahref="message.html">查看詳情</a></td></tr><tr><tdheight="227"><imgsrc="images/Java.jpg"/></td><td><imgsrc="images/VB.jpg"/></td></tr><tr><tdheight="35"align="center"valign="middle"><ahref="message.html">查看詳情</a></td><tdalign="center"valign="middle"><ahref="message.html">查看詳情</a></td></tr></table>代碼3
CSS樣式表CSS規則選擇符又稱選擇器,是CSS中很重要的概念,所有HTML語言中的標記都是通過不同的CSS選擇器進行控制的。屬性主要包括字體屬性、文本屬性、背景屬性、布局屬性、邊界屬性、列表項目屬性、表格屬性等內容。其中一些屬性只有部分瀏覽器支持,因此使CSS屬性的使用變得更加的復雜。屬性值為某屬性的有效值。屬性與屬性值之間以“:”號分隔。當有多個屬性時,使用“;”分隔。圖2.16為大家標注了CSS語法中的選擇器、屬性與屬性值。CSS選擇器標記選擇器HTML頁面是由很多標記組成,例如圖片標記<img>、超鏈接標記<a>、表格標記<table>等。而CSS標記選擇器就是聲明頁面中哪些標記采用哪些CSS樣式。例如a選擇器,就是用于聲明頁面中所有<a>標記的樣式風格。<style>a{font-size:9px;color:#F93;}</style>CSS選擇器類別選擇器<style>.onefont-family:宋體;font-size:24px;color:red;}.two{font-family:宋體;font-size:16px;color:red;}.three{font-family:宋體;font-size:12px;color:red;}</style><body><h2class="one">應用了選擇器one</h2<p>正文內容1</p><h2class="two">應用了選擇器two</h2><p>正文內容2</p><h2class="three">應用了選擇器three</h2><p>正文內容3</p></body>CSS選擇器id選擇器<style> #first{font-size:18px}#second{font-size:24px}#three{font-size:36px}</style><body><pid="first">ID選擇器</p> <pid="second">ID選擇器2</p><pid="three">ID選擇器3</p></body>在頁面中包含CSS行內樣式<tablewidth="200"border="1"align="center"><tr><td><pstyle="color:#F00;font-size:36px;">行內樣式一</p></td></tr><tr><td><pstyle="color:#F00;font-size:24px;">行內樣式二</p></td> </tr><tr><td><pstyle="color:#F00;font-size:18px;">行內樣式三</p></td></tr><tr><td><pstyle="color:#F00;font-size:14px;">行內樣式四</p></td></tr></table>在頁面中包含CSS包含內嵌樣式表<style> #first{font-size:18px}#second{font-size:24px}#three{font-size:36px}</style><body><pid="first">ID選擇器</p> <pid="second">ID選擇器2</p><pid="three">ID選擇器3</p></body>在頁面中包含CSS鏈接式樣式表<linkrel=’stylesheet’href=’path’type=’text/css’>4
JavaScript腳本基礎01網頁中使用JavaScript02JavaScript的語法03JavaScript的數據類型04 運算符的使用05函數06 常用對象什么是JavaScript什么是JavaScript?JavaScript是一種基于對象和事件驅動并具有安全性能的解釋型腳本語言。它不需要進行編譯,而是直接嵌入在HTTP頁面中,把靜態頁面轉變成支持用戶交互并響應應用事件的動態頁面。JavaScript的特點解釋性基于對象事件驅動安全性跨平臺JavaScript的特點JavaScript與Java的區別基于對象和面向對象JavaScript是一種基于對象和事件驅動的腳本語言,它本身提供了非常豐富的內部對象供設計人員使用;而Java是一種真正的面向對象的語言,即使是開發簡單的程序,也必須設計對象。解釋和編譯JavaScript是一種解釋性編程語言,其源代碼在發往客戶端執行之前不需經過編譯,而是將文本格式的字符代碼發送給客戶端由瀏覽器解釋執行;而Java的源代碼在傳遞到客戶端執行之前,必須經過編譯才可以執行。弱變量和強變量JavaScript采用弱變量,即變量在使用前無須聲明,解釋器在運行時將檢查其數據類型;而Java則使用強類型變量檢查,即所有變量在編譯之前必須聲明。在Web頁面中使用JavaScript<scriptlanguage="javascript">varnow=newDate();varhour=now.getHours();varminu=now.getMinutes();alert("您好!現在是"+hour+":"+minu+"\r歡迎訪問我公司網站!");</script>在頁面中直接嵌入JavaScript在Web頁面中使用JavaScript<scriptlanguage="javascript"src="javascript.js"></script>鏈接外部JavaScriptJavaScript的語法JavaScript區分大小寫每行結尾的分號可有可無alert("您好!歡迎訪問我公司網站!")alert("您好!歡迎訪問我公司網站!");username≠
userNameJavaScript的數據類型類型說明舉例數值型JavaScript的數值型數據又可以分為整型和浮點型兩種7293.1415926字符型字符型數據是使用單引號或雙引號括起來的一個或多個字符。'a'布爾型布爾型數據只有兩個值,即true或false,主要用來說明或代表一種狀態或標志。在JavaScript中,也可以使用整數0表示false,使用非0的整數表示true。true,false,0,1轉義字符以反斜杠開頭的不可顯示的特殊字符通常稱為控制字符,也被稱為轉義字符。\b
\n\f\t\r\’\”\\空值JavaScript中有一個空值(null),用于定義空的或不存在的引用。如果試圖引用一個沒有定義的變量,則返回一個null值。vartmp=null;未定義值當使用了一個并未聲明的變量,或者使用了一個已經聲明但沒有賦值的變量時,將返回未定義值(undefined)。vartmp;運算符的應用運算符描
述示
例=將右邊表達式的值賦給左邊的變量userName="mr"+=將運算符左邊的變量加上右邊表達式的值賦給左邊的變量a+=b//相當于a=a+b-=將運算符左邊的變量減去右邊表達式的值賦給左邊的變量a-=b//相當于a=a-b*=將運算符左邊的變量乘以右邊表達式的值賦給左邊的變量a*=b//相當于a=a*b/=將運算符左邊的變量除以右邊表達式的值賦給左邊的變量a/=b//相當于a=a/b%=將運算符左邊的變量用右邊表達式的值求模,并將結果賦給左邊的變量a%=b//相當于a=a%b&=將運算符左邊的變量與右邊表達式的值進行邏輯與運算,并將結果賦給左邊的變量a&=b//相當于a=a&b|=將運算符左邊的變量與右邊表達式的值進行邏輯或運算,并將結果賦給左邊的變量a|=b//相當于a=a|b^=將運算符左邊的變量與右邊表達式的值進行異或運算,并將結果賦給左邊的變量a^=b//相當于a=a^bJavaScript中的賦值運算符運算符的應用運
算
符描
述示
例+加運算符4+6//返回值為10-減運算符7-2//返回值為5*乘運算符7*3//返回值為21/除運算符12/3返回值為4%求模運算符7%4返回值為3++自增運算符。該運算符有兩種情況:i++(在使用i之后,使i的值加1);++i(在使用i之前,先使i的值加1)i=1;j=i++//j的值為1,i的值為2i=1;j=++i//j的值為2,i的值為2--自減運算符。該運算符有兩種情況:i--(在使用i之后,使i的值減1);--i(在使用i之前,先使i的值減1)i=6;j=i--//j的值為6,i的值為5i=6;j=--i//j的值為5,i的值為5JavaScript中的算術運算符函數的定義函數是由關鍵字function、函數名加一組參數以及置于大括號中需要執行的一段代碼定義的。functionfunctionName([parameter1,parameter2,……]){statements;[returnexpression;]}函數的調用<formname="form1"method="post"action="">請輸入真實姓名:<inputname="realName"type="text"id="realName"size="40"><br><br><inputname="Button"type="button"class="btn_grey" onClick="checkRealName()"value="檢測"></form><scriptlanguage=“javascript”>functioncheckRealName(){varstr=form1.realName.value;if(str==""){alert("請輸入真實姓名!");form1.realName.focus();return;}else{varobjExp=/[\u4E00-\u9FA5]{2,}/;if(objExp.test(str)==true){//判斷是否匹配alert("您輸入的真實姓名正確!");}else{alert("您輸入的真實姓名不正確!");}}}</script>String對象方法名說明string.indexOf(subString[,startIndex])返回String對象內第一次出現子字符串的字符位置。string.substr(start[,length])返回指定字符串的一個子串string.replace(regExp,substring);替換一個與正則表達式匹配的子串string.split(delimiter,limit);將字符串分割為字符串數組屬性名說明string.length返回String對象的長度屬性方法Math對象屬性屬
性描
述E歐拉常量(2.718281828459045)LN22的自然對數(0.6931471805599453)LN1010的自然對數(2.3025850994046)SQRT22的平方根(1.4142135623730951)LOG2E以2為底數的e的對數(1.4426950408889633)LOG10E以10為底數的e的對數(0.4342944819032518)PI圓周率常數π(3.141592653589793)SQRT1-20.5的平方根(0.7071067811865476)屬
性描
述示
例abs(x)返回x的絕對值Math.abs(-10);ceil(x)返回大于或等于x的最小整數Math.ceil(1.05);Math.ceil(-1.05);cos(x)返回x的余弦值Math.cos(0);exp(x)返回e的x乘方Math.exp(4);floor(x)返回小于或等于x的最大整數Math.floor(1.05);Math.floor(-1.05);log(x)返回x的自然對數Math.log(1);max(x,y)返回x和y中的最大數Math.max(2,4);min(x,y)返回x和y中的最小數Math.min(2,4);pow(x,y)返回x對y的次方Math.pow(2,4); random()返回0和1之間的隨機數Math.random(); round(x)返回最接近x的整數,即四舍五入函數Math.round(1.05); Math.round(-1.05); sqrt(x)返回x的平方根Math.sqrt(2);
方法Date對象方法描述示例方法描述示例getTimezoneOffset()返回日期的本地時間和UTC表示之間的時差,以分鐘為單位newDate().getTimezoneOffset();toLocaleDateString()返回日期部分的字符串,采用本地日期newDate().toLocaleDateString();getTime()返回Date對象的內部毫秒表示。注意,該值獨立于時區,所以沒有單獨的getUTCtime()方法newDate().getTime();toLocaleTimeString()返回時間部分的字符串,采用本地時間newDate().toLocaleTimeString();toDateString()返回日期部分的字符串表示,采用本地時間newDate().toDateString();toTimeString()返回時間部分的字符串表示,采用本地時間newDate().toTimeString();toUTCString()將Date對象轉換成一個字符串,采用世界時newDate().toUTCString();valueOf()將Date對象轉換成其內部毫秒格式newDate().valueOf();方法Window對象屬性描述document對窗口或框架中含有文檔的Document對象的只讀引用defaultStatus一個可讀寫的字符,用于指定狀態欄中的默認消息frames表示當前窗口中所有Frame對象的集合location用于代表窗口或框架的Location對象。如果將一個URL賦予該屬性,則瀏覽器將加載并顯示該URL指定的文檔length窗口或框架包含的框架個數history對窗口或框架的history對象的只讀引用name用于存放窗口對象的名稱status一個可讀寫的字符,用于指定狀態欄中的當前信息top表示最頂層的瀏覽器窗口parent表示包含當前窗口的父窗口opener表示打開當前窗口的父窗口closed一個只讀的布爾值,表示當前窗口是否關閉。當瀏覽器窗口關閉時,表示該窗口的Window對象并不會消失,不過其closed屬性被設置為trueself表示當前窗口screen對窗口或框架的screen對象的只讀引用,提供屏幕尺寸、顏色深度等信息navigator對窗口或框架的navigator對象的只讀引用,通過navigator對象可以獲得與瀏覽器相關的信息屬性Window對象方法描述方法描述alert()彈出一個警告對話框setTimeout(timer)在經過指定的時間后執行代碼confirm()顯示一個確認對話框,單擊“確認”按鈕時返回true,否則返回falseclearTimeout()取消對指定代碼的延遲執行prompt()彈出一個提示對話框,并要求輸入一個簡單的字符串moveTo(x,y)將窗口移動到一個絕對位置blur()將鍵盤焦點從頂層瀏覽器窗口中移走。在多數平臺上,這將使窗口移到最后面moveBy(offsetx,offsety)將窗口移動到指定的位移量處close()關閉窗口resizeTo(x,y)設置窗口的大小focus()將鍵盤焦點賦予頂層瀏覽器窗口。在多數平臺上,這將使窗口移到最前邊resizeBy(offsetx,offsety)按照指定的位移量設置窗口的大小open()打開一個新窗口print()相當于瀏覽器工具欄中的“打印”按鈕scrollTo(x,y)把窗口滾動到x,y坐標指定的位置setInterval()周期執行指定的代碼scrollBy(offsetx,offsety)按照指定的位移量滾動窗口clearInterval()停止周期性地執行代碼方法5
jQuery技術什么是jQueryjQuery是一套簡潔、快速、靈活的JavaScript腳本庫,它是由JohnResig于2006年創建的,它幫助我們簡化了JavaScript代碼。配置jQuery引入jQuery<scriptsrc="JS/jquery-1.7.2.min.js"type="text/javascript"></script><scriptlanguage="javascript"src="JS/jquery-1.7.2.min.js"></script>或jQuery的工廠函數從一個"$"符號和一對"()"開始在參數中使用標記名$("div"):用于獲取文檔中全部的<div>。在參數中使用ID$("#username"):用于獲取文檔中ID屬性值為username的一個元素。在參數中使用CSS類名$(".btn_grey"):用于獲取文檔中使用CSS類名為btn_grey的所有元素一個簡單的jQuery腳本<html><head><metacharset="utf-8"><title>我的第一個jQuery腳本</title><scripttype="text/javascript"src="JS/jquery-1.7.2.min.js"></script><script>$(document).ready(function(){$("a").click(function(){alert("我的第一個jQuery腳本!");});});</script></head><body><ahref="#">彈出提示對話框</a></body></html>小結本章主要對ASP.NET網頁開發時必備的知識進行了詳細講解,包括ASP.NET的基本網頁語法、HTML、CSS、JavaScript和jQuery等。ASP.NET網頁語法是開發ASP.NET網站必須要熟悉的內容;而HTML是構成網頁的靈魂,對于制作一般的網頁,尤其是靜態網頁來說,HTML完全可以勝任,但如果要制作漂亮的網頁,CSS是不可缺少的;另外,本章還對JavaScript腳本和當前主流的jQuery技術進行了講解。學習本章內容,如果已經有相關技術經驗,本章內容熟悉即可;但是如果沒有任何網頁基礎,則除了熟練掌握本章所講的內容外,還要學會延伸學習,多參考相關的專題書籍和技術博客,進行深入學習。上機指導創建一個用戶注冊的頁面,讓用戶輸入用戶名、密碼、電話和郵箱,使用Javascript腳本完成密碼校驗、電話號碼校驗、郵箱校驗和空內容校驗。C#語法基礎01C#語言簡介02代碼編寫規則03基本數據類型04常量和變量05表達式與運算符06選擇語句07循環語句08跳轉語句09數組的基本操作10面向對象程序設計1
C#語言簡介C#語言簡介
引入
C#,讀作CSharp,是微軟公司設計的一種編程語言,是從C和C++基礎上開發出來的一種簡單、面向對象和類型安全的編程語言,并且能夠與.NET
Framework完美結合。注意安德斯·海爾斯伯格(AndersHejlsberg,1960.12~),丹麥人,TurboPascal編譯器的主要作者,Delphi和C#之父,同時也是·NET創立者。C#創始人2014年6月C#4.6預覽版(.NET4.6)2012年8月15日C#4.5發布(.NET4.5)2010年4月12日C#4.0發布(.NET4.0)2007年11月20日C#3.0發布(.NET3.5)2005年11月7日C#2.0發布(.NET2.0)2002年2月13日C#1.0發布(.NET1.0)2000年6月C#語言發布C#的發展歷史C#的特點封裝、繼承、多態通過.NET框架運行,不直接操作內存2
代碼編寫規則盡量使用接口編程關鍵語句一定編寫注釋局部變量隨用隨聲明盡量少用goto語句如果參數多,建議使用結構避免對大段代碼使用try...catch同一個文件中避免編寫多個類字符串多變時,用StringBuilderif語句塊中使用“{}”switch語句中一定編寫default代碼編寫規則死記硬背Pascal命名法:所有單詞第一個字母大寫,其它字母小寫如UserGetInfo兩種命名方法Camel命名法:除了第一個單詞,所有單詞第一個字母大寫,其它字母小寫如userIduserName
接口
一切接口開始于“I”
類名
功能與操作的完美結合
方法名
動賓關系,實現何種操作
成員變量
盡可能加前綴“_”
項目名
公司域名+產品名稱
命名空間名
公司名稱/產品名稱程序中元素的命名規范代碼注釋及規則行注釋12塊注釋3
基本數據類型基本數據類型值類型直接存儲值30ageageage2intage=30;3030intage2=age;ageage23035age2=35;值類型整數類型inti=10;intj=-10;uintm=10;uintn=-10;示例類型說明(8位等于1字節)范圍sbyte8位有符號整數-128~127short16位有符號整數-32768~32767int32位有符號整數-2147483648~2147483647long64位有符號整數-9223372036854775808~9223372036854775807byte8位無符號整數0~255ushort16位無符號整數0~65535uint32位無符號整數0~4294967295ulong64位無符號整數0~18446744073709551615類型說明范圍float精確到7位數1.5×10-45~3.4×1038double精確到15~16位數5.0×10-324~1.7×10308decimal精確到28位數±1.0×10-28~±7.9×1028floattheMySum=9.27f;floattheMuSums=1.12F;doublemyDou=927d;doublemudou=112D;decimalmoney=1.12m;或者decimalmoney=1.12M;浮點類型bool類型
布爾類型主要用來表示true/false值,C#中定義布爾類型時,需要使用bool關鍵字。例如,下面代碼定義一個布爾類型的變量:boolx=true;
bool類型的默認值是false。C#語言中,使用char/Char類定義字符,并且字符只能用單引號括起來charch1=‘m’;Charch1=‘m’;‘M’‘5’‘男’‘bool’‘5.2’“ch”×××檢查下面這些是否是合法的字符字符類型語法student1student1.Name=“m”Name=“m”引用類型存儲對值的引用student1studnet2Name=“n”student2.Name=“n”student2=student1引用類型Name=“m”兩個變量都發生變化student1studnet2
.NET中預定義的兩種引用類型類型說明objectobject類型在.NETFramework中是Object的別名。在C#的統一類型系統中,所有類型(預定義類型、用戶定義類型、引用類型和值類型)都是直接或間接從Object繼承的stringstring類型表示零或更多Unicode字符組成的序列
值類型與引用類型的區別在這里在哪里4
常量和變量
定義:不能被改變的量323680x2F3.143.14F3.14M‘A’“HelloWorld”turefalse常量constdoublePI=3.1415926;常量的分類字面常量符號常量const
引入
在數學中,我們對變量的概念有一定的了解和認識,如y=x2,其中,x、y都是變量。
那么,在C#中的變量具體是指一個什么概念呢?其實,一個變量就是存儲區(內存)中的一個存儲單元。變量
變量類型變量名=數值;變量類型變量名;變量名=數值;intmoney=1000;intmoney;money=1000;變量的聲明變量類型變量名1,變量名2,…,變量名n;intmoney1,money2,…moneyn;語法1、字母2、下劃線‘_’首字母任意多的:1、數字2、字母3、下劃線‘_’其余部分變量名C#語言中,變量命名要符合一定規則money,score,name,sex變量基本要求:簡短且能清楚地表明變量的作用,通常第一個單詞的首字母小寫,其后單詞的首字母大寫。例如:myScore變量的命名規則變量的初始化賦值運算符將右邊的數賦值給左邊的變量變量初始化的3種方法
單獨初始化變量
intsum;sum=368;
intsum=368;
inta,b,c,d,e;a=b=c=d=e=0;聲明時初始化變量同時初始化多個變量5
表達式與運算符什么是表達式
引入
表達式是由運算符和操作數組成的。+、-、*和/等都是運算符,操作數包括常量、變量和表達式等。1×
4=4x*y=z符號數運算符操作數按運算符功能
按操作數個數
單目運算符
雙目運算符
三目運算符
算術運算符
自增自減運算符賦值運算符
關系運算符
邏輯運算符
位運算符
條件運算符等
運算符的分類主要內容
算術運算符
自增自減運算符
賦值運算符
關系運算符
邏輯運算符
位運算符
移位運算符
條件運算符0102030405060708
運算符的優先級與結合性09
表達式中的類型轉換09操作數操作數運算符+-*/%算術運算符基本的算術運算classTest{publicstaticvoidMain(String[]args)
{
doublei=-6.5;
intj=-2;
doubleresult=i%j;Console.WriteLine(result);}}使用%運算符時的注意事項
使用%運算符時,返回結果的符號與左操作數相同-0.5b=a++;相當于:b=a;a++;先取值,后自增b=--a;相當于:--a;b=a;先自減,后取值自增自減運算符
自增自減運算符不能作用于常量或者表達式=量值做讀取操作,可以是常量、表達式做寫的操作,被賦予等號右側的值簡單賦值運算符a+=3a&=3a>>=3a%=b-3a=a+3
a=a&3a=a>>3a=a%(b-3)算術賦值此處千萬不能寫成:a=a%b-3位賦值移位賦值復合賦值運算復合賦值運算符復合賦值運算符又稱為帶運算的賦值運算符,它其實是將賦值運算符與其他運算符合并成一個運算符來使用,從而同時實現兩種運算符的效果。
大于
>等于==不等于
!=大于或等于
>=小于或等于
<=小于
<關系運算關系運算符真變假,假變真全假才假全真才真
與
&&(&)或
||(|)非
!邏輯運算符0變1,1變0有1即為1有0即為0全0或全1才為0位運算符位運算符位或|位取反~位異或^位與&
0000000000001100&
0000000000001000
0000000000001000
0000000000000100|
0000000000001000
0000000000001100十進制12和
8進行與運算十進制4和8進行或運算位與運算位或運算位運算符示例位與運算的結果為8位或運算的結果為12
0000000000011111^
0000000000010110
0000000000001001~
0000000001111011
1111111110000100位異或運算位取反運算位運算符示例位異或運算的結果為9位取反運算的結果為-124十進制31和22進行異或運算十進制123進行取反運算0011000001100000左移后補0左移1位0被舍棄移位運算符十進制:48十進制:9696=48*2,192=48*2211000000左移2位左移后補00被舍棄十進制:192左移相當于乘以2的n次冪之左移位運算001100000001100010110000右移位運算十進制:48十進制:24十進制:-80十進制:-20111011000被舍棄0被舍棄右移1位右移后補0右移2位右移后補124=48/2-20=-80/22右移相當于除以2的n次冪判斷公式?結果1:
結果2;示例條件運算符if(判斷公式)
結果1else
結果2
intage=50;stringinfo=age>40?"人到中年了!":"這正是黃金奮斗的年齡";
簡稱含義運算符數目結合性單單目++,--,!,~單目←算算術*,/,%雙目→+,-雙目→位移位<<,>>雙目→關關系>,>=,<,<=雙目→==,!=雙目→邏邏輯&&雙目→||雙目→條條件?:三目←賦賦值=,+=,-=,*=,/=,%=雙目←運算符的優先級與結合性優先級從高到底表達式中的類型轉換之隱式類型轉換在某種條件下,系統自動完成類型轉換(即隱式類型轉換)兩種類型兼容例如:double兼容int類型目標類型精度大于源類型例如:double類型大于int類型(類型名)表達式intb=(int)10.2;doublea=10.5;intc=(int)a;1Convert.To類型名(表達式)doublea=10.5;intc=Convert.ToInt32(a);2類型名.Parse(表達式)doublea=10.5;intc=Int.Parse(a.ToString());3顯式類型轉換數值類型值類型引用類型裝箱拆箱裝箱和拆箱6
選擇語句主要內容
if語句01
switch語句02最簡單的if語句(1)表達式必須使用圓括號括起來(2)表達式:關系表達式或邏輯表達式(3)“語句”可以使單語句也可以是復合語句if(表達式){
語句}語法if…else語句(1)表達式:關系表達式或邏輯表達式(2)“語句1或者語句2”可以是單語句也可以是復合語句if(表達式){
語句1}else{
語句2}語法if…else語句與條件運算符if(表達式)
語句1else
語句2
表達式?語句1:
語句2;嘗試使用條件運算符對前面判斷某個數是奇數還是偶數的實例進行修改。if語句多于else語句的問題
程序中使用if…else語句時,如果出現if語句多于else語句的情況,在沒有特殊處理的情況下,else永遠都與最后出現的if語句相匹配。if(表達式1){
語句1}elseif(表達式2){
語句2}…elseif(表達式n){
語句n}else{
語句n+1}注意:else和if之間有一個空格if…elseif…else語句
表達式1
假語句1
真語句n+1
表達式2
語句2
真假真假表達式n
真假語句n
…………if語句的嵌套if(表達式1){if(表達式2){//表達式2為真時執行……}else{//表達式2為假時執行……}}if(表達式1){if(表達式2){//表達式2為真時執行……}
elseif(表達式3)
{//表達式3為真時執行……}}else{//表達式1為假時執行……}if語句中嵌套if…else1if…else中嵌套if…elseif2任意互相嵌套使用if語句的嵌套判斷用戶輸入的年份是不是閏年。switch(表達式){case常量表達式1:
語句1;break;case常量表達式2:
語句2;break;…case常量表達式n:
語句n;break;default:
語句n+1;break;}整型/char/string/bool類型
用于退出switch語句,不能省略注意:這里是冒號,不是分號switch多分支語句switch多分支語句的執行流程7
循環語句主要內容
while循環語句01
do…while循環語句02
for循環語句03while循環語句(1)表達式:關系表達式或邏輯表達式(2)“語句”中應該有能夠使循環結束的條件語句(3)如果表達式一開始為假,則循環體中的語句一次都不執行while(表達式){
語句}語法使用while循環實現1到100的累加和。do…while循環語句(1)表達式:關系表達式或邏輯表達式(2)while表達式后面的分號一定不能省略(3)循環體中的語句至少執行一次do{
語句}while(表達式);語法使用do…while循環實現1到100的累加和。0遍1遍想一想,下邊兩段代碼分別被執行幾遍??while和do…while的區別for循環語句(1)表達式1通常用來初始化循環變量(2)表達式2是一個關系表達式或邏輯表達式,用來作為判斷條件(3)表達式3通常用來對循環變量進行遞增或遞減操作,以便存在能夠使循環結束的條件(4)表達式之間用分號連接,分號一定不能省略for(表達式1;表達式2;表達式3){
語句}語法使用for循環實現1到100的累加和。for循環應用8
跳轉語句主要內容
break語句01
continue語句02
goto語句03break在循環中的使用inti,sum=0;for(i=1;;i++){sum+=i;}inti,sum=0;for(i=1;;i++){if(i>100){
break;}
sum+=i;}修改(1)break語句通常應用在switch、while、do…while或for循環中(2)break一般與if語句搭配使用,用來跳出循環“死循環”continue的使用(1)continue語句通常應用在while、do…while或for循環中(2)continue一般與if語句搭配使用,用來開始一次新的循環?2+4+6+8+……+100=?inti,sum=0;for(i=1;i<=100;i++){
if(i%2==1)continue;sum+=i;}break和continue的區別breakcontinue使用goto語句實現1到100的累加。goto語句的使用gotoLable;Console.WriteLine(“themessagebeforeLabel”);Lable:Console.WriteLine(“theLabelmessage”);goto標簽;語法改變代碼執行順序goto使用說明goto語句可以忽略當前程序的邏輯,直接使程序跳轉到某一語句執行,有時非常方便,但是也正是由于goto語句的這種特性,在程序開發中一般不主張使用goto語句,以免造成程序流程的混亂,使理解和調試程序都產生困難。9
數組的基本操作主要內容
數組的聲明01
初始化數組02數組的概念
引入數組是包含若干相同類型的變量的集合。這些變量可以通過索引進行訪問。數組的索引從0開始。數組的聲明
聲明一維數組
type[]arrayName;type[,]arrayName;
聲明二維數組初始化數組
初始化一維數組int[]arr=newint[5];int[]arr1=newint[5]{1,2,3,4,5};string[]arrStr;arrStr=newstring[7]{"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};string[]arrStr={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};int[,]array=newint[4,2]int[,]arr2=newint[3,2]{{1,2},{3,4},{5,6}};int[,]array;array=newint[,]{{1,2},{3,4},{5,6},{7,8}};int[,]array4={{1,2},{3,4},{5,6},{7,8}};
初始化二維數組10
面向對象程序設計對象、類、實例化對象=(算法+數據結構)程序=(對象+對象+……)封裝面向對象程序設計語言的三大原則繼承面向對象程序設計語言的三大原則多態面向對象程序設計語言的三大原則
繼承中提到了父類和子類,其實將父類對象應用于子類的特征就是多態。依然以圖形類來說明多態,每個圖形都擁有繪制自己的能力,這個能力可以看作是該類具有的行為,如果將子類的對象統一看作是父類的實例對象,這樣當繪制任何圖形時,可以簡單地調用父類也就是圖形類繪制圖形的方法即可繪制任何圖形,這就是多態最基本的思想。
類是一種數據結構,它可以包含數據成員(常量和域)、函數成員(方法、屬性、事件、索引器、運算符、構造函數和析構函數)和嵌套類型。
類(class)實際上是對某種類型的對象定義變量和方法的原型,它表示對現實生活中一類具有共同特征的事物的抽象,是面向對象編程的基礎。類的概念類修飾符class類名{}類的聲明publicclassCar{publicintnumber;
publicstringcolor;
privatestringbrand; }語法對象的創建及使用
對象的創建Testtest=newTest();Testtest=newTest("a");cStockInfostockInfo=newcStock
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年城市公共交通管理與運營考試試題及答案
- 2025年歷史文化與社會發展的關系考試試題及答案
- 2025年教育心理學基礎知識考試試卷及答案
- 健康人生無毒課件
- T/TMAC 071-2023隧道裝配式仰拱設計與施工技術規程
- T/TMAC 019.F-2020科技成果評價工作指南
- 預防性衛生審查體系構建
- 幼兒園生活中的安全教育
- 新生兒肺炎科普知識
- T/SLEA 0041-2023實驗室用化學品安全儲存柜技術規范
- 2024春期國開電大本科《外國文學》在線形考(形考任務一至四)試題及答案
- 陽光雨棚制作安裝合同范本
- 福建小鳳鮮禽業有限公司100萬羽蛋雞養殖基地項目環境影響報告書
- CJT 489-2016 塑料化糞池 標準
- 帶你聽懂中國傳統音樂智慧樹知到期末考試答案章節答案2024年廣州大學
- 2024中考語文語言運用考點備考試題精練 (含答案)
- 苗木供應質量保證措施方案
- 2022-2023學年廣東省廣州市番禺區教科版(廣州)四年級下冊期末測試英語題卷(無答案)
- 【蔚來新能源汽車營銷策略探究9200字(論文)】
- 燃氣經營安全重大隱患判定標準課件
- 偉大的《紅樓夢》智慧樹知到期末考試答案章節答案2024年北京大學
評論
0/150
提交評論