(2)变量、数据类型、转义符、类型转换

计算机中所有数据的存储都是以二进制进行存储的。
还有八进制、十进制、十六进制,都是常用到的。


变量的作用:存储数据
语法有两种:
变量类型 变量名;   变量名=值;
int number;   number=1;
变量类型 变量名=值;
int number=1;
注意:
1、变量不能重复声明
2、变量可以重复赋值


C#中常用的变量类型:
int:整数类型,只能存放整数,范围-2,147,483,648 到 +2,147,483,647。
double:小数类型,既可以存放整数也可以存放小数,精确到小数点后15到16位。
float:浮点类型,可精确到小数点后7位,在一个小数后面加上f就是float类型,float比double占的内存小。
decimal:金钱类型,精度在28到29位。一般用于计算金钱,赋值时需要在值后面加上m或者M。
例如:double money=5000m;
char:字符类型,赋值时要加单引号,只能存储一个字符,不能为空。
例如:char sex='男';
string:字符串类型,可以存储一个或多个字符,也可以为空。
例如:string name="张三";


数据类型分为数值和非数值。
数值分为整型和非整型。
整型有int。
非整型有double和decimal。
double用于小数。
decimal用于财务金钱方面。
非数值有char和string。


变量的命名:
1、必须以字母、下划线或者@符号开头,不能以数字开头。一般不用@开头。
2、后面可以跟任意的字母、数字、下划线。
注意:
1、变量名不能与C#中的关键字重复。
2、在C#中大小写是敏感的,要区分。


关键字:在VS中写出来的单词变为蓝色的都是关键字。


变量命名规范:起变量名要有意义
1、Camal命名法:变量名首单词首字母小写,后面单词首字母大写,其余小写。例如:highSchool。
2、Pascal命名法:变量名的每个单词首字母都大写,其余小写。例如:HighSchool。
国际通用命名规范:
定义变量和参数要使用Camel命名法,其它的使用Pascal命名法。


赋值运算符和赋值表达式:
=:赋值运算符,不是等号,表示把等号右边的值赋给等号左边的变量。
由=号连接的表达式叫做赋值表达式。
注意:每个表达式都可以求解出一个值来,对于赋值表达式,等号左边变量的值就是整个赋值表达式的值。


+:如果+号两边有一边是字符串的话,那么这个+号的作用就是连接,两边都是字符串+号作用也是连接,只有两边都是数值类型+号的作用才是相加。
Console.WriteLine("12"+"34");   结果是1234,+号作用是连接。
Console.WriteLine("12"+34);   结果还是1234,+号作用还是连接。
Console.WriteLine(12+34);   结果是46,+号作用是相加。


报错:语法出现了问题,程序根本不会运行。
异常:语法没有问题,但是程序运行的过程中出现了错误,就是俗称的bug。


占位符:
1、占位符一定要从0开始,依次递增,不能跳跃。
2、多写变量不会有影响,但是少写占位符一定会出异常。
3、要按照占位符的顺序来写输出。
Console.WriteLine("我叫{0},今年{1}岁,家在{2}。",name,age,address);


Console.Writeline()方法输出的内容永远是第一个参数,从第二个参数开始,全部是用于替换第一个参数中占位符的变量。


交换变量有两种方法:
1、定义一个第三方变量来交换变量的值。
int number1=1;
int number2=2;
int number=number1;
number1=number2;
number2=number;
Console.WriteLine("number1:{0},number2:{1}。",number1,number2);
2、利用变量之间的和或者差来求变量的值。
int number1=1;
int number2=2;
number2=number1-number2;
number1=number1-number2;
number2=number1+number2;
Console.WriteLine("number1:{0},number2:{1}。",number1,number2);


Console.ReadLine();用于接收用户的输入,会返回一个字符串类型的变量 ,返回的这个字符串就是用户在控制台输入的内容,需要定义一个字符串变量来接收存储用户输入的值。
Console.ReadLine();当程序执行到这句话,就会暂停,然后等待用户从键盘上输入一句,按回车程序将继续执行,输入的都是字符串类型。 
Console.WriteLine();在输出的时候,会默认的使用.ToString()方法把内容转为字符串类型。


C#中的转义符:
转义符就是\加上一个字符,组成了一个具有特殊意义的字符。
\”表示一个”
\b表示退格,放在字符串的两端没有效果
\n表示换行
\t表示tab键
\\表示\
@符号:放在字符串双引号外面
1、取消\在字符串中的转义作用,使它单纯的表示为\
2、使字符串可以换行,将字符串原样输出
char ch='\\';   输出后只有一个\,说明\\表示一个字符。
其它的\t、\n、\b、\"等也都表示一个字符。


算术运算符:+  -  *  /  %
由算术运算符连接的表达式叫做算术表达式。
运算优先级:先乘除,后加减,有括号先算括号的,相同级别的从左至右运算。
小括号可以无限制的套用,但一定要成对出现。


在算术表达式中,参与运算的操作数的类型必须一致,也必须和结果的类型一致。
如果不一致的话,满足下列条件会发生自动类型转换。
1、类型必须兼容,都是数值类型。
2、小范围转向大范围。


如果大范围转向小范围,必须使用强制类型转换。
语法:
(待转换的类型)要转换的值;
int number=(int)3.5;
注意:强制类型转换会丢失精度。


凡是有可能丢失精度的转换都不能自动完成,需要人为转换。
当两个操作数进行运算的时候,如果我们发现数据类型不一样,在满足一定条件的时候就会发生自动转换。
强制类型转换会有两种情况,一种是程序会出错,例如超出精度,另一种是会丢失精度,强制类型转换一定需要程序员手写,代表程序员已经了解这两种情况。
强制类型转换,数据类型一定要相兼容。
强制类型转换包括隐式转换都必须保证数据是数值类型。
强制类型转换字符串无法转换为值类型。
大转小需要强制类型转换,小转大会自动转换。


int类型转向double类型,可以在int类型变量后面乘以1.0。
double number = 3 * 1.0;
Console.WriteLine(10 * 1.0 / 3);
10*1.0先转为double类型然后除以3得出的还是double类型循环小数
Console.WriteLine(10 / 3 * 1.0);
10/3结果为3再乘以1.0结果是3.0,但是输出的时候0被自动省略了
Console.WriteLine("{0:0.0}", number);
要想输出小数点后边的0,可以用占位符的方式输出


保留两位小数,使用占位符的方式输出,在占位符的后面加上:0.00,也就是{0:0.00}。
int number1=10;
int number2=3;
int result1=number1/number2;
double result2=number1*1.0/number2;
Console.WriteLine("{0},{1:0.00}",result1,result2);


对于不兼容的类型间转换,我们要使用Convert方法。
Convert不再仅是内存级别的转换,而是数据意义的转换,Convert是一个加工改造的过程。
使用Convert方法进行转换需要满足一个条件,只能有共同点的数据进行转换。
string str="12345";
int number=Convert.ToInt32(str);
string sex="男";
char ch=Convert.ToChar(sex);


一切类型都可以装换为string类型。
int number=54321;
string str=number.ToString();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值