《c#的输入和输出》由会员分享,可在线阅读,更多相关《c#的输入和输出(19页珍藏版)》请在金锄头文库上搜索。
1、控制台输入输出,输出:System.Console.WriteLine(Hello World!); using System;Console.WriteLine(Hello World!); 输入:System.Console.ReadLine(); /读取一行字符System.Console.Read(); /读取一个字符,1. 控制台输入,System.Console类的Read()和ReadLine()方法可用来实现控制台输入,本节我们将详细介绍如何使用这两种方法获取输入。,5.1.1 Console.Read()方法,Read()方法每次从输入流(控制台)中读取一个字符,直到收到En
2、ter键才返回。将接收的字符以int型(32位整数)值返回给变量;如果输入流中没有数据,则返回-1。Read()方法是一个静态方法,我们可以直接通过类名Console调用它,调用的格式为Console.Read。Read()方法的原型为:public static int Read()。如果我们输入了多个字符,然后按Enter键(此时输入流中将包含用户输入的字符,加上Enter键和换行符rn),则Read()方法只返回用户输入的第一个字符。但我们可通过对程序的循环控制,多次调用Read()方法来获取所有输入的字符。Read()方法返回给变量的数据的类型是32位整数,如果需要得到输入的字符,则必
3、须通过数据类型显式转换才可以得到相应的字符。,输入输出示例-1,using System;class ConsoleIO static void Main(string args) Console.Write(“请输入:”); /Write()输出结果无结束符 /也就是无换行 int a = Console.Read(); Console.WriteLine(“通过Read()方法得到a=” + a); /WriteLine()输出/结果有结束符,有换行. Console.WriteLine(通过Read()方法得到a= + (char)a); ,5.1.2 Console.ReadLine(
4、)方法,ReadLine()方法用于从控制台中一次读取一行字符串,直到遇到Enter键才返回读取的字符串。但此字符串中不包含Enter键和换行符(rn)。如果没有收到任何输入,或接收了无效的输入,那么ReadLine()方法将返回null。ReadLine()方法也是一个静态方法,可以直接通过类名Console来调用它,调用的格式为Console.ReadLine。ReadLine()方法的原型为:public static string ReadLine(),输入输出示例-2,/控制台输入输出函数的例子using System;class ConsoleIO2 static void Mai
5、n(string args) Console.Write(请输入:); string s = Console.ReadLine(); Console.WriteLine(你输入的内容为: + s); ,5.2.2 格式化说明符,.NET框架体系规定可以使用两种格式进行数据的格式化:一种是由系统定义的标准格式,另一种是用户自定义格式。这两种格式主要包含了各种用于格式化数据的格式控制字符,使用这些控制字符组成所需的数据格式,然后由5.2.1节中所述3种格式化方式即可实现数据的格式化了。1. 标准格式说明符标准格式说明符定义了人们常用的8种数据表示形式,如表5.1所示。,5.2.2 格式化说明符,字
6、符串格式输出,/ public static void Main() Console.WriteLine(在宽度为的空间里靠左对齐:0,-10, 99); Console.WriteLine(在宽度为的空间里靠右对齐:0,10, 99); Console.WriteLine(在宽度为的空间里靠左对齐:0,-10, LLL); Console.WriteLine(在宽度为的空间里靠右对齐:0,10, RRR); Console.WriteLine(货币- 0:C 1:C4, 88.8, -888.8); Console.WriteLine(10进制整数- 0:D5, 88); Console.W
7、riteLine(科学计数- 0:E, 888.8); Console.WriteLine(固定小数点- 0:F3, 888.8888); Console.WriteLine(浮点数- 0:G, 888.8888); Console.WriteLine(数字格式- 0:N, 8888888.8); Console.WriteLine(16进制格式- 0:X4, 88); Console.ReadLine(); ,字符串数值类型转换,Parse(string),通过目标类型的成员方法:Parse(string)进行转换。System.Convert,System.Convert类为类型的转换提供
8、了一整套完整的方案。,示例-1(Parse方法),/ 由控制台获得数值using System;class StringNumberParse static void Main(string args) Console.Write(请输入数值一:); string x = Console.ReadLine(); int intValue1 = int.Parse(x); Console.Write(请输入数值二:); string y = Console.ReadLine(); short intValue2 = short.Parse(y); int minusValue = intValu
9、e1 - intValue2; Console.WriteLine(0 - 1 = 2,intValue1,intValue2,minusValue); ,输入两个数值,输出减法结果。,Convert类,在实际应用中,使用Read()和ReadLine()方法读取数据的关键,不仅仅是要取得信息,而是想将获得的信息转换为想要的格式。如对字符串中的文本进行过滤,得到一个不同的字符串,或将其转换为一种不同的数据类型。System命名空间中有一个用于将某个基本数据类型转换为另一个基本数据类型的Convert类。Convert类包含了大量的可将数据转换为不同的数据类型的静态方法,由于是静态方法,所以可直
10、接使用以下语句格式调用:Convert.方法名(原数据变量);其中:“方法”名是要使用的转换方法。表5.7列出了Convert类转换数据类型的一些方法。“原数据变量”是想要转换为新类型的数据变量。,Convert.方法名(原数据变量);,示例-2(Convert方法),/ 由控制台获得数值using System;class StringNumberParse2 static void Main(string args) Console.Write(请输入数值一:); string x = Console.ReadLine(); int intValue1 = Convert.ToInt32
11、(x); Console.Write(请输入数值二:); string y = Console.ReadLine(); short intValue2 = Convert.ToInt16(y); int minusValue = intValue1 - intValue2; Console.WriteLine(0 - 1 = 2,intValue1,intValue2,minusValue); ,输入两个数值,输出减法结果。,Format() 的语法小结,string myString = string.Format(格式字符串, 参数列表);,string myString = string
12、.Format (0 乘以 1 等于 2 , 2, 3, 2*3);,格式字符串,代表,参数列表,2乘以3等于6,包括占位符x,5.2.2 格式化说明符,整数数据格式字符“D或d”用来组成将数据表示为十进制整数数据的格式化字符串。字符“D或d”后面的数字规定了要表示的数据位数,如果这个数字小于整数数据的位数,则显示所有的整数位;如果这个数字大于整数数据的位数,则在整数数据的前面用数字“0”补足所有的位数。例如:int a=123456;string str1=String.Format(0:d, a); /得到的字串是123456string str2=String.Format(0:d6 ,
13、 a); /得到的字串是123456string str3= String.Format(0:d7, a); /得到的字串是0123456string str4= a.ToString(d); /得到的字串是123456string str5= a.ToString(d7); /得到的字串是0123456浮点数据格式字符“F或f”用来描述带有小数点的数据的显示形式。字符“F或f”后面的数字规定了小数点后的数据位数。如果没有指定数字,则数据默认保留两位小数,如果指定的数字大于数据本身小数部分的位数,则在小数部分数字的最后补“0”。,科学计数法格式字符“E或e”用来将数据转换为科学计数法形式。在字
14、符“E或e”后面的数字用来规定科学计数法表示数据的小数点后数字的个数。如字符“E或e”后面没有数字,则显示7位有效数字。例如:int a=123456;double d=1234.5678;string str1=String.Format(0:e, a); /得到的字串1.234560e+005string str2=String.Format(0:e, d); /得到的字串1.234568e+003string str3=String.Format(0:e4,a); /得到的字串是1.2346e+005string str4=String.Format(0e4, d); /得到的字串是1.
15、2346e+003string str5=a.ToString(E); /得到的字串是1.234560E+005string str6=d.ToString(E4); /得到的字串是 1.2346E+003,5.2.2 格式化说明符,自然数据格式字符“N或n”用来表示自然数据格式。这种数据格式将数据格式化成带逗号和小数点,即表示为“dd,ddd,ddd.dd”的形式。这种数字分组的表示形式多用于一些正规的场合,便于直观了解数据的大小量级。字符“N或n”后面的数字规定了数据格式中小数点后面的数字个数。int a=123456;double d=1234.5678;string str1=String.Format(0:n,a); /得到的字串是123,456.00string str2=String.Format(0:n, d); /得到的字串是1,234.57string str3=a.ToString(n4); /得到的字串是123,456.0000string str4=d.ToString(n4); /得到的字串是1,234.5678,