一、赋值运算符
赋值运算符“=”,是一个二元运算符,其功能是将右边操作数所含的值赋给作坊的操作数,比如
int a = 100;
代码实况如下
package Number;
public class Eval {
public static void main(String[] args) {
int a,b,c; //声明int型变量abc
a=15; //将15赋值给a
c=b=a+4; //将a和4的和赋值诶b,然后在赋值给c
System.out.println("c值为:"+c); //将变量C的值输出
System.out.println("c值为:"+b); //将变量B的值输出
}
}
二、算术运算符
java中的算术运算符主要有+、-、*、/、%,它们都是二元运算符
运算符 | 说明 | 实例 | 结果 |
+ | 加 | 12.45f+15 | 27.45 |
- | 减 | 4.56-0.16 | 4.4 |
* | 乘 | 5L*12.45f | 62.25 |
/ | 除 | 7/2 | 3 |
% | 求余 | 12%10 | 2 |
提示:“+”和“-”还可以作为数据的正负符号
代码实况如下
package Number;
public class Arith {
public static void main(String[] args) {
float a=45.56f;
int b=152;
int c=24;
System.out.println("和为:"+(a+b));
System.out.println("差为:"+(a-b));
System.out.println("积为:"+(a*+b));
System.out.println("商为:"+(a/b));
System.out.println("余为:"+(b%c));
}
}
三、自增和自减运算符
自增、自减运算符是单目运算符,可以放在操作元之前,也可以放在操作元之后,操作元必须是一个整数或浮点数变量。
代码实例如下
++a(--a); //表示在使用变量a之前,先使a的值加(减)1
a++(a--); //表示在使用变量a之后,使a的值加(减)1
分析下++a与a++的作用相当于a=a+1,假设a=4
b=++a; //先将a的值+1,然后赋值给b,此时a值为5,b为5
再换个看法,假设a=4
b=a++; //先将a的值赋给b,再将a的值变为5,此时a值为5,b值为4
四、比较运算符
比较运算符属于二元运算符,用于程序中的变量之间、变量和自变量之间以及其他类型的信息之间的比较。
运算符 | 作用 | 举例 | 操作数据 | 结果 |
> | 比较左方是否大于右方 | 'a'>'b' | 整型、浮点型、字符型 | false |
< | 比较左方是否小于右方 | 156<456 | 整型、浮点型、字符型 | true |
== | 比较左边是否等于右方 | 'c'=='c' | 基本数据类型、引用型 | true |
>= | 比较左边是否大于等于右方 | 479>=426 | 整型、浮点型、字符型 | true |
<= | 比较作坊是否小于等于右方 | 12.45<=45.5 | 整型、浮点型、字符型 | true |
!= | 比较左方是否不等于右边 | 'y'!='t' | 基本数据类型、引用型 | true |
代码实况如下
package Number;
public class Compare {
public static void main(String[] args) {
int a=4; //
int b=5; //
//依次将a和b来比较
System.out.println("a>b的返回值是:"+(a>b));
System.out.println("a<b的返回值是:"+(a<b));
System.out.println("a==b的返回值是:"+(a==b));
System.out.println("a!=b的返回值是:"+(a!=b));
System.out.println("a>=b的返回值是:"+(a>=b));
System.out.println("a<=b的返回值是:"+(a<=b));
}
}
五、逻辑运算符
返回类型为布尔值的表达式,如比较运算符,可以被组合在一起构成一个更复杂的表达式,这是通过逻辑运算符来实现的
运算符 | 含义 | 用法 | 结合方向 |
&&、& | 逻辑与 | op1&&op2 | 从左到右 |
|| | 逻辑或 | op1||op2 | 从左到右 |
! | 逻辑非 | !op | 从右到左 |
使用逻辑运算符进行逻辑运算
表达式1 | 表达式2 | 表达式3 | 表达式4 | 表达式5 |
true | true | true | true | false |
true | false | false | true | false |
true | false | false | false | true |
true | true | false | true | true |
代码实况如下
package Number;
public class Calculation {
public static void main(String[] args) {
int a=2;
int b=5;
//声明boolean型变量,用于保存应用逻辑运算符“&&”后的返回值
boolean result=((a>b)&&(a!=b));
//声明boolean型变量,用于保存应用逻辑运算符“‖”后的返回值
boolean result2=((a>b)||(a!=b));
System.out.println(result);
System.out.println(result2);
}
}
六、位运算符
位运算符除“按位与”和“按位或”运算符外,其他职能用于处理整数的操作数
1.“按位与”运算
“按位与”的运算的运算符是“&”,为双目运算符。“按位与”的运算的运算法则是:两个整型数据a、b对应位都是1,则结果位才是1,否则是0
整数5的二进制表示 | |||
00000000 | 00000000 | 00000000 | 00000101 |
111111111 | 111111111 | 111111111 | 11111100 |
转换到↓
整数-4的二进制表示 | |||
00000000 | 00000000 | 00000000 | 00000100 |
5&-4的结果,十进制数为4 |
2.“按位或”
“按位或”运算的运算符为“|”,为双目运算符。“按位或”的运算的运算法则是:两个整型数据a、b对应位都是0,则结果位才是0,否则是1
整数3的二进制表示 | |||
00000000 | 00000000 | 00000000 | 00000011 |
00000000 | 00000000 | 00000000 | 00000110 |
转换到↓
整数6的二进制表示 | |||
00000000 | 00000000 | 00000000 | 00000111 |
3|6的结果,十进制表示7 |
3.“按位取反”运算
“按位取反”运算也称“按位非”运算,运算符为“~”,为单目运算符。“按位取反”就是将操作数二进制中的1修改为0,0修改为1
整数7的二进制表示 | |||
00000000 | 00000000 | 00000000 | 00000111 |
转换到↓
11111111 | 11111111 | 11111111 | 11111000 |
~7的二进制表示,十进制为-8 |
4.“按位异或”运算
“按位异或”运算的运算符是“∧”,为双目运算符,“按位异或”运算的运算法则是当两个操作数的二进制的表示相同(同时为0或同时为1)时,结果位0,否则为1
整数10的二进制表示 | |||
00000000 | 00000000 | 00000000 | 00001010 |
00000000 | 00000000 | 00000000 | 00000011 |
转换到↓
整数3的二进制表示 | |||
00000000 | 00000000 | 00000000 | 00001001 |
10∧3的结果,十进制表示9 |
5.移位操作
<<:左移
>>:右移
>>>:无符号右移
左移就是将运算符左边的操作数的二进制数据,按照运算符右边操作数指定的位数向左移动,右移移空的部分补0.右移则复杂一些。当使用“>>”符号时,如果最高位是0,右移空的位就填入0,如果最高位是1,右移空的位就填入1
七、三元运算符
三元运算符的使用格式
条件方式?值1:值2
三元运算符的运算法则:若条件式的值为true,则整个表达式取值1,否则取值2
boolean b=20<45?true:false;
等价于三元运算符的if.....else语句
代码实况如下
boolean a; //声明boolean型变量
if(20<45): //将20<45作为判断条件
a=true //条件成立,将true赋值给a
else:
a=false //条件不成立,将false赋值给a
八、运算符优先级
优先级 | 描述 | 运算符 |
1 | 括号 | () |
2 | 正负号 | +、- |
3 | 一元运算符 | ++、--、! |
4 | 乘除 | *、/、% |
5 | 加减 | +、- |
6 | 移位运算 | >>、>>>、<< |
7 | 比较大小 | <、>、>=、<= |
8 | 比较是否相等 | ==、!= |
9 | 按位与运算 | & |
10 | 按为异或运算 | ∧ |
11 | 按位或运算 | | |
12 | 逻辑与运算 | && |
13 | 逻辑与运算 | || |
14 | 三元运算符 | ?: |
15 | 赋值运算符 | = |