第1天--文本与变量

简介: 第1天--文本与变量

零、今日目标

我们在开发程序的时候都会处理大量的数据,这些数据有些是硬编码(直接写在程序中),有些是通过输入(输入可能来自键盘、互联网等)得到的。那么这些通过输入得到的输入我们如果像使用它的话就必须将其存储在内存中,C# 为我们提供了一种叫做变量的存储结构,方便我们在内存中存取数据。

在本篇文章我们会首先介绍常用五种基本类型,然后在常用五种基本类型的基础上讲解变量相关的内容,下面是我们基本的学习目标:


  1. 了解 C# 常用五种基本类型,掌握创建常用五种基本类型的文本值;
  2. 变量的声明和初始化;
  3. 何为隐式类型变量,以及如何使用隐式类型变量。

一、常用的五种基本类型

因为本系列文章主要面多人群是刚接触开发或从其它语言准备转到 C# 语言的开发人员,因此本小节不会介绍所有的数据类型,只介绍常用的五种基本数据类型:stringcharintdecimal

1. string

string 读作 [strɪŋ] ,在 c# 中我们使用它存储字符串,例如 “你好,世界!”,“Hello World!”,“こんにちは せかい!” 等这些都是字符串,我们发现这三个字符串我都使用了 " ,这是因为在 C# 规定 string 类型的数据必须使用 " 包住。一般来说只要不是用于计算的数据都可以使用 string 类型来存储,下面的代码是在控制台打印出三种不同语言的 hello world :

Console.WriteLine("你好,世界!");
Console.WriteLine("Hello World!");
Console.WriteLine("こんにちは せかい!");

创建控制台程序并将上面的代码赋值到 main 方法中,运行程序你将会看到如下的输出:

image.png

2. char

char 读作 ***[tʃɑbaiː]***,在 C# 中 char 类型的数据只能包含一个字符,例如:‘你’,‘Y’,‘す’ 等这些都是字符,同 string 类型一样 char 类型的数据必须使用 ’ 包住。一般来说如果需要存储单个字母、数字等数据我们可以使用 char 类型,下面的代码在控制台打印出三种不同语言的单字:

Console.WriteLine('你');
Console.WriteLine('H');
Console.WriteLine('こ');

运行上述代码得到如下输出:

image.png

Tip:这里要注意的是 string 使用的是英文状态下的双信号,char 使用的是应为状态的下的单引号,初学者容易在这里出现错误。


3. int

int 读作 ***[ɪnt]***,它是用来存储整型数据的,例如 1,-20,9999 等这些都是整型数据,下面的代码在控制台中输出了三个 int 类型的数据:

Console.WriteLine(5);
Console.WriteLine(2);
Console.WriteLine(0);

Tip:注意,int 类型存储的是无小数位的数据,3.1415926、1.00这类数据都无法直接存入 int 类型中。


4. decimal

decimal 读作 ***[ˈdesɪml]***,它用来存储十进制数值,例如:1m,-20m,99.99m,在这三个数字后我都加上了 m 代表 decimal 类型的数值,这里的 m 被称为文本后缀,文本后缀告知编译器你希望使用的类型。下面的代码在控制台输出了三个 decimal 类型的数据:

Console.WriteLine(5.20m);
Console.WriteLine(2.51m);
Console.WriteLine(0m);

运行上述代码将得到如下的输出结果:

image.png

5. bool

bool 读作 ***[bu:l]***,经常被用在判断是非的情况下,它只能存储 truefalse 两个值。下面的代码在控制台输出两个 bool 类型的数据:

Console.WriteLine(true);
Console.WriteLine(false);

运行上述代码将得到如下的输出结果:

image.png

二、变量

上一小节我们所编写的代码都是硬编码,但是在实际开发中使用硬编码的情况少之又少,因此我们就需要用到变量这一结构。


1. 何为变量

变量,从字面上来说就是变化的量,是分配给计算机内存的标签,通过它我们可以很轻松的操作内存中存储的数据,它在自身的生存周期内是可以改变其存储的数据。


2. 声明变量

声明变量的首先就是为它指定数据类型,然后给它起一个名字,例如我们要声明一个 int 类型的变量 age,我们可以这么做:

int age;

这样我们就声明了一个新的变量,这个变量只能存储 int 类型的数据。

3. 隐式类型

所谓隐式类型就是我们在声明变量的时候不去定义变量的类型而是让编译器根据赋予的值自行推断变量数据类型。隐式类型使用 var 关键字声明。下面的代码就是隐式类型变量的声明方法:

