算术运算符: + (加)-(减) *(乘) /(除) %(取余数 取模)
他们都是二元运算符,要求:参与的两个操作数的类型必须相同,并且经过运算后的结果也与操作数的类型相同。
算术表达式:由算术运算符连接起来的式子.如:1+1 a-b(变量ab前面已声明并赋初值)优先级:先乘除,后加减,有括号先算括号里的,相同级别的从左至右运算 5+3*2
在算术表达式中,如果要改变计算的优先级,用小括号。小括号可以无限制的套用,但一定要成对出现。
参与运算(算术运算和赋值运算)的操作数和结果类型必须一致. 当不一致时,满足下面条件时,系统自动完成类型转换 两种类型兼容例如:int 和 double 兼容目标类型大于源类型例如:double > int 对于表达式如果一个操作数为double型,则整个表达式可提升为double型比如10/3求余数要想得到3.333的处理.
例如:
int testNumber=10;
Console.WriteLine(testNumber/3);
答案不是3.3333,而是3,小数点之后的部分被自动消失了,这是因为testNumber是整数,而除数3也是整数,运算出来的结果被自动转换为整数了。为了解决这个问题,可以使用下面的方法
int testNumber=10;
Console.WriteLine(testNumber/3.0); (解决方法一:如果表达式中有一个浮点数,则程序就会先转换使用浮点数计算)
Console.WriteLine((double)testNumber/3); (解决方法二:“限定类型转换”使用double告诉程序先将testNumber的值转换为double,然后再进行除法运算,所以得到的结果会是正确的3.3333。)类型转换的限定关键词就是定义变量时所使用的int ,float等关键词。
一、自动类型转换
int a = 10, b = 3;
int mod = a % b; //1
double quo = a / b; //3
double quo = (1.0*a) / b; //3.3333
发生自动转换的条件(隐式转换)
1. 参与运算的两个数据类型必须相兼容