Java中的运算符

目录

前言:

一、算术运算符

​编辑

二、关系运算符

​编辑

三、逻辑运算符

 3.1 &&  :逻辑与运算符

​编辑 3.2 ||  :逻辑或运算符

​编辑 3.3  !  :逻辑非运算符

​编辑

四、位运算符

 4.1 &  :按位与运算符

​编辑4.2 |  :按位或运算符

​编辑 4.3 ^  :按位异或运算符

4.4  ~  :按位取反运算符

 4.5 <<  :左移运算符

 4.6 >>  :右移运算符

​编辑

五、增量运算符

六、自增/自减运算符 ++ --

总结:


前言:

在Java编程中,运算符是用于执行各种计算和操作的重要元素。它们使得我们能够对数据进行处理、比较和组合,从而实现复杂的逻辑。

一、算术运算符

算术运算符用于执行基本的数学运算,如加法、减法、乘法和除法。以下是常见的算术运算符:

 +  :加法运算符,用于将两个操作数相加。
 -  :减法运算符,用于从第一个操作数中减去第二个操作数。
 *  :乘法运算符,用于将两个操作数相乘。
 /  :除法运算符,用于将第一个操作数除以第二个操作数。需要注意的是,当两个整数相除时,             结果会舍去小数部分。
 %  :取模运算符,返回除法运算的余数。

public class Main {
    public static void main(String[] args) {
        int a=10;
        int b=3;
        System.out.println(a+b);  //13
        System.out.println(a-b);  //7
        System.out.println(a*b);  //30
        System.out.println(a/b);  //3
        System.out.println(a%b);  //1
    }
}

注意事项:

1.都是二元运算符,使用时必须要有左右两个操作数

2.int / int 结果还是int类型,而且会向下取整

3.做除法和取模时,右操作数不能为0

4.% 不仅可以对整型取模,也可以对double类型取模,但是没有意义,一般都是对整型取模的

5.两侧操作数类型不一致时,向类型大的提升

二、关系运算符

关系运算符用于比较两个操作数之间的关系,返回一个布尔值( true  或  false )。常见的关系运算符有:

 ==  :检查两个操作数是否相等。
 !=  :检查两个操作数是否不相等。
 <  :检查第一个操作数是否小于第二个操作数。
 >  :检查第一个操作数是否大于第二个操作数。
 <=  :检查第一个操作数是否小于或等于第二个操作数。
 >=  :检查第一个操作数是否大于或等于第二个操作数。

public class Main {
    public static void main(String[] args) {
        int a=10;
        int b=30;
        System.out.println(a == b);
        System.out.println(a != b);
        System.out.println(a > b);
        System.out.println(a < b);
        System.out.println(a >= b);
        System.out.println(a <= b);

    }
}

注意:当需要多次判断时,不能连着写,比如:3 < a < 5,Java程序与数学中是有区别的

三、逻辑运算符

逻辑运算符用于组合多个布尔表达式,以实现更复杂的逻辑判断。常见的逻辑运算符包括:

 3.1 &&  :逻辑与运算符

当两个操作数都为  true  时,结果为  true ,否则为  false 。

public class Main {
    public static void main(String[] args) {
        int a=2;
        int b=3;
        System.out.println(a == 2 && b == 3);
        System.out.println(a == 2 && b == 1);
        System.out.println(a == 1 && b == 3);
        System.out.println(a == 1 && b == 1);

    }
}

 3.2 ||  :逻辑或运算符

当至少一个操作数为  true  时,结果为  true ,只有当两个操作数都为  false  时,结果才为  false 。

public class Main {
    public static void main(String[] args) {
        int a=2;
        int b=3;
        System.out.println(a == 2 || b == 3);
        System.out.println(a == 2 || b == 1);
        System.out.println(a == 1 || b == 3);
        System.out.println(a == 1 || b == 1);

    }
}

 3.3  !  :逻辑非运算符

用于反转操作数的布尔值。

