Net與C#
•Net(DotNet):
–一般指.Net Framework、一種平台、一種技術
•C#(sharp):
–一種程式設計語言,可以開發基於.Net平台的應用
•Java:
–既是一種技術也是一種語言
.Net都能做什麼
傳統型應用程式 WinForm
Internet應用程式 ASP.Net
手機開發 WP7
C/S:客戶機(Client)/伺服器(Server)
B/S:瀏覽器(Browser)/伺服器(Server)
.Net開發學習路線
程式是什嗎?
就是“記事本”
控制預先寫好的東西
三個狀態
模仿:照代碼寫和分析
類比:按照步驟自己寫
創造:有需求自己設計
Visual Studio介紹
安裝、建立解決方案、項目
使用VS的各個表單,字型行號
C#源檔案(類)一般以cs結尾
C#的入口函數是Main函數
基本的輸入輸出語句(示範一個例子)
多重專案與啟動項
項目的載入與卸載
C#中的注釋
當行注釋
// 注釋內容
多行注釋
/* 注釋內容,不允許嵌套 */
文檔注釋
/// 注釋內容
在方法與類等資料前鍵入///自動產生
常用的基本操作
常用鍵(移動游標)
複製、粘貼與撤銷
插入、覆蓋模式
標點問題
常用F鍵:F5、F6、F11、F1
摺疊代碼
變數與常用資料類型
程式就是在不斷的儲存資料、處理資料
常見的資料類型有
int、double、decimal、char、string、bool
聲明變數 類型名 變數名;
存入資料
下面的做法對嗎?
int a = 3.14;
變數的聲明
文法
類型名 變數名;
變數名 = 字面值;
變數要
先聲明、再賦值、後使用
如果一次要聲明多個變數,使用逗號隔開
可以賦初值
部分賦初值
變數的命名
命名規則:
1 必須以“字母”_或@符號開頭.
2 後面可以跟任意“字母”、數字、底線.
注意:
1)你起的變數名不要與c#系統中的關鍵字重複.
2)在c#中,大小寫是敏感的.
3)同一個變數名不允許重複定義(先這麼認為,不嚴謹)
定義變數時,變數名要有意義
C# 變數命名編碼規範——Camel (駱駝、駝峰)命名法:
首個單詞的首字母小寫,其餘單詞的首字母大寫。
Pascal命名規範:每一個單詞第一字母都大寫
如果使用到英文單詞的縮寫,全部用大寫!
賦值運算子與賦值運算式
賦值運算子:=
帶有賦值運算子的式子叫做賦值運算式
切記不是數學意義上的“等於”含義
賦值以前裡面沒有資料,預設為0(不能使用)
可以多次賦值,如果賦值了原來的就沒了
int num = 2;
num = 10;
Console.WriteLine(num);
字元與字串
string strVal = 字面值;
可以使用“+”實現字串的拼接
那麼怎麼輸出:”C#入門經典”好簡單啊
常見的逸出字元:
\n \r \b \t \\ \”
@字在字串前面表示不轉譯
示範:
定義一個變數儲存客戶的姓名,然後在螢幕上顯示:”你好,某某”.
某某代表客戶的姓名
+號可以串連兩個字串,這裡的“+”號表示串連的意思
示範多次賦值操作
定義一個變數儲存一個人的年齡(18),然後發現這個人的年齡不是18歲,要把這個人的年齡修改成20歲(本題體會變數可以被重複多次賦值),最後把這個人的年齡輸出到螢幕上?
變數練習
1. 定義3個變數,分別儲存一個人的姓名(張三),年齡(28),和工資(7600.33).然後在螢幕上顯示,我叫XX,今天X歲了,我的工資是XX元.
2.定義四個變數,分別儲存一個人的姓名、性別、年齡、電話。然後列印在螢幕上
3.在螢幕上輸出:My Phone是philips 型號:998 價格:1500元 重量:0.3kg
請定義變數存儲存上面的值,並顯示在螢幕上.
4.定義兩個變數如:a b分別賦值為10和5,寫程式交換兩個變數的值
字串練習
1.練習:問使用者喜歡吃什麼水果,假如使用者輸入”蘋果”,則顯示”哈哈,這麼巧呀,我也喜歡吃蘋果”
2.練習:請使用者輸入姓名,然後在螢幕上顯示“你好,XXX". XXX為使用者剛剛輸入的姓名.
接收使用者輸入的方法:
Console.ReadLine();
算術運算子及算術運算式
算術運算子: + - * / %(取餘數 模數)
算術運算式:由算術運算子串連起來的式子.如:1+1 a-b(變數ab前面已聲明並賦初值)
優先順序:先乘除,後加減,有括弧先算括弧裡的,相同層級的從左至右運算
小括弧可以無限制的套用,但一定要成對出現.
C#運算子優先順序
| 類型 |
運算子 |
說明 |
| 基本 |
x, y, f(x), a[x], x++, x--, new, typeof, checked, unchecked |
new運算子用於建立一個新對象 |
| 一元 |
+, -, !, ~, ++x, --x, (T)x |
(T)x為強制類型轉換 |
| 乘除 |
*, /, % |
|
| 加減 |
+, - |
|
| 位移 |
<<, >> |
|
| 關係和類型檢測 |
<, >, <=, >=, is, as |
|
| 相等 |
==, != |
|
| 邏輯與 |
& |
|
| 邏輯異或 |
^ |
|
| 邏輯或 |
| |
|
| 條件與 |
&& |
|
| 邏輯或 |
|| |
|
| 條件 |
?: |
|
| 賦值 |
=, *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |= |
|
示範:計算半徑為5的圓的面積並列印出來
練習
某商店T恤的價格為35元/件,褲子的價格為120元/條.小明在該店買了3件T恤和2條褲子,請計算並顯示小明應該付多少錢?
假如商店為小明打8.8折,那麼小明應該付多少錢呢?
購物總計為:XX元,打折後應付為:XX元.
整 數 類 型
| 類 型 |
別 名 |
允 許 的 值 |
| sbye |
System.SBye |
在 -128 ~ 127 之間 |
| byte |
System.Byte |
在 0 ~ 255 之間 |
| short |
System.Int16 |
在 -32 768 ~ 32 767 之間 |
| ushort |
System.UInt16 |
在 0 ~ 65535 之間 |
| int |
System.Int32 |
在 -2 147 483 648 ~ 2 147 483 647 之間 |
| uint |
System.UInt32 |
在 0 ~ 4 294 967 295 之間 |
| long |
System.Int64 |
在 -9 223 372 036 854 ~ 9 223 372 036 853 之間 |
| ulong |
System.UInt64 |
在 0 ~ 18 446 744 073 709 551 615 之間 |
浮 點 類 型
| 類 型 |
別 名 |
m的最小值 |
m的最大值 |
e的最小值 |
e的最大值 |
近似的最小值 |
近似的最大值 |
| float |
System.Single |
0 |
224 |
-149 |
104 |
1.5×10-45 |
3.4×1038 |
| double |
System.Double |
0 |
253 |
-1075 |
970 |
5.0×10-324 |
1.7×10308 |
| decimal |
System.Decimal |
0 |
296 |
-26 |
0 |
1.0×10-28 |
7.9×1028 |
其 它 類 型
| 類 型 |
類 別 |
允 許 的 值 |
| char |
System.Char |
一個 Unicode 字元,儲存 0 ~ 65 535 之間的整數 |
| bool |
System.Boolean |
布爾值:true或false |
| string |
System.String |
一組字元 |
算術運算子-自動類型轉換
下面代碼的輸出結果是什麼?
int a = 10, b = 3;
int mod = a % b;
double quo = a / b;
Console.WriteLine(mod);
Console.WriteLine(quo);
類型自動轉換規則
參與運算(算術運算和賦值運算)的運算元和結果類型必須一致. 當不一致時,滿足下麵條件時,系統自動完成類型轉換
兩種類型相容
例如:int 和 double 相容
目標類型大於源類型
例如:double > int
對於運算式
若一個運算元為double型,則整個運算式可提升為double型
比如前面打8.8折的練習題.
求10/3求餘數要想得到3.333的處理.
強制類型轉換
如上題中打完8.8折後出現小數,商店為了結算方便,只收使用者整數部分的錢,如本應收使用者166.78,現在只收使用者166元,應該如何做?
文法:
(資料類型名)待轉換的值;
如:
int b = (int)3.14;
強制類型轉換,資料類型一定要相相容
2.變數命名 “_ 、小寫字母 、@ ”開頭
3.逸出字元: \
\n 換行 \r 斷行符號 \b backspace \t tab \r\n相當於斷行符號
@寫在字串前表示不轉義
/* @還可以用於折行處理字串 */
/* @"""C#""好簡單" 輸出是"C#"好簡單*/
4.類型轉換
int num = int.parse("字串");
5.常量 :const
枚舉 (類型) :enum
//enum Sex{男,女}
//主函數中, 定義枚舉變數, Sex s = Sex.男;
//枚舉是int類型,輸出整形時要注意(int)s 強轉
//如果把枚舉類型轉化成一個字串:
(自己定義的枚舉)(Enum.Parse(typeof(自枚),"待轉換字串"));
即:
string str;
s = (Sex)(Enum.Parse(typeof(Sex),str));
輸出時:記住 s.ToString();