输入与输出

C#编程语言的交流方式

对话的窗口为控制台应用程序  所以我们创建的C#项目类型为控制台应用程序

 控制台是?

输出语句(电脑显示的内容)

Console.Write();        //    输出()内的数据
Console.WriteLine();    //    输出()内的数据并换行

我们可以输出哪些数据?

变量的值:

int num = 1;
Console.Write(num);    //    当()内为变量名时  输出变量的值

所有类型变量都可以吗?

byte a = 1;
short b = 2;
int c = 3;
long d = 4;
float e = 5.0f;
double f = 6.0;
decimal g = 7.0m;
char h = '8';
bool i = true;
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d);
Console.WriteLine(e);
Console.WriteLine(f);
Console.WriteLine(g);
Console.WriteLine(h);
Console.WriteLine(i);

感觉太麻烦了  难道只能一个一个输出吗

* 输出的内容有统一的格式——字符串string

byte a = 1;
short b = 2;
int c = 3;
long d = 4;
float e = 5.0f;
double f = 6.0;
decimal g = 7.0m;
char h = '8';
bool i = true;
Console.WriteLine("{0}{1}{2}{3}{4}{5}{6}{7}{8}", a, b, c, d, e, f, g, h, i);

 *由于输出的内容是字符串格式 所以在()内用“”包含要输出的内容

{}占位  可理解为排队的位置

{}内的数字  有点像拿的排队的序号

序号从0开始并依次递增,与“”后的变量位置一一对应

如上图所示0对应a、1对应b、2对应c……

我们抵制插队但总有人帮忙带货  所以

byte a = 1;
short b = 2;
int c = 3;
long d = 4;
float e = 5.0f;
double f = 6.0;
decimal g = 7.0m;
char h = '8';
bool i = true;
Console.WriteLine("{0}{1}{2}{0}{3}{4}{0}{5}{6}{0}{7}{8}", a, b, c, d, e, f, g, h, i);

如上图所示  当序号在“”内重复时  对应位置的变量的值也会重复输出

感觉数字太多  脑子太乱

byte a = 1;
short b = 2;
int c = 3;
long d = 4;
float e = 5.0f;
double f = 6.0;
decimal g = 7.0m;
char h = '8';
bool i = true;
Console.WriteLine($"{a}{b}{c}{d}{e}{f}{g}{h}{i}");

当在“”前添加$符号时  {}内可以填写变量名完成对变量值的输出

在输出时也可用到转义字符

byte a = 1;
short b = 2;
int c = 3;
long d = 4;
float e = 5.0f;
double f = 6.0;
decimal g = 7.0m;
char h = '8';
bool i = true;
Console.WriteLine($"{a}\n{b}\n{c}\n{d}\n{e}\n{f}\n{g}\n{h}\n{i}");

 

 也也可通过@取消转义字符的使用

byte a = 1;
short b = 2;
int c = 3;
long d = 4;
float e = 5.0f;
double f = 6.0;
decimal g = 7.0m;
char h = '8';
bool i = true;
Console.WriteLine($@"{a}\n{b}\n{c}\n{d}\n{e}\n{f}\n{g}\n{h}\n{i}");

输入语句

Console.Read();        //    获取一个字符  由于Unicode编码  结果为int类型
Console.ReadKey();     //    获取用户按下的按键或功能键  不能被获取  用于控制台显示
Console.ReadLine();    //    获取一行字符  结果为string类型
int i;
i = Console.Read();
Console.WriteLine(i);

string i;
i = Console.ReadLine();
Console.WriteLine(i);

 转换类型  将获取的字符串存入其他类型变量中

Console.WriteLine("请输入一个数:");
int num;
string s = Console.ReadLine();
num = int.Parse(s);
Console.WriteLine("num = {0}", num);

 类型转换分为显式类型转换和隐式类型转换

隐式类型转换(系统自动完成)

1、同一存储类型下的小范围类型转大范围类型

2、目标类型精度大于源类型

int a = 3;
long l = a;        //    小范围转大范围
double d = a;      //    小精度转大精度

显式转换(标记完成)

double a = 3;
int i = (int)a;    //    大精度转小精度
Console.WriteLine(i);
long l = 4;
i = (int)l;        //    大范围转小范围
Console.WriteLine(i);
string s = "9.8";
a = double.Parse(s);    //    将()内字符串s转换为double类型  再赋值给a
//    字符串s必须只能是由数字字符组成的字符串
i = Convert.TOInt16(a);    //    将()内的变量a转换为16位长度的int类型  再赋值给i
//    a是可以转换为i的类型
Console.WriteLine($"a = {a}\ni = {i}");

*在显式类型转换的过程中  容易出现数值的丢失  比如精度及大小

浮点型转整数类型  值遵守四舍五入的原则

 练习题:根据输入矩形的长宽输出其面积

Console.WriteLine("请输入矩形的长:");
int l = int.Parse(Console.ReadLine());
Console.WriteLine("请输入矩形的宽:");
int w = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("长为{0},宽为{1}的矩形面积为{2}", l, w, l * w);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值