public class Main {
    public static void main(String[] args) {
        int a=2;
        System.out.println(!(a == 2));
        System.out.println(!(a == 3));
        
    }
}

四、位运算符

位运算符用于对操作数的二进制位进行操作。这些运算符在处理底层数据和优化性能时有时很有用。常见的位运算符有:

 4.1 &  :按位与运算符

如果两个二进制位都是 1, 则结果为 1, 否则结果为 0。

public class Main {
    public static void main(String[] args) {
        int a=5;
        int b=10;
        System.out.println(a&b);
    }
}
// 00000000 00000000 00000000 00000101 -----5
                                      &
// 00000000 00000000 00000000 00001010 -----10
//---------------------------------------------
// 00000000 00000000 00000000 00000000 -----0
                                      

4.2 |  :按位或运算符

如果两个二进制位都是 0, 则结果为 0, 否则结果为 1。

public class Main {
    public static void main(String[] args) {
        int a=5;
        int b=10;
        System.out.println(a|b);
    }
}
// 00000000 00000000 00000000 00000101 -----5
                                      |
// 00000000 00000000 00000000 00001010 -----10
//---------------------------------------------
// 00000000 00000000 00000000 00001111 -----15
                                      

 4.3 ^  :按位异或运算符

 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1。

public class Main {
    public static void main(String[] args) {
        int a=5;
        int b=10;
        System.out.println(a^b);
    }
}
// 00000000 00000000 00000000 00000101 -----5
                                      ^
// 00000000 00000000 00000000 00001010 -----10
//---------------------------------------------
// 00000000 00000000 00000000 00001111 -----15
                                      

注意:如果两个数相同,则异或的结果为0


4.4  ~  :按位取反运算符

反转操作数的每一位。

public class Main {
    public static void main(String[] args) {
        int a=0xb;
        System.out.printf("%x\n",~a);
    }
}
// 00000000 00000000 00000000 00001011
//                                   ~
------------------------------------------
// 1111 1111 1111 1111 1111 1111 1111 0100
//   f     f    f    f    f    f    f    4 
                                      

注意:

0x 前缀的数字为 十六进制 数字. 十六进制可以看成是二进制的简化表示方式. 一个十六进制数字对应 4 个二进制位.

0xb 表示 10 进制的 11, 也就是二进制的 1011

printf 能够格式化输出内容, %x 表示按照十六进制输出.

\n 表示换行符


 4.5 <<  :左移运算符

将操作数的二进制位向左移动指定的位数。

public class Main {
    public static void main(String[] args) {
        int a=10;
        System.out.println(a<<1);
    }
}
// 00000000 00000000 00000000 00001010
//                                     <<
// --------------------------------------
// 00000000 00000000 00000000 00010100 -----20

左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方


 4.6 >>  :右移运算符

将操作数的二进制位向右移动指定的位数,正数右移时高位补 0,负数右移时高位补 1(算术右移)。

public class Main {
    public static void main(String[] args) {
        int a=10;
        System.out.println(a<<1);
    }
}
// 00000000 00000000 00000000 00001010
//                                     >>
// --------------------------------------
// 00000000 00000000 00000000 00000101 -----5

右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.

五、增量运算符

例如  += 、 -= 、 *= 、 /=  等,该种类型运算符操作完成后,会将操纵的结果赋值给左操作数。

int a=10;       
System.out.println(a+=2);//相当于a=a+2 //12
int a=10;
System.out.println(a-=2);//相当于a=a-2 //8
int a=10;
System.out.println(a*=2);//相当于a=a*2  20
int a=10;
System.out.println(a/=2);//相当于a=a/2   5
int a=10;
System.out.println(a%=2);//相当于a=a%2   0

注意:只有变量才能使用该运算符,常量不能使用

六、自增/自减运算符 ++ --

++是自增1,--是自减1

前置++先++再使用,后置++先使用后++,前置--先--再使用,后置--先使用后--

总结:

正确理解和熟练运用这些运算符是编写高效和准确 Java 代码的基础。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值