C#变量与数据类型

时间:2021-11-29 18:25:14

数据类型:

整型:int short long byte

小数:double float decimal

布尔:bool

字符:char

定义变量:

数据类型 变量名 [= 值];

变量名的命名规则:

1.组成的字符:字母、数字、下划线、@

2.首字符:不能是数字

3.不能与关键词重:

常量:

const 数据类型 常量名 = 值;

常量定义的时候必须赋值。

常量一旦定义后,就不能用代理修改其中的值了。常量只有定义的时候可以放在等号的左边。

很像ROM

数据转换:

计算机运算的时候,必须使用同一类型数据进行运算。

如果不是同一类型数据,则需要进行类型转换。

类型转换的分类:

1.自动转换:只要不会出现丢数据的可能,就自动转。

byte->short->int->long->float->double

2.强制转换:凡是可能会出现丢数据的情况,就需要强制转。

在被转换的数据左边加上小括号:(要被转换成的数据类型)

使用Convert.ToXXXX(要被转换的数据)

例子:

int d = (int)3.14;

int d = Convert.ToInt32( 3.14);

float f = (float)3.14;

float f = Convert.ToSingle(3.14);

如果是字符串转换基本数据的话必须使用Convert.ToXXX(字符串);

运算符:

一、算术运算:

+ - * / % ++ --

注意:

1.做除法运算的时候,如果两个操作数同为整数,则运算结果也是整数,不会出现小数。

2.上面这些运算,如果两个操作数不同是一类型,在运算的时候会自动进行类型转化。

取余用途有哪些?

1.判断能不能整除?

2.用来把数变成某个范围之内的数。

自增与自减操作:

语法:

变量名++; ++变量名;

int a = 4;

a++;  ++a;

意义:

a++ ++a <==> a = a+1; <==> 1.把a的值取出来。2.把a的值加上1。3.把加完的结果再赋给a。

5++ 为什么不正确?

const int b = 5;

b++; 为什么不正确?

++a与a++的区别?

1.如果这一行语句中,只有唯一的++或--运算,不再有其它运算的话,前++后++效果是一样的。

2.如果这一行语句中,除了++ --外,还有其它运算。

前++,最先执行。后++,最后执行。

例如:

int a = 5;

int b;

b = a++; //相当于b = a; a = a+1;

Console.WriteLine(a); //a=6

Console.WriteLine(b); //b=5

b = ++a; //相当于a = a+1;b=a;

Console.WriteLine(a); //a=6

Console.WriteLine(b); //b=6

二、关系运算符:6个

== != > >= < <=

所有关系运算符,运算的结果都是bool型。

int a = 5;

int b = 6;

Console.WriteLine(a == b); //False

Console.WriteLine(a != b); //True

Console.WriteLine(a > b); //False

Console.WriteLine(a < b); //True

Console.WriteLine(a >= b); //False

Console.WriteLine(a <= b); //True

注意:不要把== 写成 =

三、逻辑运算符

&&   ||   !

int a = 5;

int b = 6;

a>6 && b<=10 //结果是False

18<a<35 ==> a>18 && a<35

a<18 或 a>35 ==> a<18 || a>35

&& 有且仅有两个条件都成立,结果才成立True;如有一个不成立,或者两个都不正确,结果就False

||   除非两个都不成立,结果才不成立False;只要有一个成立,结果就成立True。

! 取反运算。

int a = 16;

bool b =  a>18 && a<35; //b == false

bool c = !(a>18 && a<35); //c == true

四、其它运算

=  赋值运算,把右侧的值赋给左侧。因此它的左侧只能是变量,不能是常量或表达式。

+= -= *= /= %= --- 复合运算符。

int a = 5;

a += 10;  // <==> a = a+10; //1. 执行a+10。2.把相加的结果赋给a;

?: -- 条件运算符。

逻辑(关系)式?式子二:式子三;

int a = 10

int b = 5;

bool c = a>b?a:b;   //若a>b为真 则执行a 否则执行b