Java 运算符大全

来源:互联网 发布:node req.session 编辑:程序博客网 时间:2024/04/30 12:29

Java提供了一组运算符丰富的操纵变量。我们可以把所有的Java操作符为以下几组:

  • 算术运算符

  • 关系运算符

  • 位运算符

  • 逻辑运算符

  • 赋值运算符

  • 其它运算符








算术运算符:




算术运算符用于在数学表达式中,他们是在代数中使用的方法相同。下表列出了算术运算符:

假设整型变量A=10和变量B=20,则:

算术运算实例

运算符描述实例+Addition - Adds values on either side of the operatorA + B = 30-Subtraction - Subtracts right hand operand from left hand operandA - B = -10*Multiplication - Multiplies values on either side of the operatorA * B = 200/Division - Divides left hand operand by right hand operandB / A = 2%Modulus - Divides left hand operand by right hand operand and returns remainderB % A = 0++Increment - Increases the value of operand by 1B++ =21--Decrement - Decreases the value of operand by 1B-- =19public class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 25;
int d = 25;
System.out.println("a+b="+(a + b));
System.out.println("a-b="+(a-b));
System.out.println("a * b = "+(a * b));
System.out.println("b / a = "+(b / a));
System.out.println("b % a = "+(b % a));
System.out.println("c % a = "+ (c % a));
System.out.println("a++ = "+ (a++));
System.out.println("a-- ="+(a--));
System.out.println("d++ =" + (d++));
System.out.println("++d = " + (++d));
}
}

关系运算符:

有下列由Java语言支持的关系运算符

假设变量A=10和变量B=20,则:

关系运算符实例

运算符描述实例==Checks if the values of two operands are equal or not, if yes then condition becomes true.(A == B) is not true.!=Checks if the values of two operands are equal or not, if values are not equal then condition becomes true.(A != B) is true.>Checks if the value of left operand is greater than the value of right operand, if yes then condition becomes true.(A > B) is not true.<Checks if the value of left operand is less than the value of right operand, if yes then condition becomes true.(A < B) is true.>=Checks if the value of left operand is greater than or equal to the value of right operand, if yes then condition becomes true.(A >= B) is not true.<=Checks if the value of left operand is less than or equal to the value of right operand, if yes then condition becomes true.(A <= B) is true.public class Test2 {
public static void main(String[] args) {
int a = 10;
int b = 20;
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("b >= a =" + (b >= a));
System.out.println("b <= a =" + (b <= a));
}
}

位运算符:

Java定义了几个位运算符,它可以应用到整数类型,长型,整型,短整型,字符和字节。

位运算符作用于位,并执行逐位操作。假设当a =60和b= 13; 现在以二进制格式,他们将会如下:

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a  = 1100 0011

下表列出了按位运算符:

假设整型变量A=60和变量B=13,则:

位运算实例



http://blog.csdn.net/vebasan/article/details/6193916

public class Test3 {
public static void main(String[] args) {
int a = 60;
int b = 30;
int c = 0;
c = a & b;
System.out.println("a & b = "+(a & b));
c = a | b;
System.out.println("a | b = "+ c);
c = a ^ b;
System.out.println("a ^ b = "+ c);
c = ~ a;
System.out.println("~a = " + c);
c = a << 2;
System.out.println("a << 2 ="+c);
c = a >> 2;
System.out.println("a >> 2 =" + c);
c = a >>> 2;
System.out.println("a >>> 2 =" + c);
}
}

逻辑运算符:

下表列出了逻辑运算符:

假设布尔变量A=ture,变量B=false,那么:

逻辑运算符实例

运算符描述实例&&Called Logical AND operator. If both the operands are non-zero, then the condition becomes true.(A && B) is false.||Called Logical OR Operator. If any of the two operands are non-zero, then the condition becomes true.(A || B) is true.!Called Logical NOT Operator. Use to reverses the logical state of its operand. If a condition is true then Logical NOT operator will make false.!(A && B) is true.
public class Test4 {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println("a && b = "+ (a && b));
System.out.println("a || b = "+ (a || b));
System.out.println("!(a && b) ="+ !(a && b));
}
}

这将产生以下结果:

a && b = false
a || b = true
!(a && b) =true

赋值运算符:

有下列由Java语言支持赋值操作符:

赋值运算符实例




public class Test5 {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 0;
c = a + b;
System.out.println("c = a + b = "+c);
c += a;
System.out.println("c += a = "+ c);
c -= a;
System.out.println("c -= a = "+ c);
c *= a;
System.out.println("c *= a = "+ c);
a = 10;
c = 15;
c %= a;
System.out.println("c %= a = "+ c);
c <<= 2;
System.out.println("c <<= 2 = "+ c);
c >>= 2;
System.out.println("c >>= 2 = "+ c);
c &= a;
System.out.println("c &= a = "+ c);
c ^= a;
System.out.println("c ^= a = " + c);
c |= a;
System.out.println("c |= a = " + c);
}
}

这将产生以下结果:

c = a + b = 30
c += a = 40
c -= a = 30
c *= a = 300
c %= a = 5
c <<= 2 = 20
c >>= 2 = 5
c &= a = 0
c ^= a = 10
c |= a = 10

其它运算符

Java 语言支持一些其他的运算符。

条件运算符 ( ? : ):




条件运算符也被称为三元运算符。该运算符包括三个操作数,用于评估计算布尔表达式。此运算符的目标是确定哪些值应分配给该变量。可写为:

variable x = (expression) ? value if true : value if false
public class Test6 {
public static void main(String[] args) {
int a , b;
a = 10;
b = (a == 1)? 20 : 30;
System.out.println("value of b is :"+b);
b = (a == 10) ? 20 : 30;
System.out.println("value of b is " + b);
}
}

这将产生以下结果:

value of b is :30
value of b is 20

instanceof运算符:

这个操作符只用于对象引用变量。操作检查对象是否为特定类型(类类型或接口类型)。instanceof 运算符被写为:

( Object reference variable ) instanceof  (class/interface type)

如果运算符的左侧提到的变量的对象传递了IS-A检查右侧的类/接口类型,那么结果将为 true。下面是例子:



public class Test7 {
public static void main(String[] args) {
String name = "James";
boolean result = name instanceof String;
System.out.println("result :" + result);
}
}

这将产生以下结果:

result :true

优先级的Java操作符:

运算符优先级决定的条件在表达式中分组。这会影响一个表达式如何计算。某些运算符的优先级高于其它,例如,乘法运算符的优先级比加法运算高:

例如x= 7+3* 2;这里x被赋值13,而不是20,因为运算符*的优先级高于+,所以它首先被乘以3 * 2,然后加7。

这里,具有最高优先级的操作出现在表格上方,那些具有最低出现在底部。在表达式中,优先级较高的运算符将首先评估计算。

分类 运算符关联 Postfix () [] . (dot operator)Left to right Unary ++ - - ! ~Right to left Multiplicative  * / % Left to right Additive  + - Left to right Shift  >> >>> <<  Left to right Relational  > >= < <=  Left to right Equality  == != Left to right Bitwise AND & Left to right Bitwise XOR ^ Left to right Bitwise OR | Left to right Logical AND && Left to right Logical OR || Left to right Conditional ?: Right to left Assignment = += -= *= /= %= >>= <<= &= ^= |= Right to left Comma , Left to right 

参考资料http://www.yiibai.com/java/java_basic_operators.html

0 0
原创粉丝点击