var age=12;

因为我们给 age 赋予了 int 类型的值12,因此 age 数据类型就是 int 类型并且只能存储 int 类型的数据。隐式类型一般用在声明变量的时候数据类型不太明显或者无法提前指定可预测的类型的情况下。对于刚接触 C# 的同学,我建议在编写代码的收最好还是不使用隐式类型。


Tip:使用隐式类型声明变量我们需要注意的是必须在创建变量的同时为变量赋值,这样编译器才能推断出变量的数据类型。


4. 变量名声明规则

每个编程语言都有自己的变量声明规则, C# 也不例外,下表是 C# 的,命名规则。

image.png

5. 操作变量

操作变量分为取值、赋值和重新赋值三种。取值时我们只需调用变量的名称即可,如下代码:

int age=1;
Console.WriteLine(age);

运行上述代码获得如下输出:

image.png

赋值又分为声明变量的同时赋值和是声明变量后赋值两种,代码如下:

//声明变量的同时赋值
int age=1;
//声明变量后赋值
string firstName;
firstName="张三";

如果要改变变量中存储的内容我们可以重新赋值,代码如下:

int age=1;
Console.WriteLine("我的年龄   "+age);
age=12
Console.WriteLine("我的新年龄   "+age);

运行上述代码获得如下输出:

image.png

三、总结

本篇文章主要讲解了 C# 中常用的五种变量类型、变量的声明以及如果使用,这篇文章对于初学者来说很重要,一定要仔细阅读并动手练习。


四、考核

1.以下哪个变量名的命名是错误的:

A. 1name

B. ok

C. _message

D. firstName


2.var age 这个代码存在什么问题:

A. 变量名不符合规范

B. age 存储一定是 int 类型

C. 在使用 var 关键字声明变量时必须同时赋值

D. var 不是数据类型不能用来声明变量


3.以下哪个变量声明是正确的:

A. string name=‘张三’;

B. int age=12m;

C. decimal =13.55m;

D. bool _isCat=false;


4.请在控制台打印出如下内容:我的名字叫 XX,今年 XX岁。将XX替换成对应的内容。


Tip:考核内容的答案请关注微信公众号“喵叔工作室”发送151d即可获得。


目录
相关文章
|
7月前
|
人工智能 弹性计算 前端开发
如何实现单行/多行文本溢出的省略样式?
如何实现单行/多行文本溢出的省略样式?
解决CodeBlock安装完成后不能进行注释和printf输出中文的解决方式
前几天重新用回CodeBlock发现编写注释后不能正常编译,修改后又不可以使用printf输出中文 现将解决方式记录备用
149 0
|
3月前
常用文本格式标签例子
常用文本格式标签例子。
37 3
|
5月前
|
语音技术 数据安全/隐私保护 Python
语音识别---数据输入(input语句),布尔类型和比较运算符,if语句的基本格式,Python通过空格缩进来判断代码块的归属关系,我要买票吗讲解?if_elif_else
语音识别---数据输入(input语句),布尔类型和比较运算符,if语句的基本格式,Python通过空格缩进来判断代码块的归属关系,我要买票吗讲解?if_elif_else
|
7月前
|
C++
[Qt5&控件] Label控件显示文本内容(字符串和整数)
[Qt5&控件] Label控件显示文本内容(字符串和整数)
154 0
[Qt5&控件] Label控件显示文本内容(字符串和整数)
|
编译器 程序员 C++
C++ 中的原始字符串文字及C++ 中的字符串数组(1-2)
在 C++ 中,为了转义像“\n”这样的字符,我们使用一个额外的“\”。从 C++ 11 开始,我们可以使用未处理转义字符(如 \n \t 或 \” )的原始字符串。原始字符串的语法是文字以 R”( 开头,以 )” 结尾。
215 0
|
安全 Java Unix
不同语言输出hello的样式
不同语言输出hello的样式
84 0
|
JavaScript 前端开发 PHP
JS的字符串插值,变量长文本换行
作为一个PHPer,经常需要在html中写js jq来解析数据,形成列表、选项等等。 (谁让我们PHPer还要兼顾页面呢?? 又不会Vue,只能这样子讨讨生活。) 那么就经常遇到Html代码拼接,或者字符串拼接,可能是这样子的问题
423 0
JS的字符串插值,变量长文本换行
数据集的文字标签(label)转成数字标签
数据集的文字标签(label)转成数字标签
数据集的文字标签(label)转成数字标签