运算符与表达式
- 算术运算符:+,-,* ,/,%,++,–
- 关系运算符:>,<,>=,<=,==,!=
- 逻辑运算符:!,&,|,^,&&,||
- 位运算符:&,|,^,~,>>,<<
- 赋值运算符:= (扩展赋值运算符:+=,-=,*=,/=)
- 字符串连接运算符:+
一、常用运算符
1.算术运算符
+,-, * , /, %
其中%表示求余,没有乘方运算(在C#中进行乘方运算需要使用math中的乘方函数)
2.关系运算符
‘>,<,>=,<=,==,!=’
其中需注意等于、不等于的写法
3.逻辑运算符
与 &,或 | ,非 ! ,异或 ^,条件与 &&,条件或 ||
条件逻辑运算,也叫短路逻辑运算
&& 第一个操作数为假时,则不用再判断第二个操作数——>False(假)
|| 第一个操作数为真时,则不用再判断第二个操作数——>True(真)
3.字符串连接运算符(+)
- “+”除了可以用于算术加法运算外,还可以用于对字符串进行连接操作
int i = 300 + 5;
String s = "hello," + "world!";——>hello, world!
- “+”运算符两侧的操作数中只要有一个是字符串(string)类型,系统会自动将另一个操作数转换为字符串然后进行连接。
String s = " hello," + 300 + 5 + "号";
——>hello,3005号
4.赋值运算符
- 当"="两侧的数据类型不一致时,可以使用默认类型转换或者是强制类型转换(casting)原则进行处理。
long l = 100;
——>可以将(int)整型转化为长整型(long)
int i = (int) l;
——>若要将长的转化为短的,就需要进行强制转换
特例:
可以将整型常量直接赋值给byte ,short,char等类型的变量,而不需要进行强制类型转换,只要不超出其表数范围。
例:
byte b = 12;
//合法
byte b = 4096;
//非法
二、表达式
表达式是符合一定语法规则的运算符和操作数的序列。
例:
- a
- (a-b) * c - 4
- i< 30 && i%10 != 0
- m = a>b ? a : b
当有不同种类的混合时
int —>long —>float —>double
另外,注意整型提升
(所有的byte,short,char等转化为int——>例两个byte型相加,结果转为int型)
运算符的优先级
单目运算符>算术运算符>关系运算符>逻辑运算符>三目运算符>赋值运算符 - 类型的转换
1.字符串转换为数值(.Parse())
double.Parse(s)
//s代表字符串,将字符串转换为实数
int.Parse(s)
//s代表字符串,将字符串转换为整型
2.数字转换为字符串(.ToString())
10.ToString()
——>“10”
""+10
——>“10”
3.使用Convert进行类型转换
Convert.ToInt32(Textbox1.Text)——>转换成32位整数
Convert.ToDouble(“123.45”)——>转换成实数
Convert.ToDateTime(“2020-2-9 15:13”)——>转换成时间日期
注:
表达式的类型和值
对表达式中操作数进行运算得到的结果称为表达式的值
表达式的值的数据类型即为表达式的类型
@梦幻泡沫