录入和输出字符
Console.Read();;录入输出的是数据,是可以进行加减运算的,
Console.ReadLine();录入输出的是字符,是不可以进行加减运算的,
第一,最简单的录入输出:Ascii值的录入输出
int a = Console.Read();
输入a,他输出的是97,而不是a;
输入1,他输出的是49,而不是1,因为1对应的Ascii值是49.。
想要输入又输出1,并且输出的这个1是可以加减运算的数据,而不是字符,用Convert.ToInt32;
int a=Convert.ToInt32(Console.ReadLine(););
也就是说,这个语句,他录入的其实是Ascii值。比如你输入0,他录入的不是0这个数字,而是0对应的ascii值:48。
最早开始学的时候,int只能接收数字,不能接收字母,现在用这个语句,是可以接收了。但他实际上接收的是Ascii值,输出的时候你就知道了。
第二,数据的录入输出
正因为Console.Read()录入的不是数字本身,而是数字对应的Ascii值,所以想要直接录入数字,我们得进行转化。转化语句是:Convert.ToInt32
比如,我们想要用这个语句直接输出0,是办不到的,得进行转化:Console.WriteLine((char)a);
但是用Convert.ToInt32,就可以直接输出0。输入的是0,输出的也是0。
int a=Convert.ToInt32(Console.ReadLine());
多了Convert.ToInt32这句。Convert是转化,ToInt32是要转化的数据类型。
第三,字符串的录入和输出
string a=Console.ReadLine();
输入abc,得到abc;
输入123,得到123;
但这个123是字符串,不能进行加减运算。
string是字符串,什么是字符串?就是所有的符号。就是既可以输入字母,也可以输入数字。不挑。
string录入字符串不需要转换,直接录入,但int录入数据需要转换,为什么会这样?你可以这么理解,就是C#这门语言在录入的时候,是默认为字符串录入的,所以string录入就可以直接录,但int录,由于录入的是字符串,因此需要转换一下。
比如你给这个语句string a=Console.ReadLine();
键入123,是直接键入;
但如果是int a=Console.ReadLine();那就不行了,因为默认录入的是字符串,与int是矛盾的,所以需要用Convert.ToInt32,把字符串转换为int类型整数。
第四,单个字符的录入和输出
char a =(char)Console.Read();//因为Console.Read()默认录入的是int型,所以要加(char)
输入1,输出1;
输入a,输出a;
输入a+3,输出不会是d,而是100。想要输出d就前面加(char),强制类型转换
输入97,输出不是a,而是97。怎么输入97输出a?给97前面加强制类型转换(char)
他和第一很像,和这个语句很像。但他录入的其实是Ascii值,是可以进行加减运算的,
比如输入a,输出a+3,那么他最终输出的会是100。这就说明录入的a,其实是a的Ascii值,只不过他并不直接输出Ascii值。
输入a,输出的还是a;输入8,输出的也是8,就是你给他啥,它给你啥;你输入什么,它就输出什么,原样呈现,这一点和string很像。char相比于string,是单个是字符。string是好几个字符组成了字符串,如同一块块羊肉组成了羊肉串,
char就是string内部单个是字符,string就是众多的char组成了串。
char和string都可以接收字母和数字,无论是单个字母或者是字母串,单个数字或者数字串,都可以接收。这点是一样的。
不同之处有两点。
1是输出。string可以输出字母串和数字串,但char不能输出串,他只能输出单个字符。
如果你给他输入了串,那么执行输出他也不会报错,只不过他会输出串的第一个字符。
比如输入123,char会输出1;比如输入sgx,char会输出s。
2是string输出的结果是字符,不能进行加减运算,但char可以。
———————————————————————————



