新手上路(C#)
通過一些思想的掙紮,為了讓自己多一門技術,最後我選擇了學習web-前端。 通過1周多點的學習,把基礎的C#學習了哈。 以下就是對它的一種概括和了解吧。
C#是微軟公司發布的一種面向對象的、運行於.NET Framework之上的高級程序設計語言。並定於在微軟職業開發者論壇(PDC)上登臺亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運行的過程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個特點,與COM(組件對象模型)是直接集成的,而且它是微軟公司 .NET windows網絡框架的主角。 C#是一種安全的、穩定的、簡單的、優雅的,由C和C++衍生出來的面向對象的編程語言。它在繼承C和C++強大功能的同時去掉了一些它們的復雜特性(例如沒有宏以及不允許多重繼承)。C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優雅的語法風格、創新的語言特性和便捷的面向組件編程的支持成為.NET開發的首選語言。[1] C#是面向對象的編程語言。它使得程序員可以快速地編寫各種基於MICROSOFT .NET平臺的應用程序,MICROSOFT .NET提供了一系列的工具和服務來最大程度地開發利用計算與通訊領域。 C#使得C++程序員可以高效的開發程序,且因可調用由 C/C++ 編寫的本機原生函數,因此絕不損失C/C++原有的強大的功能。因為這種繼承關系,C#與C/C++具有極大的相似性,熟悉類似語言的開發者可以很快的轉向C#。二進制 :二進制是計算機使用的一種計數方式
指令: 指令是能夠被CPU理解並執行的二進制命令
程序 :也就是軟件,它是指多個指令的有序排列
計算機語言發展歷程: 機器語言 -> 匯編語言 -> 高級語言
機器語言 :機器語言是能夠直接被計算機理解並執行的語言
匯編語言: 匯編語言使用助記符來替代機器指令
高級語言 :高級語言更加符合人類的思維習慣
語句 :語句是指代碼中一句可獨立運行的代碼
語法: 語法是指代碼中單詞、符號的組合規則
Code Compile Run
Code:源代碼,我們通常通過新建一個文本格式的文件(txt)開始編碼。
Compile:我們需要把源代碼轉化為計算機能識別的二進制碼,叫做編譯
Run:就是運行編譯出來的可執行文件(exe)
認識.NET
中間代碼:既不是源代碼,也不是機器代碼,你可以把它想象成一種介於源代碼與機器代碼之間的代碼。在閱讀難易程度上,它的易讀性比源代碼高,比機器代碼低。
.NET:世界上,沒有任何一個操作系統,也沒有任何一款CPU,能夠識別這種中間代碼。全世界,只有一款軟件可以識別,這款軟件就是.NET
.NET的重要性:.NET可以識別並執行中間代碼,它會根據當前的運行環境(CPU和操作系統),將中間代碼轉換為最合適的平臺代碼(可以理解為機器代碼),交給CPU和操作系統執行。也就是說,用C#開發的程序,編譯好後,可以放到任何一臺計算機、任何一種操作系統上執行,前提條件是,它要安裝一個軟件.NET。
主函數
main函數,入口函數,啟動函數都是主函數
定義:程序啟動時運行的函數
函數聲明:例如 #include<stdio.h>
int add(int x,int y); //
函數體:就是用花括號括起來的所有語句
輸出語句
方式1:Console.Write(“”);
此方法輸出語句後指針不提行
方式2:Console.Writeline(“”);
此方法輸出語句後指針提行
char 字符類型:單個文字(漢子、字母、數字、標點符號);書寫方式:單引號
string 字符串類型:不限數量的文字;書寫方式:雙引號
int 整數類型:整數;書寫方式:直接書寫
double 小數類型:必須有小數;書寫方式:直接書寫
定義:一塊儲存數據的內容空間,並且該內存區域的數據內容可以變化
變量的聲明:數據類型變量名;(int number)
變量的賦值:變量名=數據;(number=6)
變量名的硬性要求
變量名只能由數字、字母、下劃線組成
變量名不能以數字開頭
變量名不能與關鍵字相同
輸入出來藍色的代表為關鍵字。
變量名的軟性要求
變量名望文知意,例如 長度用變量名 longness
變量名首字母小寫,除第一個單詞外,其他單詞首字母大寫
合並聲明:對多個同類型的變量聲明,可以在一條聲明語句中完成。例:int num1;num2;num3;num4 .
聲明時的初始化:例 int num=1
變量的三要素:數據類型、變量名、變量值。 缺一不可
支持運算:加+、減—、乘*、除/、求余%
返回類型:與運算類型相同。
註:1.double類型與int類型=double類型、2.兩個int類型運算後如果有小數,直接去掉小數部分,不是四舍五入
只支持拼接(+)運算,字符串可以和任何類型進行運算,返回類型均為字符串
定義:在控制臺中獲取用戶輸入的內容
ConSole.ReadLine():暫停程序,等待用戶的輸入。用戶按下回車鍵後,獲取用戶輸入的內容,類型為string;用戶 按下回車鍵後,程序繼續執行,直到主函數結束
任意類型轉化為string:轉化代碼:待轉化的數據.ToString(); 例 String b=a.ToString();
int類型與double類型的互轉
int類型轉化為double類型為隱式轉換,可直接轉化。
double類型轉化為int類型為顯式轉換。例 double a=3.14 int d=(int)a d=3
註:顯式轉換有可能造成數據丟失
string轉換為數字類型
string b = int.Parse(a)
string b = double.Parse(a)
定義:在代碼中書寫一個斜杠,用於改變斜杠後出現字符的意義
@:在接下來的出現的字符串中,不會存在轉義符
\" 雙信號 ; \‘ 單引號; \n 換行符; \t 制表符
分為整數類型和實屬類型
對於計算精度要求很高的實數,使用decimal
對於內存使用要求苛刻的軟件,盡量在保證取值範圍的前提下使用占位較少的類型(保存用戶年齡,可以考慮使用byte類型)
如果沒有什麽特殊要求。整數用int,實數用double。
單行註釋: // 註釋內容
多行註釋:/* 註釋內容 */
編譯錯誤
發現錯誤:查看開發工具VS的錯誤列表
解決錯誤:根據錯誤提示,做出相應修改
錯誤特點:易發現,易修改
運行錯誤
發現錯誤:在調試模式下運行,並運行到報錯的語句
解決錯誤:根據錯誤提示修改
錯誤特點:難發現,難修改
邏輯錯誤(運行結果和預期不同)
發現錯誤:仔細核對運行結果,看與預期是否一致
解決錯誤:使用VS的斷點調試,檢查每一步
錯誤特點:極難發現,極難修改
按操作數的數量分類
一元(目)運算符
二元(目)運算符
三元(目)運算符
按運算符的功能分類
算術運算符(用於數學運算)
邏輯運算符(用於判斷)
位運算符(用於二進制)
其他
①類型轉換 ②改變運算順序③函數調用
算術運算符
加加運算符
變量名++
1.計算返回結果,與變量相同
2.將變量的值自增1
++變量名
1.計算返回結果加1
2.將變量的值自增1
減減運算符
變量名--
1.計算返回結果,與變量相同
2.將變量的值自減1
--變量名
1.計算返回結果減1
2.將變量的值自減1
賦值運算符
+= : x+=運算代碼 x=x+運算代碼
其他的類似於+=,值得註意的是 不能使用於變量初始化
邏輯運算符
分為:==、!=、>、>=、<、<=、&&(並且)、||(或者)、!
bool類型
表示真和假兩種狀態。
返回狀態 true或者false
&&:需要2個bool類型進行運算,真真為真,其他為假
||:需要2個bool類型進行運算,假假為假,其他為真
!:對於一個bool類型求反
三目運算符
三個操作數參與運算。
書寫方式:操作數1?操作數2:操作數3
返回結果:操作數1為真,返回操作數2,操作數1為假,返回操作數3
位運算符
用於對數字進行二進制運算
&、|、^、<<、>>、~
&:都為1取1,否則取0
|都為0取0,否則取1
^(異或):相同取0,不同取1
<<:坐移制定的位數
~(取補):0變1,1變0
一條有意義的語句,至少包含一個操作數和一個操作符
每一個表達式,都有一個返回類型
只要類型符合要求就能參與表達式的運算
賦值運算:永遠最後運行
優先級越高的運算符,會優先得到執行
優先級相同的的運算符,從左往右依次執行
數學運算:按照數學中的運算順序進行
類型轉換和函數調用:先進行函數調用。
邏輯運算:在邏輯運算時嗎,需要把&&和||兩端的表達式看做一個整體
三目運算:表達式1必須是播哦類型,表達式2和3類型必須相同
其他:使用小括號或者分開書寫來控制運算順序
新手上路(C#)