Java运算符详列,新手必看

算术运算符

+

这个其实和数学里面是一样的,两数相加求和

        int a = 4;
        int b = 2;
        int c =a+b;
        System.out.println(c);//最后输出的结果为6

-

这个也是和数学里面一样,两数相减求差值

        int a = 4;
        int b = 2;
        int c =a-b;
        System.out.println(c);//最后输出的结果为2

*

这个也是数学里面的乘法,求两数相乘之积

        int a = 4;
        int b = 2;
        int c =a*b;
        System.out.println(c);//最后输出的结果为8

/

除法与其他有些许不同,需要稍微注意一下,除法中0不能作为除数,如果用0来作为除数的话运行将会报错,报错为ArithmeticException: / by zero,其次,int/int也还是int类型,如果需要小数的话,需要用到double来计算,其中一个为double,然后接收用double,最后结果就为小数,也就是浮点数

        int a = 2;
        double b = 1;
        double c = b/a;
        System.out.println(c);//最后输出的结果为0.5

%

这个应该都不陌生,这个是数学里面的求模运算符,其实也就是取余数,看例子

        int a = 2;
        int b = 3;
        int c = a%b;
        System.out.println(c);//最后输出的结果为2

关系运算符

==

在Java中两个等号一起打出来,代表的是判断符号左右两边是否相等

        int a = 2;
        int b = 3;
        if(a==b){
            System.out.println("相等");
        }else{
            System.out.println("不相等");
        }//最后输出的结果为不相等

!=

这个可以看作和==是一对,因为这个的意思是不相等,来看看例子

        int a = 2;
        int b = 3;
        if(a != b){
            System.out.println("不相等");
        }else{
            System.out.println("相等");
        }//最后输出的结果为不相等

< > <= >=

这四个应该小学的时候就见过了,它其实还是小学那个时候的意思,为了判断符号两边的大小的,这里就不过多的阐述了

逻辑运算符(返回值为boolean)

&&

&&这个东西在Java中叫做逻辑与,在数学中我们应该听过这个名词,关于它的特点其实也很简单,就是有假(false)必假(false),两真(true)才真(true),举个例子说明一下

        int a = 2;
        int b = 3;
        int c = 4;
        System.out.println(a<b && b<c);//最后输出的结果为true

        int a = 2;
        int b = 3;
        int c = 4;
        System.out.println(a>b && b<c);//最后输出的结果为false

在这里要注意一点,如果&&左边为假,&&右边的表达式将不会执行,称之为短路,看例子

        int a = 2;
        int b = 3;
        int c = 4;
        System.out.println(a>b && c/0==100);//最后输出的结果为false

我们上面说过了,0不可以作为除数,但是上面的程序正常运行出结果了,没有报错,说明了&&右边的表达式并没有执行,这就是短路

||

这个是逻辑或,它的特点是有真(true)必真(true),两假(flase)才假(flase),并且和&&一样也会有短路的情况出现,出现的前提和&&刚好相反,是||左边为真(true)会短路,这里就不代码说明,可以适当参考&&的代码

这个是叫做逻辑非,这个比较好理解,true为真,!true就是false了,为假,加上!后,假(false)变成真(true),真变成假

        int a = 2;
        int b = 3;
        System.out.println(!(a<b));//最后输出的结果为false

位运算符

&

这个是按位与,它的意思是两个数对应的二进制位,如果有0即为0,都是1的话是1

        int a = 2;//二进制为0010
        int b = 3;//二进制为0011
        System.out.println(a&b);//最后输出的结果为2

|

这个是按位或,它的意思是两个数对应的二进制位,如果有1即为1,都是0的话是0

        int a = 2;//二进制为0010
        int b = 3;//二进制为0011
        System.out.println(a|b);//最后输出的结果为3

~

这个是按位取反,如果二进制位是1,则变为0,如果是0则变为1

^

这个叫做按位异或,如果对应二进制位相同则取0,反之取1

        int a = 2;//二进制为0010
        int b = 3;//二进制为0011
        System.out.println(a^b);//最后输出的结果为1

移位运算

<<

它叫做左移操作符,作用是舍弃二进制的最左侧数字,然后最右边添上一个0,每移动一位就相当于乘2,这个需要注意,如果遇到乘以2的几次方,就可以左移几位,可以大大节省运算时间

>>

这个叫做右移操作符,作用是舍弃二进制的最右侧数字,然后最左侧添加符号位,正数的话添加0,负数的话添加1,每移动一位就相当于除以2,如果遇到除以2的几次方,就可以右移几位,可以大大节省运算时间

>>>(谨记,没有<<<这个东西)

这个是无符号右移,直接舍弃最右侧的数字,然后最左侧添上一个0,一定注意,没有所谓的无符号左移这个说法

条件运算符

表达式1?表达式2:表达式3

这个是个三目运算符,意思是如果表达式1成立,则执行表达式2,反之执行表达式3

        int a = 2;
        int b = 3;
        int c = a>b ?a:b;
        System.out.println(c);//最后输出的结果为3
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值