*运算符:
一、算术运算符:
a+b是表达式,有算数运算符,也称算术表达式
+ :加
- :减
* :乘
/ :除(取商)
% :取余(取余)
(整数相除只能得到整数,要想得到小数,必须有浮点数的参与,例如10+10.0)
字符 “+” 操作:
拿字符在计算机底层对应的数值来进行计算的,可以了解一下ASCII码
算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动提升
字符串 “+” 操作:
1.字符串+字符串为字符串拼接
2.字符串+数字为字符串拼接(反过来也一样)
3.数字 + 数字 + 字符串为先数字相加在字符串拼接(6+66+黑马 = 72黑马)
4.字符串 + 数字 + 数字为两次字符串拼接(黑马 + 6 + 66 = 黑马666)
总结:从左到右逐个运算
二、赋值运算符:
分类:
= : 赋值
格式:①数据类型 变量名 = 值或者变量;(int i = 10;)②变量名 += 值或者变量;(i += 20;其伴有自动类型转换的操作)
③变量名 = 变量名 + 值或者变量;(i = i + 20;其不伴有自动类型转换,若要用该格式进行不同类型相加,即用强制类型转换,即i = (目标数据类型)(i + 20);)
+ =:加后赋值
- =:减后赋值
* =:乘后赋值
/ =:除后赋值
% =:取余后赋值
总结:以上除第一个外都是有强制类型转换的操作
三、自增自减运算符:
分类:
+ + :自增 即变量的值加1 格式:i ++;或者++ i;(单独使用)
- - :自减 即变量的值减1 格式:i --;或者-- i;(单独使用)
注意:当参与操作使用的两种写法不同
格式:①int j = i ++; 即先赋值再进行i的自增,输出的值j:i , i:i+1(自减也是类似)
②int j = ++ i; 即先是i的自增再进行赋值,输出值j:i+1 , i:i+1(自减也是类似)
四、关系运算符:
分类:
== :a==b ,判断a和b的值是否相等,成立为true,不成立为false
!= : a!=b, 判断a和b的值是否不相等,成立为true,不成立为false
> : a >b , 判断a是否大于b,成立为true,不成立为false
< : a<b , 判断a是否小于b,成立为true,不成立为false
>= : a>=b, 判断a是否大于等于b,成立为true,不成立为false
<= : a<=b, 判断a是否小于等于b,成立为true,不成立为false
注意:结果都是布尔类型
五、逻辑运算符:
连接关系表达式的运算符,即有两个关系需要用此运算符连接,也可以直接连接布尔类型的常量或者变量
基本逻辑运算符
分类:
& :逻辑与 有false,则false( 结果都为true为true ,结果都为false为false,不同为false)
| : 逻辑或 有true,则true(结果都为true为true ,结果都为false为false,不同为true)
^ :逻辑异或 结果相同为false,不同为true
! :逻辑非 表示反过来,同时能有多个!符号
注意:结果都是布尔类型
短路逻辑运算符:
分类:
&& : 短路与 第一个关系执行结果为true才会继续执行判断连接的另一个关系,否则不会继续执行判断
|| : 短路或 第一个关系执行结果为false才会继续执行判断连接的另一个关系,否则不会继续执行判断
六、三元运算符:
格式: 关系表达式?表达式1 : 表达式2;
范例:a > b ? a : b ;
结果:
首先计算关系表达式的值
如果值为true,表达式1的值就是运算结果
如果值为false,表达式2的值就是运算结果
另外一种格式:
前提要有boolean j = true;
则有关系表达式?表达式1 : 表达式2;
结果:
表达式1的值就是运算结果
用法:可用于求最大值或者最小值,案例:两只老虎,三个和尚