1. 註釋 不寫註釋的程式員都是耍流氓!!名字瞎起是更是土匪!!! 1. 單行文本註釋 static void Main(string[] args) { // 這是單行文本註釋,向控制台輸出一段字元串 Console.WriteLine("Hello World!"); Console.ReadL ...
不寫註釋的程式員都是耍流氓!!名字瞎起是更是土匪!!!
1. 單行文本註釋
static void Main(string[] args) { // 這是單行文本註釋,向控制台輸出一段字元串 Console.WriteLine("Hello World!"); Console.ReadLine();// 接收鍵盤輸入的一段字元串 }
2. 多行文本註釋
/** * 文本註釋分為三種 * 1. 單行文本註釋 * 2. 多行文本註釋 * 3. 文檔註釋 */ static void Main(string[] args) { /* Console.WriteLine("Hello World!"); Console.ReadLine(); */ }
3. 文檔註釋
用於對類、方法、屬性進行標註說明。
/// <summary> /// 程式的主類,CLR會自動找到此類,如果缺少Program類,程式報錯 /// </summary> class Program { /// <summary> /// 程式的主入口,程式剛運行時,CLR會自動找到此方法進行執行 /// </summary> /// <param name="args">程式在運行時,可以傳遞的參數</param> static void Main(string[] args) { Console.WriteLine("Hello World!"); Console.ReadLine(); } }
程式在編譯時,不會將註釋文本進行編譯。一般來說,註釋都是寫給程式員看的,方便別人進行閱讀。
2. VS中的常用快捷鍵
-
自動對齊格式 : Ctrl +K+D
-
撤銷: Ctrl +Z, 複製: Ctrl +C, 粘貼: Ctrl +V
-
保存: Ctrl +S
-
彈出智能提示: Ctrl +J
-
註釋所選代碼 : Ctrl +K+C
-
取消所選註釋: Ctrl +K +U
-
查看幫助文檔: F1
-
調試運行: F5
-
運行(不調試): Ctrl + F5
-
摺疊代碼:#region #EndRegion
3. 變數
人的大腦有腦記憶,可以用於存儲以前發生過的事物,同理,電腦的記憶體就相當於人的大腦,它用於存儲數據,而電腦中的變數就是就相當於現實生活發生過的一件件事一樣,保存於記憶體中。於是我們可以把變數稱為用於存儲數據的容器。
現實生活中的事物有很多種類型:
-
衣服 200 塊錢 ,整數類型
-
小明的體重是:60.3 kg, 小數類型
-
圓周率: PI ,3.1415926 , 高精度小數類型
-
性別: M,W 字元類型
-
“系統當前繁忙,請稍候再拔”, 字元串類型
-
季節:春夏秋冬,固定枚舉類型
-
生日: 1998-08-08, 時間類型
-
。。。。。。
1. 數據類型
-
變數若按範圍分類,可以分為:局部變數,全局變數
-
按成員分類:成員變數,非成員變數
-
按記憶體分配分類: 值類型變數,引用類型變數
值類型
存儲在棧記憶體區的數據稱為值類型, 繼承(派生)於System.ValueType
類,而ValueType
繼承(派生)於System.Object
, 正所謂 一切皆為object(對象)
類型 | 描述 | 範圍 | 預設值 | 全稱 |
---|---|---|---|---|
bool |
布爾值 | True 或 False | False | System.Boolean |
byte | 8 位無符號整數 | 0 到 255 | 0 | System.Byte |
char | 16 位 Unicode 字元 | U +0000 到 U +ffff | '\0' | System.Char |
decimal | 128 位精確的十進位值,28-29 有效位數 | (-7.9 x 1028 到 7.9 x 1028) / 100 到 28 | 0.0M | System.Decimal |
double | 64 位雙精度浮點型 | (+/-)5.0 x 10-324 到 (+/-)1.7 x 10308 | 0.0D | System.Double |
float | 32 位單精度浮點型 | -3.4 x 1038 到 + 3.4 x 1038 | 0.0F | System.Single |
int | 32 位有符號整數類型 | -2,147,483,648 到 2,147,483,647 | 0 | System.Int32 |
long | 64 位有符號整數類型 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 | 0L | System.Int64 |
sbyte |
8 位有符號整數類型 | -128 到 127 | 0 | System.SByte |
short | 16 位有符號整數類型 | -32,768 到 32,767 | 0 | System.Int16 |
uint |
32 位無符號整數類型 | 0 到 4,294,967,295 | 0 | System.UInt32 |
ulong |
64 位無符號整數類型 | 0 到 18,446,744,073,709,551,615 | 0 | System.UInt64 |
ushort |
16 位無符號整數類型 | 0 到 65,535 | 0 | System.UInt16 |
enum |
枚舉數列表的常量組成的特殊數據類型 | System.Enum |
||
struct |
結構體,封裝小型相關變數組,不常用 |
不常用的數據類型:sbyte,uint,ulong,ushort,struct
引用類型
繼承(派生)於 System.Object
類
存儲在堆記憶體區的數據稱為引用類型。
聲明引用類型的關鍵字:class(類), interface(介面), delegate(委托)
C# 9.0 推出了 record( 記錄) 類型.
內置引用類型:dynamic, object, string
2. 值類型的使用
bool 真假類型
bool result = false; // = 代表賦值,將false 賦值給result變數 if (result==true) { Console.WriteLine("result的值為真"); } else { Console.WriteLine("result的值為假"); } if (!result) // 相當於 result==false { Console.WriteLine("result的值為假"); } if (result) // 相當於 result==true { Console.WriteLine("result的值為真"); }
int 整形
int age = 30; // 聲明一個整數類型 Console.WriteLine("我的年齡是{0}歲",age);
long 長整形
long money = 300000L; // 長整形 ,以L結尾表示為長整形 long money2 = 30; // 30是int 類型,但money2 卻是長整形,存在隱式轉換
byte 位元組
byte age = 30; byte age2 = 20; Console.WriteLine("小明的年齡是{0},小紅的年齡是{1}",age,age2);
char 字元
char sex = '男'; char sex2 = '女'; Console.WriteLine("小明的性別是{0},小紅的性別是{1}",sex,sex2);
float 單精度小數
float price = 15.2f; // 單精度,註意要以f 或者F 結尾
double雙精度小數
double price= 3.14d; // 雙精度,註意要以d 或者D 結尾
decimal 高精度小數
decimal deciaml_pi = 3.141592614159261415926m;// 結果:3.141592614159261415926 double double_pi = 3.141592614159261415926d; // 結果:3.1415926141592614 float float_pi = 3.141592614159261415926f; // 結果:3.1415925 Console.WriteLine($"decimal小數{deciaml_pi},double 小數{double_pi},float小數:{float_pi}");
short 短整形
short money = 30; // 短整形,30是 int類型,money是short類型,存在隱式轉換
3. string 字元串
字元串是一串值不可變的字元數組。註意,是指向的值不變。
// 方式1(推薦):直接使用字元串賦值 string msg="china"; Console.WriteLine(msg); // 方式2:字元數組 string msg2 = new string(new char[]{ 'c', 'h', 'i', 'n', 'a' }); Console.WriteLine(msg2);
為什麼String指向的值不變
string msg= "china"; msg="chinese"; Console.WriteLine(msg); // 輸出結果 chinese,不是說好的值不變麽?
從上圖中可以看出, msg
存在棧記憶體中,字元串是引用類型,值存儲於堆記憶體中。剛 開始msg
指向“china” 這個字元串,後來重新賦值後, msg
被重新指向新的記憶體地址,也就是“chinese
”。
並不是值被修改了,而是msg
指向的記憶體地址變了而已
4. 變數命名規範
-
所有命名必須有意義
-
本地變數命名第一個字母小寫,其他單詞首字母大寫:id,
firstName
, 我們稱之為 Camel 命名法(小駝峰命名法) -
變數只能是 "_" 下劃線, 數字 ,字母組成,並且只能是下劃線或者字母開頭,不能是關鍵字或者保留字
5. C# 中的關鍵字
6. 常量
常量是在編譯時設置其值並且永遠不能更改其值的欄位。 使用常量可以為特殊值提供有意義的名稱,而不是數字文本(“幻數”)。
在 C# 中,常量不能被static 修飾,如:
public static const string SITE_NAME = "任我行網路科技";
則是錯誤的定義格式。
若要定義整型類型(int
、byte
等)的常量值,請使用枚舉類型。 有關詳細信息,請參閱
class Program { public const double PI = 3.14159; public const int PRICE_OF_GOLD = 380; // 金價 public const string SITE_NAME = "任我行網路科技"; static void Main() { double radius = 5.3; double area = PI * (radius * radius); int totalPrice = 3 * PRICE_OF_GOLD; Console.WriteLine(totalPrice); Console.WriteLine(area); } }
常量命名規範
全大寫,如果遇到多個單詞,則中間以“_” 隔開,如:PRICE_OF_GOLD
7. 作業
-
VS中常用的快捷鍵有哪些
-
文檔註釋可以作用在哪些地方
-
屬於整形的類型有哪些?
-
值類型與引用類型的區別是什麼?
-
判斷題, 以下哪些變數的命名以及表達式是正確的
int _a = 100; double b = 10.2; int 2a= 10; int a2 = 10; int b$=20; float c = 20.5; decimal c2 = 20.5; short d = 128; short d_2 = 10; long e = 20 ; long e2 = 20.2; string s = 'hello'; char ch = 'world';
視頻教程:
譽尚學教育_譽尚學教育騰訊課堂官網 (qq.com)
或者:C# 最強入門編程(.Net 學習系列開山巨作)_嗶哩嗶哩_bilibili