JAVA运算符
运算符:进行特定操作的符号,例如:+,-
表达式:用运算符连接起来的式子为表达式.例如:1+1
1. 算数运算符
注意:在运算过程中,如果存在两种不同数据类型的数据运算,结果将会是数据类型范围大的那种
算数运算符号 | 含义 |
---|---|
+ | 数值的加法运算;字符串的拼接运算 |
- | 数值减法, |
* | 数值乘法 |
/ | 数值除法,只取商 |
% | 数值取模,只取余数 |
++ ,-- | 自增,自减 |
Java中的加法运算:
- 数值的加法
- 对于字符char,先进行类型转换(依据ASCII码表,以及Unicode码表),提升为int,再进行加法计算
- 对于字符串,加号代表字符串拼接,任何数据和String进行连接都会变成字符串
public class test{
public static void main(String[] args)
{
System.out.println(20-33);//-10
//除法:被除数/除数=商...除数 只取商
int x=10;
int y=3;
System.out.println(x/y);//3
System.out.println(x%y);//1
//字符串连接
System.out.println("hello"+20+30);//hello2030
//若想出现hello50,改变运算优先级即可,
System.out.println("hello"+(20+30));//hello50
}
}
Java中的自增,自减运算符:
含义:变量加一,变量减一
使用格式:++变量,变量++;–变量,变量–
使用方式:
-
单独使用:不和其他操作进行混合操作.此时**++变量和变量++**一样,减法类似
-
混合使用:和其他操作混合使用,此时:
- 如果是前++(–),先立刻进行自增(自减),在进行其余混合运算,先加后用
- 如果是后++(–),先运算,后自增(自减),先用后加
public class test{ public static void main(String[] args) {//减法类似 int x=1; x++; System.out.println(x);//2 ++x; System.out.println(x);//3 System.out.println(x++);//3 System.out.println(x);//4 System.out.println(++x);//5 } }
注意:常量不可以使用++或–,也就是
30++;
存在语法错误
2. 赋值运算符
赋值运算符 | 含义 |
---|---|
= | 等于号 |
+= | 加等a+=3; 相等于a=a+3; |
-= | 减等 |
*= | 乘等 |
/= | 除等 |
%= | 模等 |
注意:
- 常量不能进行赋值,不能将常量写在左边
- 赋值运算隐含强制类型转换
3. 比较运算符
比较运算符 | 含义 |
---|---|
== | 比较左右两边是否相等,相等为true |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
!= | 不等于 |
注意:
- 比较运算符结果是布尔值,也就是有两个值,true false
- 如果进行多次判断,不能连着写
1<x<3
不能这样写
4. 逻辑运算符
逻辑运算符有 | 含义 |
---|---|
&& | 与(二者为true,才为true) |
|| | 或(至少有一个true) |
! | 非(取反) |
&&和||都具有短路效果
- && 前边为假,不用进行后边运算,则为假
- || 前边为真则为真
注意:
- 逻辑运算符只能用于布尔值
- && || 需要左右各有布尔值,取反一个就好
- &&,||可以连续写
1<x<3
可以写为:1<x&&x<3
5. 三元运算符
一元运算符:一个数据就能进行的操作,取反,自增,自减
二元运算符:两个数据进行的操作,加法,减法,赋值
三元运算符:三个数据进行的操作
格式:数据类型 变量=条件判断?表达式A:表达式B
条件成立,变量=表达式A
,不成立变量=表达式B
注意事项:
- 表达式A和表达式B都要符合左侧数据类型
- 三元运算符,必须被使用
int a=10;
int b=20;
a>b?a:b;//错误写法
int result=a>b?205:10;//错误写法
System.out.println(a>b?a:b);//正确写法