数据类型:
整型: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