一、變量
1、變量的聲明
變量的聲明有三種方法
1 、先聲明,后賦值。 例: int age; age = 28;
2、定義變量時,直接賦值。例: int age = 28;
3、一次同時聲明多個同類型的變量,變量之間用逗號隔開。例:int a = 1,b,c,d = 4;
注意:變量一定要先聲明、后賦值、然后再使用(取值、或者調(diào)用或?qū)懀?
2、變量的命名
就是給變量取名字,變量命名規(guī)則:
1、必須以“字母”_或@符號開頭(第一個字不能以數(shù)字開頭);
2、后面可以跟任意“字母”、數(shù)字、下劃線。
注意:
1、在C#中,是區(qū)分大小寫的,變量名不要與C#系統(tǒng)中的關(guān)鍵字重復(fù)(比如
在編寫代碼時變藍(lán)色的字不能用)且不能重復(fù)定義。
2、變量需用有意義的名稱且不宜太長,盡量精簡,便于人機(jī)交互、團(tuán)隊合作。
3、為保證美觀及可讀性,我們命名類和方法時使用Pascal(帕斯卡)樣式(首字母大寫),
命名變量使用Camel(駱駝)樣式(如:printEmployeePaychecks)。
3、變量的作用域
簡單來說,變量的作用域就是指變量可以使用的代碼范圍。
所以就可以分成:全局變量、局部變量。
C#:在變量之間有一個基本的區(qū)分,把聲明為類型級的變量看作是字段,而把在方法中聲明的變量看作局部變量。
1、全局變量
在類里定義(非方法里)的變量,那么在這個類中都可以使用?;蛘咭部梢苑Q做屬于類里面的局部變量。
2、局部變量
在方法中定義的變量,這個變量一旦出了這個方法,就不能調(diào)用了。
3、修飾符
現(xiàn)在暫時學(xué)到的是:訪問修飾符:public 、private、 protected、 internal、 protected internal。
- public
public 關(guān)鍵字是類型和類型成員的訪問修飾符。公共訪問是允許的最高訪問級別。對訪問公共成員沒有限制
- private
private 關(guān)鍵字是一個成員訪問修飾符。私有訪問是允許的最低訪問級別。
私有成員只有在聲明它們的類和結(jié)構(gòu)體中才是可訪問的。
- protected
protected 關(guān)鍵字是一個成員訪問修飾符。受保護(hù)成員在其所在的類中可由派生類實例訪問。
特別注意:要派生類的實例才訪問得到。
- internal
internal 關(guān)鍵字是類型和類型成員的訪問修飾符。只在同一程序集的文件中,內(nèi)部類型或成員才是可訪問的。
- protected internal
訪問僅限于從包含類派生的當(dāng)前程序集或類型??梢钥闯墒莗rotected 和internal的訪問權(quán)限之與(&&)。
練習(xí)小程序:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace class_diannao
{
class Program : Computer
{
static void Main(string[] args)
{
Computer c = new Computer();
Program p = new Program();
float f1 = p.protectedprice;
//調(diào)用public聲明的變量;
Console.WriteLine("public電腦的價格是:" + c.publicprice);
//用Getprice()方法調(diào)用private聲明的變量;
Console.WriteLine("private電腦價格是:" + c.Getprice());
//調(diào)用protected聲明的變量;
Console.WriteLine("protected電腦價格是:" + f1);
//調(diào)用internal聲明的變量;
Console.WriteLine("protected電腦價格是:" + c.internalprice );
Console.ReadKey();
}
}
public class Computer
{
private float privateprice = 8799.99F;
public float publicprice = 9899F;
protected float protectedprice = 5699F;
internal float internalprice = 4599F;
public float Getprice()
{
return privateprice;
}
}
}
二、屏幕的輸入輸出
- 打印輸出
Console.Write(" 輸出的內(nèi)容 ");
Console.WriteLine(" 輸出的內(nèi)容");
- 輸入
Console.ReadLine();
Console.ReadKey();
三、數(shù)據(jù)類型
1、值類型
基于值類型的變量直接包含值。將一個值類型變量賦給另一個值類型變量時,將復(fù)制包含的值。
這與引用類型變量的賦值不同,引用類型變量的賦值只復(fù)制對對象的引用,而不復(fù)制對象本身。
| 值類型 | 簡單介紹補充 |
|---|---|
| bool | 存儲 布爾值 true 和 false |
| byte | 表示一種整型,范圍:0 到 255 |
| sbyte | 表示一種整型,范圍:-128 到 127 |
| int | 表示一種整型,范圍:-2,147,483,648 到 2,147,483,647 |
| uint | 表示一種整型,范圍:0 到 4,294,967,295 |
| short | 表示一種整型,范圍:-32,768 到 32,767 |
| ushort | 表示一種整型,范圍:0 到 65,535 |
| long | 表示一種整型,范圍:-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
| ulong | 表示一種整型,范圍:0 到 18,446,744,073,709,551,615 |
| float | 表示存儲 32 位浮點值的簡單類型,范圍:±1.5 × 10^-45 到 ±3.4 × 10^38,如:float a=5.2F |
| double | 表示存儲 64 位浮點值的簡單類型,±5.0 × 10^-324 到 ±1.7 × 10^308 |
| decimal | 表示 128 位數(shù)據(jù)類型,具有更高的精度和更小的范圍,這使它適合于財務(wù)和貨幣計算。如:decimal a=5.2M |
| char | 聲明 U+0000 到 U+ffff 范圍內(nèi)的 Unicode 字符,注意:轉(zhuǎn)義字符 |
| string | 表示零或更多 Unicode 字符組成的序列,是引用類型,但在相等運算符(== 和 !=)中是比較的值 |
| enum | 聲明枚舉,即一種由一組稱為枚舉數(shù)列表的命名常量組成的獨特類型 |
| struct | 是一種值類型,通常用來封裝小型相關(guān)變量組。現(xiàn)在struct和class的功能很相似。一般的,你覺得你要做的更像是一種數(shù)據(jù)結(jié)構(gòu)的話,那么用struct,如果你要做的更像是一種對象的話,那么用class來定義 |
2、引用類型 (后面更新)
四、類型轉(zhuǎn)換
1、同一類型轉(zhuǎn)換
- 隱式轉(zhuǎn)換
由于該轉(zhuǎn)換是一種安全類型的轉(zhuǎn)換,不會導(dǎo)致數(shù)據(jù)丟失,因此不需要任何特殊的語法。
例如,從較小整數(shù)類型到較大整數(shù)類型的轉(zhuǎn)換以及從派生類到基類的轉(zhuǎn)換都是這樣的轉(zhuǎn)換。
- 顯式轉(zhuǎn)換(強制轉(zhuǎn)換)
顯式轉(zhuǎn)換需要強制轉(zhuǎn)換運算符。源變量和目標(biāo)變量兼容,
但由于目標(biāo)變量的類型大小比源變量?。ɑ蛘吣繕?biāo)變量是源變量的一個基類),因此存在數(shù)據(jù)丟失的風(fēng)險。
2、不同類型轉(zhuǎn)換:Convert
可以實現(xiàn)基本數(shù)據(jù)類型的轉(zhuǎn)換,其中支持的轉(zhuǎn)化類型有:Boolean、Char、SByte、Byte、Int16、Int32、Int64、UInt16、UInt32、UInt64、Single、Double、Decimal、DateTime 和 String
| 方法 | 說明 |
|---|---|
| Convert.ToInt32() | 轉(zhuǎn)換為整型(int) |
| Convert.ToChar() | 轉(zhuǎn)換為字符型(char) |
| Convert.ToString() | 轉(zhuǎn)換為字符串型(string) |
| Convert.ToDateTime() | 轉(zhuǎn)換為日期型(datetime) |
| Convert.ToDouble() | 轉(zhuǎn)換為雙精度浮點型(double) |
| Convert.ToSingle() | 轉(zhuǎn)換為單精度浮點型(float) |
練習(xí)小程序:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace convert
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("請輸入任意一個整數(shù)數(shù)字:");
int a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("請再輸入一個任意數(shù)字,可以有小數(shù)為:");
double b = Convert.ToDouble(Console.ReadLine());
double c = a + b; //隱式轉(zhuǎn)換;
int d = (int)(a + b); //顯式轉(zhuǎn)換;
Console.WriteLine("你輸入的兩數(shù)之和是:"+c + '\n');
Console.WriteLine("轉(zhuǎn)換成整數(shù)是:" + d);
// 不同類型轉(zhuǎn)換;
Console.WriteLine("轉(zhuǎn)換成字符是:{0} ", Convert.ToChar(d%127));
Console.WriteLine("轉(zhuǎn)換成字符串是:{0} ",Convert.ToString(c));
Console.WriteLine
("轉(zhuǎn)換成時間是:"+d+"秒="+(d/3600)+"小時"+(d%3600/60)+"分"+(d%60)+"秒");
Console.ReadKey();
}
}
}