变量及数据类型
学习要点
1. 变量的含义
2. 变量的使用方法
3. 常见的数据类型
4. 变量的命名规则
5. 赋值运算符和“+”
6. 占位符
7. 接收用户的输入
8. 转义字符
一、 变量
(一) 为什么使用变量
内存地址不好记,使用变量代替内存地址,好记
[图片上传失败...(image-5abbcc-1540628161768)]
(二) 什么是变量
用来存储数据
(三) 计算机存储数据的过程
1. 我们在计算机中存储数据和客人住旅馆很类似.
1、杨浩然 1个人 开一个单人间 208
2、杨浩然 和一个女朋友 一个双人间 104
3、杨浩然 和一个男同事 开了两个单人间 309 308
当开房的人员跟数量还有性别不同的时候,我们在旅馆开的房间是不一样的。
我们在计算机中存储数据的大小、类型不同的时候,我们在计算机中开的房间类型也是不一样的。
2. 举例
在计算机中存储一个整型数值为50
int number;//表示在内存中开辟了一个整数类型的房间,并且我们取名为number
number=50;//表示将50这个整数放到number中
存储一个3.14的值
double d;
d=3.14;
(四) 声明变量的语法
1. 语法
变量类型 变量名;//声明了一个变量
变量名=值;//给这个变量赋值
或
变量类型 变量名=值;
变量一定要先声明****,****再赋值****,****才能使用
2. 可以一次声明多个变量,然后逐一赋值
string name1, name2, name3, name4;
name1 = "张三";
name2 = "李四";
name3 = "王五";
name4 = "赵六";
(五) 常用的数据类型
[图片上传失败...(image-abd8e4-1540628161768)]
int:表示整数类型,只能存放整数。
double:表示小数类型,既能存储整数也能存储小数
string:能够存储多个文本,可以为空,用双引号
char:字符类型,能够存储单一的字符,要求 最多最少只能存储1个字符,不能为空,用单引号
decimal:金钱类型,精度要高于double类型 。
int age = 18;
double hight = 17.3;
string str = "轻轻地我走了,正如我轻轻地来";
char gender = '男';
decimal salar = 2000m;
(六) 练习
定义一个int类型变量存95,显示出来
二、 变量的命名规范
不写注释是流氓,****名字瞎起是扯淡
(一) 规则
1 必须以“字母”_或@符号开头.--不要以数字开头
2 后面可以跟任意“字母”、数字、下划线.
(二) 注意:
1)你起的变量名不要与c#系统中的关键字重复.
2)在****c#****中,****大小写是敏感的.
3)、同一个变量名不允许重复定义(先这么认为,不严谨)
4)、变量名唯一能够出现的特殊字符只有下划线
(三) c#系统中的关键字
不需要记忆,在VS中,以蓝色标示的就是关键
[图片上传失败...(image-267d73-1540628161768)]
(四) 规范
1. Camel 命名法
首个单词的首字母小写,其余单词的首字母大写。多用于给变量去命名。
2. Pascal命名命名规范
每一个单词第一字母都大写。多用于给类或者方法命名
(五) 练习:下面的变量名称哪些是正确的
|
principal
|
$lastname
|
zip code
|
123rate
|
|
discount%
|
cost_price
|
marks_3
|
city
|
|
City
|
int
| | |
三、 运算符
(一) 赋值运算符
1. =
表示把等号右边的值赋值给等号左边的变量。
int number=10;
由等号连接的表达式我们称之为赋值表达式,每个表达式,我们都认为可以求解出一个定值,
那么,对于赋值表达式而言,等号左边变量的值就是整个赋值表达式的值。
2. 练习
定义两个变量如:number1,number2分别赋值为10和5,写程序交换两个变量的值
int num1 = 5;
int num2 = 10;
int temp;
temp = num1;
num1 = num2;
num2 = num1;
作业1****:定义两个变量如:number1,number2****分别赋值为10****和5,****写程序交换两个变量的值
注:不能使用中间变量
(二) + 号
1. 相加
如果+号两边都是数字,而不是字符串,那么此时加号就起到相加的作用。
Console.WriteLine(5 + 5);
如果+号两边有一边是字符串的话,那么此时这个+号就起到连接的作用。
Console.WriteLine("5" + 5);
2. 练习
练习一:
定义一个变量存储客户的姓名,然后在屏幕上显示:”你好,某某”
分析:
.某某代表变量中客户的姓名
+号可以连接两个字符串,这里的“+”号表示连接的意思
代码:
string name = "张三";
Console.WriteLine("你好," + name);
Console.ReadKey();
练习二:
有个叫卡卡西的人在旅店登记的时候前台让他填一张表,这张表的里的内容要存到电脑上,有姓名、年龄、邮箱、家庭住址,工资.之后把这些信息显示出来。
样例
我叫卡卡西,我住在火影村,我今年30了我的邮箱是kakaxi@qq.com,我的工资2000.
代码
string name = "kakaxi";
int age = 30;
string email = "kakaxi@qq.com";
string addr = "文教路1号";
decimal salar = 2000m;
Console.WriteLine("我叫" + name + ",我住在" + addr + ",我今年" + age + "了,我的邮箱是:" + email + ",我的工资是" + salar);
Console.ReadKey();
四、 占位符
(一) 占位符的使用
挖个坑,再填个坑。
占位符需要我们注意的地方:
1)、占位符从{0}开始
2)、你挖了几个坑,就填几个坑,如果你多填了,没有效果,但是如果你少填了,程序抛异常
3)、占位符最终按照填坑的顺序输出
(二) 练习
定义四个变量,分别存储一个人的姓名、性别(Gender)、年龄、电话(TelephoneNumber)。然后打印在屏幕上 (我叫X,我今年 X岁了,我是X生,我的电话是XX)(电话号用什么类型,如:010-12345)
在屏幕上显示我家在…今年..岁了,我的姓名是..
请定义变量存储上面的值,并显示在屏幕上.
代码
string tel = "13301264071";
string name = "张三";
int age = 19;
char gender = '男';
Console.WriteLine("我叫{0},我今年{1}岁了,我是{2}生,我的电话是{3}", name, age, gender, tel);
Console.ReadKey();
五、 接收用户的输入
(一) Console.ReadLine();
用于输入:字符串,按Enter键结束输入。要定义一个字符串变量来接收并存储用户输入的值。
我们在向控制台输出的内容的时候,不管你输入的内容是什么类型,当打印到控制台的时候,都是字符串类型。
不管我们在控制台输入的内容是什么类型,当我们接受的时候,都必须要按照字符串类型去处理。
(二) 练习
1. 练习1:
问用户喜欢吃什么水果(fruits),假如用户输入”苹果”,则显示”哈哈,这么巧,我也喜欢吃苹果”
参考代码
Console.WriteLine("美女,你喜欢吃什么水果");
string fruit = Console.ReadLine();
Console.WriteLine("哈哈,这么巧,我也喜欢吃" + fruit);
Console.ReadKey();
2. 练习2(作业2)
请用户输入姓名性别年龄,当用户按下某个键子后在屏幕上显示:您好:XX您的年龄是XX,是个X生
参考代码
六、 转义字符和@符号的用法
(一) 问题
在控制台输出下面字符串
你是一个“天才”,哈哈!
(二) 转义字符
1. 什么是转义字符
l 一种特殊的字符常量;
l 以反斜线""开头,后跟一个或几个字符。
l 具有特定的含义,不同于字符原有的意义,故称“转义”字符。
2. 常见的转义字符
|
转义字符
|
意义
|
|
\’
|
单引号符
|
|
\’’
|
双引号符
|
|
\
|
反斜线符
|
|
\n
|
换行
|
|
\r
|
回车
|
|
\t
|
横向跳到下一制位置
|
(三) 问题解决
Console.WriteLine("你真是一个"天才"");
Console.ReadKey();
(四) @字符
1. 含义
1)、取消\在字符串中的转义作用,使其单纯的表示为一个\
2)、让代码按照你编译的原格式输出
2. 举例说明
l 取消\的作用
常用在表示路径的字符串前
[图片上传失败...(image-ce1a3c-1540628161766)]
原格式输出
Console.WriteLine(@"今天天气好晴朗
处处好风光");
Console.ReadKey();
[图片上传失败...(image-3e6705-1540628161766)]