Java 运算符
操作中的Java是一种用于执行操作的符号。例如:+,-,*,/等。 Java中有许多类型的运算符,如下所示:
一元运算符
算术运算符
移位运算符
关系运算符
按位运算符
逻辑运算符
三元运算符
赋值运算符
类型 |
示例 |
一元 |
expr++ ++expr |
算术 |
* / % + - |
移位 |
<<>> >>> |
关系 |
< > <= >= instanceof == != |
按位 |
& ^ | >&& |
逻辑 |
|| |
三元 |
? : |
赋值 |
= += -= *= /= %= &= ^= |= <<= >>= >>>= |
Java一元运算符
Java一元运算符仅需要一个操作数。一元运算符用于执行各种操作,即:
将值递增/递减
否定表达式
反转布尔值
Java一元运算符示例:++和-
class OperatorExample{
public static void main(String args[]){
int x=10;
System.out.println(x++);//10 (11)
System.out.println(++x);//12
System.out.println(x--);//12 (11)
System.out.println(--x);//10
}
}
输出
Java运算符示例2:++ and --
class OperatorExample{
public static void main(String args[]){
int a=10;
int b=10;
System.out.println(a++ + ++a);//10+12=22
System.out.println(b++ + b++);//10+11=21
}}
输出
Java运算符示例: ~ and !
class OperatorExample{
public static void main(String args[]){
int a=10;
int b=-10;
boolean c=true;
boolean d=false;
System.out.println(~a);//-11 (minus of total positive value which starts from 0)
System.out.println(~b);//9 (positive of total minus, positive starts from 0)
System.out.println(!c);//false (opposite of boolean value)
System.out.println(!d);//true
}}
输出
Java算术运算符
Java算术运算符用于执行加,减,乘和除。它们充当基本的数学运算。
Java算术运算符示例
class OperatorExample{
public static void main(String args[]){
int a=10;
int b=5;
System.out.println(a+b);//15
System.out.println(a-b);//5
System.out.println(a*b);//50
System.out.println(a/b);//2
System.out.println(a%b);//0
}}
输出
Java算术运算符示例:表达式
class OperatorExample{
public static void main(String args[]){
System.out.println(10*10/5+3-1*4/2);
}}
输出
Java左移运算符
Java左移位运算符<<用于将值中的所有位移位到指定次数的左侧。
class OperatorExample {
public static void main(String args []){
System.out.println(10 << 2 ); // 10 * 2 ^ 2 = 10 * 4 = 40
System.out.println(10 << 3 ); // 10 * 2 ^ 3 = 10 * 8 = 80
System.out.println(20 << 2 ); // 20 * 2 ^ 2 = 20 * 4 = 80
System.out.println(15 << 4 ); // 15 * 2 ^ 4 = 15 * 16 = 240
}}
输出
Java右移运算符
Java右移运算符>>用于将左操作数的值向右移动右操作数指定的位数。
class OperatorExample {
public static void main(String args []){
System.out.println(10 >> 2 ); // 10/2 ^ 2 = 10/4 = 2
System.out.println(20 >> 2 ); // 20/2 ^ 2 = 20/4 = 5
System.out.println(20 >> 3 ); // 20/2 ^ 3 = 20/8 = 2
}}
输出
Java移位运算符示例:>> vs >>>
Java右移运算符>>用于将左操作数的值向右移动右操作数指定的位数。
class OperatorExample {
public static void main(String args []){
//对于正数,>>和>>>的作用相同
System.out.println(20 >> 2 );
System.out.println(20 >>> 2 );
//对于负数,>>>将奇偶校验位(MSB)更改为0
System.out.println(-20 >> 2 );
System.out.println(-20 >>> 2 );
}}
输出
Java按位运算符示例:逻辑&&和按位&
如果第一个条件为假,则逻辑&&运算符不会检查第二个条件。仅在第一个条件为真时,它才检查第二个条件。 按位&运算符始终检查两个条件,无论第一个条件为true还是false。
class OperatorExample {
public static void main(String args []){
int a = 10 ;
int b = 5 ;
int c = 20 ;
System.out.println(a <b && a <c); // false && true = false
System.out.println(a <b&a <c); // false&true = false
}}
输出
Java按位运算符示例:逻辑&&与按位&
如果第一个条件为假,则逻辑&&运算符不会检查第二个条件。仅在第一个条件为真时,它才检查第二个条件。 按位&运算符始终检查两个条件,无论第一个条件为true还是false。
class OperatorExample {
public static void main(String args []){
int a = 10 ;
int b = 5 ;
int c = 20 ;
System.out.println(a <b && a ++ <c); // false && true = false
System.out.println(a); // 10,因为未检查第二个条件
System.out.println(a <b&a ++ <c); // false && true = false
System.out.println(a); // 11,因为检查了第二个条件
}}
输出
Java逻辑运算符示例:逻辑|| 和按位|
逻辑|| 如果第一个条件为真,操作员不会检查第二个条件。仅在第一个条件为假时才检查第二个条件。 按位| 操作员始终检查两个条件,无论第一个条件为真还是假。
class OperatorExample {
public static void main(String args []){
int a = 10 ;
int b = 5 ;
int c = 20 ;
System.out.println(a> b || a <c); // true || true=true
System.out.println(a> b | a <c); // true | true=true
// || vs |
System.out.println(a> b || a ++ <c); // true || true=true
System.out.println(a); // 10,因为未检查第二个条件
System.out.println(a> b | a ++ <c); // true | true=true
System.out.println(a); // 11,因为检查了第二个条件
}}
输出
true
true
true
10
true
11
Java三元运算符
Java Ternary运算符用作if-then-else语句的一种衬里替换,并且在Java编程中使用很多。它是唯一使用三个操作数的条件运算符。
class OperatorExample {
public static void main(String args []){
int a = 2 ;
int b = 5 ;
int min =(a <b)?a:b;
System.out.println(分钟);
}}
输出
另一个例子:
class OperatorExample {
public static void main(String args []){
int a = 10 ;
int b = 5 ;
int min =(a <b)?a:b;
System.out.println(分钟);
}}
输出
Java赋值运算符
Java赋值运算符是最常见的运算符之一。它用于将其右侧的值分配给其左侧的操作数。
class OperatorExample {
public static void main(String args []){
int a = 10 ;
int b = 20 ;
a + = 4 ; // a = a + 4(a = 10 + 4)
b- = 4 ; // b = b-4(b = 20-4)
System.out.println(a);
System.out.println(b);
}}
输出
Java赋值运算符示例2
class OperatorExample {
public static void main(String [] args){
int a = 10 ;
a + = 3 ; // 10 + 3
System.out.println(a);
a- = 4 ; // 13-4
System.out.println(a);
a * = 2 ; // 9 * 2
System.out.println(a);
a / = 2 ; // 18/2
System.out.println(a);
}}
输出
Java赋值运算符示例3
class OperatorExample{
public static void main(String args[]){
short a=10;
short b=10;
//a+=b;//a=a+b internally so fine
a=a+b;//Compile time error because 10+10=20 now int
System.out.println(a);
}}
输出
Java赋值运算符示例4
class OperatorExample{
public static void main(String args[]){
short a=10;
short b=10;
a=(short)(a+b);//20 which is int now converted to short
System.out.println(a);
}}
输出