內存:用戶存儲正在運行的程序數據RAM(隨即存儲器)斷電后里面的數據丟失
變量代表這一塊內存空間,我們可以通過變量名稱向內存存/取數據.有變量就不需要我們記憶復雜的內存地址了.
先向計算機申請一塊內存空間, 考慮往內存放的數據的類型
向內存申請一塊內存空間的語法:
數據類型變量名;
整數在我們C#中的數據類型叫int
int number://申請開辟一塊內存空間 =(符值預算符)
number=1000 //把1000放到number中
Console.WriteLine(number); //不加引號是顯示number中的數值加引號是原封不動的輸出number
Console.ReadKey();
C#中的其他數據類型
double 小數
decimal常用於財務上的
C#中常用的數據類型
Int: 3 5 100 -10整數
double:3.14 10.5 -3.14 -5.0小數
char: ‘A’‘B’‘C’字符型只能存儲一個字符並且要求存儲的這個字符要求用單引號引起來
string: “Zhangsan”“李四”“計算機”“HelloWorld””字符串類型,就是把0個或1個或多個字符連接起來,字符串要求用雙引號引起
decimal:存儲金錢 5.62
在C#開發環境中,直接寫一個小數是double類型的,在一個小數后面加一個m/M,就告訴編譯器是一個decimal類型
decimal d=5.55m;
decimal和double 范圍不一樣精度(有效位)不一樣
變量的聲明的三種方法
1 先聲明,后符值int a;a=3;
2定義變量時,直接符值int a=3;
3一次聲明多個同類型變量,多個變量名稱之間用逗號隔開,最后已分號結束
String zsname,李四name,;
Intzsage=18,lsage=20;
變量一定要先聲明、后賦值、最后使用(取值、或者調用或寫)
變量的命名的規則
1必須以“字母”_或@符號開頭(第一個字不能以數字開頭)
2后面可以跟任意“字母”、數字、下划線
注意:
1、你起的變量名不要與C#系統中的關鍵字重復(變藍色的字不能用)
2、在C#中,大小寫是敏感的
3、同一個變量名不能重復定義,可以重復賦值
在方法中定義變量,要使用Camel命名法。(首字母小寫,其余單詞首字母大寫studentName,只有一個單詞的話都是小寫,寫在main方法中的命名都用Camel命名法)
如果涉及到英文縮寫時全部用大寫
Pascal命名規范:每一個單詞第一個字母都大寫
在方法中定義變量,要使用Camel命名法。Main方法也是
變量可以重復賦值,一旦給一個變量賦值了新值,那么變量中的老值就不復存在了(覆蓋原有的值)
“+”在C#中有兩種意義:
1) 是數學中的加法的運算;兩邊參與加法運算的數據類型為數字類型,則“+”表示數學上的加法意義。
2) 是連接的意思;如果兩邊參與加號運算的數據,有一個是字符類型,那么加號另一邊就會隱式轉換為字符串類型,那么這個“+”就是連接的意義。
在Console.WriteLine(“”)中,第一個變量或字符串中,可以使用占位符。
占位符由{數字}組成,數字由0開始編號,第一個占位符{0},第二個占位符{1},第三個占位符{2}
Console.WriteLine(“我叫{0},今年{1}歲了,我的工資是{2}元”,name,age,salary);
0永遠取的后面第一個變量,1永遠取的后面第二個變量
用逗號分隔的是參數
Console.WriteLine();有多個參數時,輸出的都是第一個參數中的內容,從第二個參數開始,都是用來替換第一個參數中的占位符的值,所以從第二個參數開始,要不要輸出,就要看第一個參數中有沒有占位符。
在Console.WriteLine中若使用占位符就不需要加“引號”,如果要直接輸入變量把要直接顯示的參數當作一個字符串並且用加號連接。變量不需要加“引號“,如果開頭是一個變量開頭也不用”引號“。
電話號碼的類型一般用 string,一般不用int或long,一般需要運算的時候才用數值的類型手機的型號一般也用string
兩個值得交換要借助第三方的一個臨時變量,不能直接交換,例如:
A=10,B=5使A=5,B=10
Temp=A
A=B
B=Temp
如果直接寫A=5,B=10的話是重新賦值而不是交換
再學習一句話
Console.ReadLine();
用於讓用戶從鍵盤上輸入一句話,當程序執行到下面這句話,就會暫停,然后等待用戶從鍵盤上輸入一句,按回車程序將繼續執行。
只要讓用戶輸入的就是字符串,哪怕是數字
如果想得到用戶輸入的內容,就需要定義一個srting類型的變量,寫在下面這句話前面,接收用戶輸入的內容
Console.ReadLine();
String input=console.ReadLine();
轉義字符:
什么時候用,當我們需要在字符串中輸入一些特殊字符串中輸入一些特殊字符時,比如:半角引號,換行,退格,就需要使用轉義字符。
轉義字符是一個字符,他由一個\加一個字母來組成具有特殊意義的一個字符。在前面加
常用的轉義字符
\”
\n表示換行
\b backspace退格
\t tab鍵由多個空格組成的一個字符,具有行與行之間的對齊功能(用於上下數字對齊,由於上下數字位數不一樣用空格對不齊,用Tab就可以解決8)
\\ 在需要輸入\ 兩個表示一個\ 第一個是轉義第二個是輸出的
@表示里面的\不在轉義@在引號前加
1字符串中如果有\,則不再理解為轉義符
2使字符串可以換行
如果輸入了@還需要輸入引號的時候,兩個引號表示一個
算術運算符及算術表達式
算術運算符:+-*/%(取余數取模)
算術表達式:由算術運算符連接起來的式子,如1+1 a-b(變量ab前面已聲明並賦初值)
算術優先級:先乘除后加減,有括號先算括號內的,相同級別的從左到右運算。
要求:參與的兩個操作數的類型必須相同,並且經過運算后的結果也與操作數的類型相同。
為什么int類型乘以double類型結果是double類型??????
在算術表達式中,如果要改變計算機的優先級,用小括號,必須成對出現
Int a=10, b=3;
Int mod=a%b; //a%b取余數=1
Double quo=a/b;
Console.WriteLine(mod);
Console.WriteLine(quo);
類型自動轉換規則
發生自動轉換(隱式轉換)的條件:
1) 參與運算的兩個數據類型必須相兼容,,例如兩邊都是數字,
2) 必須一邊的數據類型表示范圍小,一邊的范圍大,並且把曉得轉向大的不丟失精度。
有效位小的向有效位大的轉沒有問題,反之不行。(在隱式轉換的時候最基本的是不丟失精度(有效位))
在自動轉換中,轉換是不會丟失精度的.如果丟失精度這個轉換肯定不會自動完成經常見到的就是,參與運算的兩個操作數,一個是int,一個是double,那么int類型會自動轉換成double int>>>double
如果一個式子當中有個double類型,整個式子就被提升為double類型.
強制類型轉換
只能相容的轉換,數字轉數字
語法:
當需要丟失精度的轉換時(如從double3.14到int3的轉換,會丟失0.14的精度),系統是不會幫我們自動轉換的,需要我的的程序員來寫代碼完成轉換
轉換的語法為: (數據類型名)待轉換的值
Int a=(int)3.14
輸出為3
把字符串轉換成數字(整數)類型
Int變量名=Convert.ToInt32(待轉換的字符)
把字符串轉換成數字(小數)類型
double 變量名=Convert.Todouble(待轉換的字符)
把待轉字符串轉換成int類型后賦給變量
Int a=10,b=3 cw(a.Tostring()+b) 要把數字直接變成字符串類型可以加.Tostring()