Java中的运算符包括算法运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符、对象、下标、实例、内存分配、强制类型转换、方法调用运算符等
一、算术运算符
| 算数运算符 | 操作 | 示例 | 结果 |
|---|---|---|---|
| + | 正号 | +5 | 5 |
| - | 负号 | -5 | -5 |
| + | 加 | 5+5 | 10 |
| - | 减 | 11-5 | 6 |
| * | 乘 | 5*5 | 25 |
| / | 除 | 5/5 | 1 |
| % | 取模 | 5%2 | 1 |
| ++ | 自增(前) | a=5;b=++a | a=6;b=6 |
| ++ | 自增(后) | a=5;b=a++ | a=6;b=5 |
| – | 自减(前) | a=5;b=–a | a=4;b=4 |
| – | 自减(后) | a=5;b=a– | a=4;b=5 |
| + | 字符串相加 | “123”+“456” | “123456” |
注意
1、i++、++i参与运算的区别
i++:先参与运算、再自增;++i:先自增、再参与运;- -亦如此
2、Java的计算规则
(1)、计算的封闭性:同一种数据类型参与运算,计算结果也是相同的数据类型
(2)、当byte、char、short类型的变量参与运算时,JVM会首先将byte、char、short的变量转换成int类型再进行运算
(3)、两个不同类型的操作数参与运算时,系统会将两者先统一为较大范围者的数据类型再进行运算
public class Test02Operator {
//运算符
public static void main(String[] args) {
//i--和--i的区别
//1、不参与运算时,效果一样,都是自增或自减
int b = 10;
b--;
--b;
//2、参与运算时
int i = 10;
int c = i--; //--在后,先参与运算,再自增或自减
System.out.println(i); //i = 9
System.out.println(c); //10
i = 10;
c = --i; //--在前,先自增或自减,再参与运算
System.out.println(i); //i = 9
System.out.println(c); //c = 9
/*
* 运算规则
* */
System.out.println(5/2.5); //2.0,运算的封闭性
char ch = 'A';
char ch2 = 'a';
byte b1 = 5;
short s = 5;
int result = ch + ch2;
// 先转换为int类型再运算
System.out.println(result); //162 = 65+97
result = b1 + s; //会先转换为较大的数据类型
System.out.println(result);//10=5+5
double d = result + ch + b;
System.out.println(d); //83.0
}
}
二、赋值运算符
| 常见赋值运算符 | 格式 | 示例 | 结果 |
|---|---|---|---|
| = | 变量=表达式 | a = 5 | 将3赋值给a |
| += | 变量 += 表达式 | a += 5 | a = a+5 |
| -= | 变量 -= 表达式 | a -= 5 | a = a-5 |
| *= | 变量 *= 表达式 | a *= 5 | a = a*5 |
| /= | 变量 /= 表达式 | a /= 5 | a = a/5 |
| %= | 变量 %= 表达式 | a %= 5 | a = a%5 |
注意:在使用扩展赋值运算符时会自动完成强制类型转换
public class Test02Operator {
//运算符
public static void main(String[] args) {
// 赋值运算符
double num = 5;
// int r =num + 6; //报错
int r = 5;
r += num; //会执行强制转换
System.out.println(r); //10
}
}
三、关系运算符
| 关系运算符 | 缩写 | 操作 | 示例 | 结果 |
|---|---|---|---|---|
| < | LT | 小于 | 5<2 | false |
| <= | LE | 小于等于 | 2<=2 | true |
| > | GT | 大于 | 5>2 | true |
| >= | GE | 大于等于 | 1>=2 | false |
| == | EQ | 等于 | 2==3 | false |
| != | EN | 不等于 | 2 != 3 | true |
四、逻辑运算符
| 逻辑运算符 | 操作 | 示例 | 结果 |
|---|---|---|---|
| & | AND(逻辑与) | false & true | false |
| | | OR(逻辑或) | false | true | true |
| ! | NOT(逻辑非) | ! true | false |
| && | AND(逻辑与,具有短路效果) | false && true | false |
| || | OR(逻辑或,具有短路效果) | false || true | true |
注意
&和&&的区别:一个&时,无论左边真假,右边都进行运算;两个&&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。|和||同理
五、三目运算符
语法格式:条件表达式 ? 表达式1 :表达式2;
如果条件表达式为true,则结果为表达式1;否则为2。
public class Test09 {
public static void main(String[] args) {
// 三目运算符判断两个数的大小
int num1 = 10;
int num2 = 20;
System.out.println(num1>=num2?num1+"大于"+num2:num2+"大于"+num1);
}
}
本文介绍了Java中的各种运算符,包括算术运算符如加减乘除和自增自减,赋值运算符的扩展形式,关系运算符如小于、大于、等于,逻辑运算符的与、或、非以及短路效果,还有三目运算符的使用示例,帮助理解Java中的表达式计算规则。
945

被折叠的 条评论
为什么被折叠?



