1月4日 变量
“大家好!欢迎观看《C#初学者入门教程》的第18课《数据的输出与输入》。
本期视频的知识点有四个:
今天我们将迈出程序与用户“交流”的第一步,学会用 WriteLine() 和 ReadLine() 与用户进行“对话”。 简单来说,这节课我们会学会两件事:如何从用户那里获取数据(输入),以及如何把程序的结果展示给用户(输出)
接下来,我们进入讲解。
什么是输入和输出?
数据的输入与输出是程序中最基本也是最重要的功能。
“输出”是把程序内的数据显示在外部的命令行窗口上,给用户看。
而“输入”则是从用户那里获取数据。比如让用户输入名字、年龄等。
输出的实现
首先看‘输出’
C#用 Console.WriteLine() 和 Console.Write() 把内容显示到控制台窗口(就是运行程序后弹出的黑色命令行框)
它们的区别很简单:
Console.WriteLine():输出内容后自动换行(下一行接着显示其他内容)。 Console.Write():输出内容后不换行(下一行内容会紧挨着显示)。
Console.WriteLine()
用途
Console.WriteLine() 方法用于把括号里的内容输出到控制台中,然后换行。。
基础语法
Console.WriteLine(输出的内容);
在这里,Console是一个提前预定义好的类,它模拟了控制台对象。
示例:变量输出
int age = 18;
Console.WriteLine("年龄是:" + age);
输出
年龄是:18
Console.Write()
用途
Console.Write() 方法用于把括号里的内容输出到控制台中,但不会换行。。
基础语法
Console.Write(输出的内容);
输出但不换行
Console.Write("Hello");
Console.Write("World");
输出结果:
HelloWorld
两句输出紧挨在一起,因为它们之间没有换行符。
实际开发中,我们常把 Write() 和 WriteLine() 组合使用——比如先提示用户‘输入什么’,再显示结果。
示例:输入姓名和年龄
Console.Write("姓名:");
Console.WriteLine("张三");
Console.Write("年龄:");
Console.WriteLine(18);
输出结果是:
姓名:张三
年龄:18
Console.ReadLine()
Console.ReadLine()用于从控制台窗口获取一段文本数据,它的语法是:
string name = Console.ReadLine();
这一行的意思是:读取用户输入的内容,并把它保存到变量 name 中。
注意两点:
- 一定要用变量接收返回值(否则输入的内容会‘丢掉’)!
- 通常要提前提示用户输入什么(比如‘请输入你的名字:’),不然用户不知道该输啥
示例:你好张三!
我们来写一个小程序,让用户输入名字,然后打印一句问候。”
Console.Write("请输入你的名字:");
string userName = Console.ReadLine();
Console.WriteLine("你好," + userName + "!");
运行后:
- 程序会先打印提示:‘请输入你的名字:
- 然后当运行到
ReadLine()时,程序会停下来等待用户输入, - 当用户输入名字并按下回车键后,ReadLine() 把‘张三’存到变量 userName 里
- 最后打印:你好,张三!。
假设用户输入:张三 输出就是:
你好张三!
数据是什么
数据就是信息。
数据是程序运行过程中操作的对象。
程序的核心任务就是:获取数据、处理数据、输出数据。
“数据”根据自身特点,可以具有多种形式,如:数字、文本、图像、声音,表格等形式。
数据类型是什么
数据类型定义了:
数据的种类:为了表示和操作不同特点的数据,同时为了提升程序的运行性能,会把数据定义为不同类型。
数据的大小:数据类型决定数据的“存储方式”和“行为”,值类型存在栈中,引用类型则是“地址在栈,内容在堆”。
数据的操作方式:计算机程序通过操作数据来工作。程序对不同特点的数据,操作的方式也不同。比如:数字值可以用来计算,文本可以拼接,但不会用于计算。
一门语言支持的类型集也是这门语言最基本的特征。
为什么需要数据类型?
为相应变量使用正确的数据类型很重要。因为:
避免错误:类型检查能避免把文本误当成数字计算
节省内存:不同类型占用空间不同(如 int 占4字节,bool 占1字节)
明确操作:不同类型支持的操作不同(字符串可拼接,数字可加减)
使代码更加可维护和可读
C# 中的数据类型的分类
值类型:直接保存数据,存储在 栈内存(stack) 中。
引用类型:保存的是数据的内存地址,数据存储在 堆内存(heap) 中
C#中的值类型是什么
C#中的引用类型是什么