java运算_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java运算

java运算

 2014/11/15 13:06:40  cccyyy12  程序员俱乐部  我要评论(0)
  • 摘要:一.算术运算符算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。操作符描述+加法-相加运算符两侧的值-减法-左操作数减去右操作数*乘法-相乘操作符两侧的值/除法-左操作数除以右操作数%取模-右操作数除左操作数的余数++自增-操作数的值增加1--自减-操作数的值减少1下面列出了所有的算术运算符:publicclassTest{publicstaticvoidmain(String[]args){inta=20;intb=40;System.out.println("a+b="+(a+b
  • 标签:Java

一.算术运算符
算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。

caozuofu.html" target="_blank">操作符 描述 ? + 加法 - 相加运算符两侧的值 ? - 减法 - 左操作数减去右操作数 ? * 乘法 - 相乘操作符两侧的值 ? / 除法 - 左操作数除以右操作数 ? % 取模 - 右操作数除左操作数的余数 ? + + 自增 - 操作数的值增加1 ? - - 自减 - 操作数的值减少1

下面列出了所有的算术运算符:
public class Test {
??? public static void main(String[] args) {
??? ??? int a=20;
??? ??? int b=40;
??????? 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("a++="+(++a));//先加后用
??????? System.out.println("b--="+(b--));//先用后减
??????? System.out.println("b="+b);
??? }
}
运行结果:

a+b=60
a-b=-20
a*b=800
b/a=2
b%a=0
a++=21
b--=40
b=39

?

二.关系运算符

操作符 ??? 描述 ??
== ????????? 检查如果两个操作数的值是否相等,如果相等则条件为真。 ???
=! ??????? 检查如果两个操作数的值是否相等,如果值不相等则条件为真。
>? ?????????? 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 ?
<? ?????????? 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 ?
> = ???????? 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 ?
<= ????????? 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。?

?

三.逻辑运算符
逻辑运算符共有三种:
1.“非”(“!”):
非运算(!)表示否定,取反,如:!true等于false、!false等于true、!2等于false、!0等于true。
2.“和”(“&&”):
和运算(&&)前后两个条件都为真时,才返回true,否则返回false。
3.“或”(“||”):
或运算(||)前后两个条件有一个为真是,返回true,都为假时,返回false。

public class Test {
?? ?public static void main(String[] args) {
?? ??? ?int a = 5;
?? ??? ?int b = 8;
?? ??? ?int c = 5;
?? ??? ?System.out.println("a>b ?" + !(a > b));
?? ??? ?System.out.println("a>b && a<b ?" + ((a > b) && (a < b)));
?? ??? ?System.out.println("a>b || a<b ?" + ((a >= b) || (a == b)));
?? ??? ?System.out.println("a>b || a=c ?" + ((a < b) || (a == c)));
?? ?}
}
运行结果:
a>b ?true
a>b && a<b ?false
a>b || a<b ?false
a>b || a=c ?true

四.位运算符
位运算符主要针对二进制,它包括了:
1.“与”("&"):
与运算(&)两个操作数的位都为 1,结果才为 1,否则结果为 0。
2.“非”("~"):
非运算(~)的操作数的位如果为 0,结果是 1,如果为 1,结果是 0。
3.“或”("|"):
或运算(|)两个操作数的位只要有一个为 1,那么结果就是 1,否则就为 0。
4.“异或”("^"):
异或运算(^)的两个操作数的位相同时结果为 0,不同时结果为 1。

public class Test {
?? ?public static void main(String[] args) {
?? ??? ???????? int a=10;//0000 0000 0000 0000 0000 0000 0000 1010
??????????????? int b=20;//0000 0000 0000 0000 0000 0000 0001 0100
??????????????? int x=30;//0000 0000 0000 0000 0000 0000 0001 1110
??????????????? int y=40;//0000 0000 0000 0000 0000 0000 0010 1000
??????????????? System.out.println("~a ="+(~a));
??????????????? System.out.println("a & b ="+(a&b));
??????????????? System.out.println("a | b ="+(a|b));
??????????????? System.out.println("x ^ y ="+(x^y));
?? ?}
}
运行结果:
~a =-11
a & b =0
a | b =30
x ^ y =54

五.移位运算符
1.左移位运算符(<<)
将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补 0)。
2.“有符号”右移位运算符(>>)
将运算符左边的运算对象向右移动运算符右侧指定的位数。
“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。
3.“无符号”右移位运算符(>>>),它使用了“零扩展”:无论正负,都在高位插入0。

public class Test {
?? ?public static void main(String[] args) {
?? ??? ?//-8:1111 1111 1111 1111 1111 1111 1111 1000
??????? System.out.println("-8>>3 ="+(-8>>3));
??????? System.out.println("-8<<3 ="+(-8<<3));
??????? System.out.println("-8>>>3 ="+(-8>>>3));
?? ?}
}
运行结果:
-8>>3 =-1
-8<<3 =-64
-8>>>3 =536870911

?

六.赋值运算符

操作符 描述 例子 = 简单的赋值运算符,将右操作数的值赋给左侧操作数 C = A + B将把A + B得到的值赋给C + = 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 C + = A等价于C = C + A - = 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 C - = A等价于C = C -
?A * = 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 C * = A等价于C = C * A / = 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 C / = A等价于C = C / A %= 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 C%= A等价于C = C%A << = 左移位赋值运算符 C << = 2等价于C = C << 2 >> = 右移位赋值运算符 C >> = 2等价于C = C >> 2 &= 按位与赋值运算符 C&= 2等价于C = C&2 ^ = 按位异或赋值操作符 C ^ = 2等价于C = C ^ 2 | = 按位或赋值操作符 C | = 2等价于C = C | 2

?

七.条件运算符

?

条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。

variable x = (expression) ? value if true : value if false

?

public class Test {
??? public static void main(String[] args) {
??? ??? int a=20;
??? ??? int b=40;
??????? System.out.println((a>b)?"a>b":"a<=b");
??? }
}
运行结果:

a<=b

?

八.instanceof运算符

使用格式如下:

( Object reference variable ) instanceOf? (class/interface type)

?

public class Test {
??? public static void main(String[] args) {
??? ??? String a="It's a string.";
??????? System.out.println((a instanceof String));
??? }
}
运行结果:

true

?

运算符优先级:

类别 操作符 关联性 后缀 () [] . (点操作符) 左到右 一元 + + - !? 从右到左 乘性? * /% 左到右 加性? + - 左到右 移位? >> >>> ?<<? 左到右 关系? >> = << =? 左到右 相等? ==? != 左到右 按位与 & 左到右 按位异或 ^ 左到右 按位或 | 左到右 逻辑与 && 左到右 逻辑或 | | 左到右 条件 ?: 从右到左 赋值 = + = - = * = / =%= >> = << =&= ^ = | = 从右到左 逗号 , 左到右

?

?

?

参见:http://www.w3cschool.cc/java/java-operators.html

?

发表评论
用户名: 匿名