錄入和輸出字符
Console.Read();;錄入輸出的是數(shù)據(jù),是可以進(jìn)行加減運(yùn)算的,
Console.ReadLine();錄入輸出的是字符,是不可以進(jìn)行加減運(yùn)算的,
第一,最簡(jiǎn)單的錄入輸出:Ascii值的錄入輸出
int a = Console.Read();
輸入a,他輸出的是97,而不是a;
輸入1,他輸出的是49,而不是1,因?yàn)?對(duì)應(yīng)的Ascii值是49.。
想要輸入又輸出1,并且輸出的這個(gè)1是可以加減運(yùn)算的數(shù)據(jù),而不是字符,用Convert.ToInt32;??
int a=Convert.ToInt32(Console.ReadLine(););
也就是說(shuō),這個(gè)語(yǔ)句,他錄入的其實(shí)是Ascii值。比如你輸入0,他錄入的不是0這個(gè)數(shù)字,而是0對(duì)應(yīng)的ascii值:48。
最早開(kāi)始學(xué)的時(shí)候,int只能接收數(shù)字,不能接收字母,現(xiàn)在用這個(gè)語(yǔ)句,是可以接收了。但他實(shí)際上接收的是Ascii值,輸出的時(shí)候你就知道了。
第二,數(shù)據(jù)的錄入輸出
正因?yàn)?span id="s0sssss00s" class="color-yellow-04">Console.Read()錄入的不是數(shù)字本身,而是數(shù)字對(duì)應(yīng)的Ascii值,所以想要直接錄入數(shù)字,我們得進(jìn)行轉(zhuǎn)化。轉(zhuǎn)化語(yǔ)句是:Convert.ToInt32
比如,我們想要用這個(gè)語(yǔ)句直接輸出0,是辦不到的,得進(jìn)行轉(zhuǎn)化:Console.WriteLine((char)a);
但是用Convert.ToInt32,就可以直接輸出0。輸入的是0,輸出的也是0。
int a=Convert.ToInt32(Console.ReadLine());
多了Convert.ToInt32這句。Convert是轉(zhuǎn)化,ToInt32是要轉(zhuǎn)化的數(shù)據(jù)類型。
第三,字符串的錄入和輸出
string a=Console.ReadLine();
輸入abc,得到abc;
輸入123,得到123;
但這個(gè)123是字符串,不能進(jìn)行加減運(yùn)算。
string是字符串,什么是字符串?就是所有的符號(hào)。就是既可以輸入字母,也可以輸入數(shù)字。不挑。
string錄入字符串不需要轉(zhuǎn)換,直接錄入,但int錄入數(shù)據(jù)需要轉(zhuǎn)換,為什么會(huì)這樣?你可以這么理解,就是C#這門(mén)語(yǔ)言在錄入的時(shí)候,是默認(rèn)為字符串錄入的,所以string錄入就可以直接錄,但int錄,由于錄入的是字符串,因此需要轉(zhuǎn)換一下。
比如你給這個(gè)語(yǔ)句string a=Console.ReadLine();
鍵入123,是直接鍵入;
但如果是int a=Console.ReadLine();那就不行了,因?yàn)槟J(rèn)錄入的是字符串,與int是矛盾的,所以需要用Convert.ToInt32,把字符串轉(zhuǎn)換為int類型整數(shù)。
第四,單個(gè)字符的錄入和輸出
char a =(char)Console.Read();//因?yàn)?span id="s0sssss00s" class="color-green-04">Console.Read()默認(rèn)錄入的是int型,所以要加(char)
輸入1,輸出1;
輸入a,輸出a;
輸入a+3,輸出不會(huì)是d,而是100。想要輸出d就前面加(char),強(qiáng)制類型轉(zhuǎn)換
輸入97,輸出不是a,而是97。怎么輸入97輸出a?給97前面加強(qiáng)制類型轉(zhuǎn)換(char)
他和第一很像,和這個(gè)語(yǔ)句很像。但他錄入的其實(shí)是Ascii值,是可以進(jìn)行加減運(yùn)算的,
比如輸入a,輸出a+3,那么他最終輸出的會(huì)是100。這就說(shuō)明錄入的a,其實(shí)是a的Ascii值,只不過(guò)他并不直接輸出Ascii值。
輸入a,輸出的還是a;輸入8,輸出的也是8,就是你給他啥,它給你啥;你輸入什么,它就輸出什么,原樣呈現(xiàn),這一點(diǎn)和string很像。char相比于string,是單個(gè)是字符。string是好幾個(gè)字符組成了字符串,如同一塊塊羊肉組成了羊肉串,
char就是string內(nèi)部單個(gè)是字符,string就是眾多的char組成了串。
char和string都可以接收字母和數(shù)字,無(wú)論是單個(gè)字母或者是字母串,單個(gè)數(shù)字或者數(shù)字串,都可以接收。這點(diǎn)是一樣的。
不同之處有兩點(diǎn)。
1是輸出。string可以輸出字母串和數(shù)字串,但char不能輸出串,他只能輸出單個(gè)字符。
如果你給他輸入了串,那么執(zhí)行輸出他也不會(huì)報(bào)錯(cuò),只不過(guò)他會(huì)輸出串的第一個(gè)字符。
比如輸入123,char會(huì)輸出1;比如輸入sgx,char會(huì)輸出s。
2是string輸出的結(jié)果是字符,不能進(jìn)行加減運(yùn)算,但char可以。
———————————————————————————



