第一部分 瞭解C#數組
C#是微軟公司在2000年7月發佈的一種全新且簡單、安全、面向對象的程序設計語言,是專門爲.NET的應用而開發的。體現了當今最新的程序設計技術的功能和精華。.NET框架爲C#提供了一個強大的、易用的、邏輯結構一致的設計環境。其特色:安全
第二部分 C#語言基礎;服務器
1、C#項目的組成結構;框架
一、項目後綴函數
.config——配置文件(存放配置參數文件)工具
.csproj——項目文件(管理文件項)ui
.sln——解決方案文件(管理項目)spa
.cs——源文件(程序代碼).net
注:後綴不一樣表明文件類型也不一樣,這些文件後綴類型會在「解決方案資源管理器」中看到。設計
二、函數的四要素:名稱,輸入,輸出,加工。
三、主函數,輸出語句,輸入語句:
//命名空間
namespace ConsoleApplication1
{//類
class Program
{
//程序的入口
static void Main(string[] args)
{
//輸出語句,打印不換行
Console.Write("這是個人第一個C#程序!");
//輸出語句,打印完成換行
Console.WriteLine("Hello world!");
//輸入語句,等待直到接收到回車命令爲止,獲取一整行內容
//一個等號表示賦值號
string s = Console.ReadLine();
Console.WriteLine(s);
Console.ReadLine();
}
}
}
注意:●輸出:
Console.WriteLine("這是個人第一個程序。");
Console.WriteLine("這是第二行代碼。");
Console.Write("這是要輸出的文字。");注意:沒有換行
注意:
1.大小寫敏感;
2.全部的符號全都用英文;
3.不要漏掉;。
●輸入:
string s = Console.ReadLine();
//這句話的意思是從控制檯程序讀取一整行內容放到s這個容器裏面
Console.WriteLine("你剛剛輸入的是:"+s);
string -字符串類型
s -變量名
= -賦值
Console.ReadLine(); - 從控制檯程序讀取一整行
四、快捷鍵的使用
● Alt + →提示,須要執行程序時點擊啓動或Ctrl+F5;
● ctrl + K(ctrl + E), 而後按ctrl + C,註釋本行(軟件工具欄中有快捷圖標);
● ctrl + K(ctrl + E), 而後按ctrl + U,取消註釋(軟件工具欄中有快捷圖標);
● Shift + delete,一刪刪一行;
● Ctrl + X,剪切一行;Ctrl + Z,回覆;
● Ctrl + Shift + Space,將光標放在方法函數括號裏面時使用,顯示重載
五、注意事項
(1)、註釋和[取消註釋]:
● 選中相應的行,點擊工具欄中的註釋選中行[取消註釋選中行];
● 選中相應的行,使用快捷鍵:Ctrl+K Ctrl+C [Ctrl+K Ctrl+U]
● 手動註釋:在不要的行前面加//(註釋一整行)
● 註釋其中一段代碼:/*這裏面是代碼 */
● 註釋的做用://這兩行是輸出的功能
技巧:
● 寫的代碼儘可能使用智能感知功能;
● 先寫整體,再完善細節;
● 自動完成單詞功能。Alt+→
例如:/*表示註釋一段內容
Console.Write("請輸入你的姓名:");
string name = Console.ReadLine();
Console.Write("請輸入你的年齡:");
string age = Console.ReadLine();
Console.Write("\n");
//第一種方式
//Console.WriteLine("你的姓名是"+name+",今年"+age+"歲了。");*/
//加號在遇到string類型的時候表示拼接
//第二種方式
//Console.WriteLine("你的姓名是{0},今年{1}歲了。",name,age);
//Console.ReadLine();
(2)、在一行聲明相同類型的多個變量之間用逗號分開。
例:int a, b;//聲明變量類型,用逗號隔開
(3)、同一語句中,不能對同一個變量名聲明成同一類型兩次。
例:int a = 4; int a = 5;//錯誤
綜上練習題:案例:輸入姓名,年齡,單位,
整合成一個流暢的句子顯示出來。
主要程序:Console.Write ("請輸入你的姓名:");
string name = Console.ReadLine();
Console.Write("請輸入你的年齡:");
string age = Console.ReadLine();
Console.Write("請輸入你的單位:");
string danwei = Console.ReadLine();
Console.WriteLine("你的姓名是"+a+",今年"+b+"歲了,在"+c+"實訓");
Console.ReadLine();
"你的名字是***,今年**歲了,在**實訓。"將a,b,c代入***。
"你的名字是"+a+",今年"+b+"歲了,在"+c+"實訓。"
2、數據類型
大類 |
小類 |
C#語言 |
.net語言(通用語言) |
說明 |
大小(字節) |
值區間 |
基本數據類型(值類型) |
整型 |
sbyte |
SByte |
8位有符號整數 |
1 |
-128~127(負的2的7次方~正的2的7次方減1) |
short |
Int16 |
16位有符號整數 |
2 |
-32768~32767(負的2的15次方~正的2的15次方減1) |
||
int |
Int32 |
32位有符號整數 |
3 |
(負的2的31次方~正的2的31次方減1) |
||
long |
Int64 |
64位有符號整數 |
4 |
(負的2的63次方~正的2的63次方減1) |
||
byte |
Byte |
8位無符號整數 |
1 |
0~255 (0~2的8次方減1) |
||
ushort |
UInt16 |
16位無符號整數 |
2 |
(0~2的16次方減1) |
||
uint |
UInt32 |
32位無符號整數 |
3 |
(0~2的32次方減1) |
||
ulong |
UInt64 |
64位無符號整數 |
4 |
(0~2的64次方減1) |
||
浮點型 |
float |
Single |
32位單精度浮點數 |
4 |
1.5 × 10−45 到 3.4 × 1038 |
|
double |
Double |
64位雙精度浮點數 |
8 |
5.0 × 10−324 到 1.7 × 10308 |
||
decimal |
Decimal |
128精確浮點數 |
16 |
1.0 × 10−28 到大約 7.9 × 1028 |
||
字符型 |
char |
Char |
16位Unicode字符,放在''裏的是字符 |
2 |
任意字符 |
|
布爾型 |
bool |
Boolean |
表示true或者false |
1 |
True或Flase |
|
日期時間 |
datetime |
DateTime |
||||
結構體 |
struct |
Struct |
||||
枚舉類型 |
enum |
Enum |
||||
引用類型 |
字符串類型 |
string |
String |
字符序列 |
||
類 |
||||||
數組 |
||||||
集合 |
一、基本數據類型:值類型
⑴、整數類型:int(最經常使用)
int a = 2;
⑵、浮點型:double(最經常使用)是C#默認小數類型,float用需加後綴f,decimal用需加後綴m。
double b = 3.14;
a = (int)b;
float c = 3.14f;
decimal d = 3.14m;
⑶、布爾型:用於判斷,只容許放TRUE或者FALSE。
bool e = false;
e = true;
二、引用類型:字符串型string,長度較長,定義時用雙引號。
string ss = "Hello world!";
Console.WriteLine(e);
三、類類型
object 全部其餘類型的最終基類
四、接口類型:interface
3、C#轉義字符
\’ 單引號 \」 雙引號 \\ 反斜槓 \0 空
\a 警告(產生峯鳴) \b 退格 \f 換頁 \n 換行
\r 回車 \t 水平製表符 \v 垂直製表符
4、變量、常量
一、變量名的命名規則:
●變量名組成:字母,數字,下劃線,@,漢字。
●首字母只能用字母,下劃線,@,漢字
●不能與關鍵字重名
二、變量的定義:
數據類型 變量名 [=值]; //[]內的值能夠不寫
例子:int a=1;
注意:int a, b;//聲明變量類型,用逗號隔開
int a = 4; int a = 5;//錯誤
三、常量:只可以取值,不能從新賦值
const int f = 5;
f = 7;錯誤,不能從新賦值
四、變量名前加關鍵字(不能賦值,只能取值):const
例子:const int a=1;
5、基本的類型轉換
一、自動轉換(隱式轉換)--從值類型轉換到引用類型時候
二、強制轉換(顯式轉換)--從引用類型轉換到值類型時候,或者從浮點型轉換到整形
當從一個引用類型轉換到值類型時,必須引用類型中的數據元素,可以轉換成值類型的容量範圍內的數據才行,不然不能轉。
⑴、用(),注:在被轉換的數據左邊加上小括號:(要被轉換成的數據類型);
例子:int a;double b=12.3;a=(int)b;
⑵、用convert;
例子: int a; float c; double b=12.3;
a=convert.ToInt32(b);
c=convert.Tosingle(b);
⑶、用parse,經常使用;
例子: int a; double b=12.3;
a=int.parse(b);
注:int a = 2;
string s = a.ToString();
例子:輸入三個數,求它們的和、差、積、商。
Console.WriteLine("請輸入a=");
double a = double.Parse(Console.ReadLine());
Console.WriteLine("請輸入b=");
double b = double.Parse(Console.ReadLine());
Console.WriteLine("兩個數的和爲{0},兩個數的差爲{1},兩個數的乘積爲{2},兩個數的商爲{3}",a+b,a-b,a*b,a/b);
Console.ReadLine();
6、運算符
分類 |
符號 |
解釋 |
優先級 |
算數 |
++ -- |
加加 減減 |
由高到低,即執行順序由上到下.(圓括號的優先級最高) |
*/% |
乘 除 取餘 |
||
+ - |
加 減 |
||
關係 |
> < >= <= |
大於 小於 大於等於 小於等於 |
|
== != |
等於 不等於 |
||
邏輯 |
&& |
與(而且) |
|
|| |
或 |
||
! |
非(注:優先級在此表的最頂層) |
||
條件運算符 |
?: |
唯一的一個三元運算符 若是 |
|
賦值 |
= += -= *= /= %= |
如:x-=4.即x=x-4; |
一、算數運算符:
⑴、+ -
int a = 2; int b = 5;
Console.WriteLine(a+b)
⑵* / %
int a = 10 % 3;
Console.WriteLine(a);
Console.ReadLine();
注意:
●作除法運算的時候,若是兩個操做都是整數,則運算以後的結果也是整數。
●作算數運算的時候,若是兩個被操做的數不是同一類型,則會在運算的時候會自動進行類型轉換。
備註:% 模 取餘的用途
●判斷a是否是b的倍數(是否可以整除)====>a%b是否==0
●判斷a的個位是否是b====>a%10是否==b
●把數變成某個範圍以內的數(利用餘數必定比除數小的定理,好比十六進制裏面最大的單個數是F(15))
⑶、++ --
int a =5;
int b= a++; ====>能夠寫成int b =a; a = a+1;
int c = ++a;====>能夠寫成a = a+1; int c =a;
運算出來的結果就是
b = 5;
c = 7;
注意:●++ --這兩種運算只能應用於變量(5++是不對的!!常量也是不可使用的!!)
●前++和後++的區別:加加在前,先運算再賦值;加加在後,先賦值再運算。
int a = 5;
int b = a++;//int b=a;a=a+1;
int c = ++a;//a=a+1;int c=a;
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.ReadLine();
二、關係運算符:
== != > < >= <=
關係運算符運算結果通通是bool型(結果不是Ture就是False)
int a = 5;
int b = 6;
Console.WriteLine(a == b); ====>False
Console.WriteLine(a != b); ====>True
Console.WriteLine(a > b); ====>False
Console.WriteLine(a < b); ====>True
Console.WriteLine(a >= b); ====>False
Console.WriteLine(a <= b); ====>True
注意:== 不能寫成 =(一個=是賦值的意思)
三、邏輯運算符:
⑴、&&====>兩個條件都成立,結果爲True,不然False
bool a = 3 > 2 && 3 < 7;//true
⑵、||====>兩個條件只要有一個成立,結果爲True,兩個都不成立爲False
bool b = 5 > 3 || 5 > 7;//true
⑶、!====>將原來的結果取相反的(若原本爲True,取反就是False)
bool c = !(5 > 3) || 5 > 7;//false
Console.WriteLine(c);
Console.ReadLine();
四、其餘運算
= ====>賦值運算,將後面的值賦給左側的變量。(注意:只能是變量)
+= -= *= /= %= ====>複合運算符(例:a += b;(意思是a = a +b;))
int a = 6;
a += 7;//a=a+7;
a *= 2;//a=a*2;
a %= 4;//a=a%4;
Console.WriteLine(a);
Console.ReadLine();
五、條件運算符:?
例題1:老狼老狼幾點了? 如果上午出現am,下午出現pm,如果下午,須要報時的時候減去12。
Console.Write("老狼老狼幾點了?");
int time = int.Parse( Console.ReadLine());
string s = time > 12 ? (time-12)+"pm" : time+"am";
Console.WriteLine(s);
Console.ReadLine();
例題2:鍵盤鍵入三個數,找出來最大的數。
Console.Write("輸入一個a值");
double a = double.Parse(Console.ReadLine());
Console.Write("輸入一個b值");
double b = double.Parse(Console.ReadLine());
Console.Write("輸入一個c值");
double c = double.Parse(Console.ReadLine());
//double d =a>b ? a:b;
//double e = d > c ? d : c;
double e = (a > b ? a : b) > c ? (a > b ? a : b) : c;
Console.WriteLine("最大的數是"+e);
Console.ReadLine();