VR開發(fā)入門教程6:C#數(shù)據(jù)類型
來源:
奇酷教育 發(fā)表于:
一、電腦是有什么存儲(chǔ)所使用的數(shù)據(jù)?在之前聽說咱們的電腦里面的數(shù)據(jù)都是010101 組成的。運(yùn)行時(shí)候的數(shù)據(jù)存在內(nèi)存中:他有個(gè)判斷標(biāo)準(zhǔn)就是當(dāng)
一、電腦是有什么存儲(chǔ)所使用的數(shù)據(jù)?
在之前聽說咱們的電腦里面的數(shù)據(jù)都是010101 組成的。
運(yùn)行時(shí)候的數(shù)據(jù)存在內(nèi)存中:
他有個(gè)判斷標(biāo)準(zhǔn)就是當(dāng)你的電腦關(guān)閉后 數(shù)據(jù)就不存在了。
固定文件存在硬盤中:
他的判斷標(biāo)準(zhǔn)是當(dāng)電腦關(guān)閉第二次打開數(shù)據(jù)還在,如你的word ppt psd 和你存取的各種小電影文件。
在現(xiàn)實(shí)生活中的數(shù)據(jù)各種各樣,整數(shù)、小數(shù)、字符串、字符等等,它們都類型是不一樣的,所以你要想在計(jì)算機(jī)中使用這些類型,就必須在內(nèi)存中為它申請(qǐng)一塊合適的空間。
如下圖
那有哪些數(shù)據(jù)類型是C#能使用的呢?我們一起來看一看.
二、 基本數(shù)據(jù)類型有哪些?
先看看C# 中的數(shù)據(jù)類型
咱們先學(xué)習(xí)里面的基本數(shù)據(jù)類型整型 C#有8個(gè)預(yù)定義的整數(shù)類型。
名稱 說明
sbyte 8位有符號(hào)整數(shù)
byte 8位無符號(hào)整數(shù)
short 16位有符號(hào)整數(shù)
ushort 16位無符號(hào)整數(shù)
int 32位有符號(hào)整數(shù)
uint 32位無符號(hào)整數(shù)
long 64位有符號(hào)整數(shù)
ulong 64位無符號(hào)整數(shù)
對(duì)于程序中出現(xiàn)的數(shù)字字面值,如果什么符號(hào)都不帶,那么默認(rèn)就是int類型的值。如果后面加UL、L、U等后綴,就說明是ulong、long、uint類型的字面值。后綴也可以是小寫字母,但是由于小寫字母l容易和數(shù)字1混淆,所以最好還是使用大寫字母。對(duì)于所有的整型,還可以添加0x前綴表示16進(jìn)制數(shù)。
//定義一個(gè)int變量并賦值為十六進(jìn)制10(A)
int i = 0XA;
//定義一個(gè)uint變量并賦值為1000
//后綴U表示uint類型字面值
uint ui = 1000U;
//定義一個(gè)long變量并賦值1000
//后綴L表示long類型字面值
long l = 1000L;
//定義一個(gè)ulong變量
//后綴UL表示ulong類型字面值
ulong ul = 1000UL;
浮點(diǎn)類型
類型| 說明| 位數(shù) ---|---|--- float| 32位單精度浮點(diǎn)數(shù)| 7 double| 64位雙精度浮點(diǎn)數(shù)| 15/16。
程序中的小數(shù)默認(rèn)為double 對(duì)于一個(gè)浮點(diǎn)數(shù),沒有后綴默認(rèn)是double型的,如果有F后綴則認(rèn)為是float型的。
//定義一個(gè)float變量
//后綴F表示float類型字面值
float f = 5.0F;
//定義一個(gè)double變量
//無后綴默認(rèn)是double類型字面值
double d = 5.0;
bool類型
bool類型只有兩種取值,true或者false。該類型用于進(jìn)行條件真假的判斷,不能轉(zhuǎn)換到其它類型。
bool condition=true;
condition=false;
char類型
char類型使用單引號(hào)'括起來,表示一個(gè)16位的Unicode字符。雖然它和byte能表示的范圍一樣,但是C#編譯器仍然認(rèn)為這是兩個(gè)不同的類型,不能直接進(jìn)行隱式轉(zhuǎn)換。除此之外,char類型還可以用4位十六進(jìn)制的Unicode值(如’\u0041’)、轉(zhuǎn)換為char類型的數(shù)字(如(char)65)或者十六進(jìn)制數(shù)(如’\x0041’)來表示。另外,char類型還可以表示轉(zhuǎn)義序列。
//定義一個(gè)char變量
//值為單個(gè)Unicode(UTF-16)字符
//可以是轉(zhuǎn)義字符或者其他可以轉(zhuǎn)換為
//字符的值
char c = 'a';
c = '\n';
//Unicode字符序列
c = '\u0041';
//16進(jìn)制數(shù)
c = '\x0041';轉(zhuǎn)義序列 字符
\’ 單引號(hào)
\” 雙引號(hào)
\ 反斜杠
\0 空
\a 警告
\b 退格
\f 幻夜
\n 換行
\r 回車
\t 水平制表符
\v 垂直制表符
預(yù)定義的引用類型
以上所有類型都是值類型,除此之外,在C#中還有兩種預(yù)定義的引用類型,object和string。object類是所有類型的基類,包括所有的基本的值類型、結(jié)構(gòu)和類類型。而string是不可變字符串類。
三、 如何聲明變量和賦值
1、變量的定義:是指在程序的運(yùn)行過程中隨時(shí)可以發(fā)生變化的量
2、上面我們提到,變量在運(yùn)行時(shí)當(dāng)中是存在內(nèi)存當(dāng)中的,它是一個(gè)臨時(shí)的存放場所。
那么在內(nèi)存當(dāng)中,可以存放如數(shù)字、字符串、日期等等各種類型的數(shù)據(jù)。
簡單的來說,變量就是表示內(nèi)存當(dāng)中的一塊存儲(chǔ)區(qū)域。
它會(huì)對(duì)應(yīng)一個(gè)唯一的內(nèi)存地址,但是我們?cè)谑褂贸绦虍?dāng)時(shí)候,內(nèi)存地址不好理解也不好記憶。
那么怎么辦呢?
在日常生活當(dāng)中我們都有一個(gè)名字,如"張三“、”李四“等,這些名字就是為了便于記憶(也就是 這里的 i j k)。
那么同樣,在程序當(dāng)中,為了區(qū)別多個(gè)變量,那就需要為每個(gè)變量賦值一個(gè)簡短,便于記憶的名字,
這就是變量名。
3. C#中的變量的命名是是有規(guī)則的:之前也寫過,咱們復(fù)習(xí)下
1)、由字母、數(shù)字或下劃線"_"組成2)、必須由字母或下劃線"_"開頭,不能以數(shù)字開頭
3)、不能是c#中的關(guān)鍵字 如:int、string、bool、Main、class等
4)、區(qū)分大小寫如:小寫的a 和 大寫的A 是兩個(gè)變量
4、做為一個(gè)比較好的學(xué)習(xí)者,就必須遵守一些變量命名規(guī)范:
1)、變量的名字要有意義,盡量用對(duì)應(yīng)的英語命名,具有“見名知意“的作用。
如:姓名 變量取名為 name 或者 用拼單 xingMing,避免用a,b,c來進(jìn)行命名。
2)、避免使用單個(gè)字符作為變量名( 除在循環(huán)里面定的變量)
3)、當(dāng)使用多個(gè)單詞組成變量名時(shí),應(yīng)該使用駱駝(Camel)命名法
駱駝(Camel)命名法:第一個(gè)單詞的首字母小寫,其它單詞的首字母大寫,如:myName,myAge
** 5、變量的聲明和賦值**
1)定義變量的語法:
// 數(shù)據(jù)類型 變量名; (定義一個(gè)年齡的變量,年齡是整數(shù),所以變量定義如下:)
int age; // [系統(tǒng)會(huì)根據(jù)數(shù)據(jù)類型,在內(nèi)存中分配不同大小的存儲(chǔ)空間]
// 每個(gè)數(shù)據(jù)類型后面,可以定義多個(gè)變量,如:(定義姓名、家庭地址、籍貫、民族)
string name,address,origin,national ;
2)為變量賦值語法:
// 變量名 = 值;
// (這里的=號(hào)表示賦值運(yùn)算符,把=號(hào)右邊的值,賦值給左邊的變量名,最后以一個(gè);[分號(hào)]結(jié)束)
// 如:年齡18歲,姓名為“小張",家庭地址為“重慶南坪XXX" 籍貫為“重慶",民族為“漢"
int age = 18 ;
string ame = "小張" ;
string address = "重慶南坪XXX" ;
string origin = "重慶" ;
string national = "漢" ;