运算符
运算符与表达式:
运算符:对字面量或变量操作的符号。
表达式:用运算符把字面量或者变量连接起来,符合Java语法的式子。
一、算术运算符:
+,-,*,/,%(取模,取余)。
特别地,在有小数参与运算时,有可能出现结果不精确的情况。例如:1.1+1.01。
只有整数参与运算时,结果也为整数。
+:
1.数字相加:
数字进行运算时,数据类型不一样不能进行运算,需要转成一样的数据类型,才能进行运算。
类型转换的分类:
隐式转换(自动类型提升):取值小的数值转换为取值大的数值。
注意,byte,short,char三种类型的数据在运算时,是直接提升为int类型,在进行运算的。
强制转换:取值大的数值转换为取值小的数值。
格式:目标类型数据 变量名=(目标类型数据)被强制转换的数据;
例如:double a=12.3;
int b=(int)a;//b=12
2.字符相加:
当加操作中出现字符串时,“+”变为字符串连接符,结果为前后数据的拼接,产生一个新的字符串。
特别地,连续进行加操作时,需要从左到右进行。
3.字符相加:
当出现字符加字符或者字符加数字时,会把字符转换为ASCⅠⅠ码值进行计算。
二、自增自减运算符:
++,--。
前置运算:int i=1;j=++i;//i=2,j=2。先改变变量的值,再引用。
后置运算:int i=1;j=i++;//i=2,j=1。先引用,再改变变量的值。
三、赋值运算符(底层都隐藏了一个强制类型转化):
赋值运算符“=”是双目运算符,其左侧的操作数必须是变量,不能是常量或者表达式。
四、关系运算符:
>,<,>=,<=,==,!=(不等于)。
注意,关系运算符的结果都是boolean类型的,即只有true和false两个值。