赋值运算符
赋值运算符以符号“=”表示,他是一个二元运算符,其功能是将右方操作数所含的值赋给左方的操作数。例如:int a = 100; //表达式是将100赋值给变量a。
在java中可以把赋值运算符连在一起使用,例如:x = y = z = 10; //在这个语句中x、y、z都得到同样的值10,但在程序开发中不建议这样使用。
算数运算符
java中的算数运算符主要有+(加)、-(减)、*(乘)、/(除)、%(求余)。
运算符 | 说明 | 实例 | 结果 |
+ | 加 | 12.45f+51 | 27.45 |
- | 减 | 4.56-0.16 | 4.4 |
* | 乘 | 5L*12.45f | 62.25 |
/ | 除 | 7/2 | 3 |
% | 取余数 | 12%10 | 2 |
注意:在进行除法运算时,0不能做除数。例如:int a = 5/0; //系统就会抛出ArithmeticException异常。
public class Arith{ //创建类
public static void main(String[] args){ //主方法
float number1 = 45.56f; //声明float变量并赋值
int number2 = 152; //声明int变量并赋值
System.out.println("和为:" + (number1 + number2)); //将变量相加的和输出
System.out.println("差为:" + (number1 - number2)); //将变量相减的差输出
System.out.println("积为:" + (number1 * number2)); //将变量相乘的积输出
System.out.println(“商为:” + (number1 / number2)); //将变量相除的商输出
}
}
自增自减运算符
自增自减运算符时单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。
++a(--a) //表示在使用变量a之前,先使a的值加(减)1
a++(a--) //表示在使用变量a之后,使a的值加(减)1
比较运算符
比较运算符属于二元运算符,用于程序中的变量之间、变量和自变量以及其他类型的信息之间的比较。比较运算符的结果使boolean型。
运算符 | 作用 | 举例 | 操作数据 | 结果 |
> | 比较左方是否等于右方 | ‘a’ > 'b' | 整型、浮点型、字符型 | false |
< | 比较左方是否小于右方 | 156 < 233 | 整型、浮点型、字符型 | true |
== | 比较左方是否地等于右方 | 'c' == 'c' | 基本数据类型、引用型 | true |
>= | 比较左方是否大于等于右方 | 432 >= 234 | 整型、浮点型、字符型 | true |
<= | 比较左方是否小于等于右方 | 12.34 <= 54.2 | 整型、浮点型、字符型 | true |
!= | 比较左方是否不等于右方 | 'y'! = ''t | 基本数据类型、引用型 | true |
逻辑运算符
返回类型为布尔值的表达式。如比较运算符,可以组合在一起构成一个更复杂的表达式。这是通过逻辑运算符实现的。逻辑运算符包括&(&&)(逻辑与)、||(逻辑或)、!(逻辑非)。逻辑运算符必须使boolean型数
逻辑运算符
运算符 | 含义 | 用法 | 结合方法 |
&&、& | 逻辑与 | op1&&op2 | 从左到右 |
|| | 逻辑或 | op1||op2 | 从左到右 |
! | 逻辑非 | !op | 从右到左 |
表达式1 | 表达式2 | 表达式1&&表达式2 | 表达式1||表达式2 | !表达式1 |
true | true | true | true | false |
true | false | false | true | false |
false | false | false | false | true |
false | true | tfalse | true | true |
位运算符
位运算符除“按位于”和“按位或”运算符外,其他只能用于处理整数的操作数。位运算是完全针对位方面的操作。整形数据在内存中以二进制的形式表示
左边最高位的符号位,最高位是0表示正数,若位1则表示负数。
“按位与”运算
按位与运算的运算符位“&”,位双目运算符。“按位与”运算的运算法则是:如果两个整型数据a、b对应位都是1,则结果位才表示1,否则为0.如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。
“按位或”运算
“按位或”运算的运算符为“|”,为双目运算符。“按位或”运算的运算法则是:如果两个操作数对应为都是0,则结果才是0,否则为1.如果两个操作数的精度不同,则结果的精度与精度高的操作数相同
“按位取反”运算
“按位取反”运算也称“按位非”运算,运算符为i“~”,为单目运算都。“按位取反”就是将操作数二进制中的1修改为0,0修改为1.
“按位异或”运算
“按位异或”运算的运算符是“^”,为双目运算符。“按位异或”运算的运算的法则是:当两个操作数的二进制表示相同(同时为0或同时为1)是,结果为0,否则为1。若两个操作数的精度不同,则结果的精度与精度高的操作数相同。
位移操作
除了上述的运算符之外,还可以对数据按二进制为进行位移操作。java中的位移运算符有以下3种
1、<<:左移; 2、>>:右移; 3、>>>:无符号右移
左移就是将运算符左边的操作数的二进制数据按照运算符右边的操作数致电给的位数向左移动,右边的移空的部分补0.右移则复杂点。当使用“>>”符号时,如果最高位是0,右移空的位就填入0;如果最高位是1,右移空的位就填入1;无符号右移“>>>”,无论最高位是0还是1,左侧被移空的最高位都填入0.。
三元运算符
三元运算符的使用格式位:条件式?值1:值2
三元运算符的运算规则位:如条件式的值为true,则整个表达式取值1否则取值2。
运算符优先级
优先级 | 描述 | 运算符 |
1 | 括号 | () |
2 | 正负号 | +、- |
3 | 一元运算符 | ++、--、! |
4 | 乘除 | *、/、% |
5 | 加减 | +、- |
6 | 位移运算 | >>、>>>、<< |
7 | 比较是否相等比较大小 | <、>、>=、<= |
8 | 按位与运算比较是否相等 | ==、!= |
9 | 按位与运算 | & |
10 | 按位异或运算 | ^ |
11 | 按位或运算 | | |
12 | 逻辑与运算 | && |
13 | 逻辑或运算 | || |
14 15 | 三元运算符 赋值运算符 | ?: = |