大数据兼云计算(王明龙)讲师-JAVA-DAY07-运算符

**

Java基本运算符

**

算术运算符

作用是数字的计算,包括:正号+,负号-,乘*,除/,余%,加+,减-,其算法与数学中的运算相同。
算术运算符实例(假设变量A=10,变量B=20):

这里写图片描述

位运算

将数字转成int型后,把二进制的0当作false1当作true,每一位进行逻辑运算,运算结果为int型。运算符包括:位非~,位与&,位或|,位异或^,位左移<<,位右移>>,位补零右移>>>
位运算实例(假设变量A=60(二进制为00111100),变量B=13(二进制伟00001101)):

这里写图片描述

注:

1)位左移:将int型整数的二进制每位向左移动若干位,前面若干位左移出int范围的bit丢弃,数字位移动到符号位,后面若干位空出的bit补0。如果符号位没有发生改变,则等同于乘2的n次方
2)位右移:将int型整数的二进制每位向右移动若干位,后面若干位右移出int范围的bit丢弃,前面若干位空出的bit全都补符号位数字。等同于除2的n次方。
3)位补零右移:将int型整数的二进制每位向右移动若干位,后面若干位右移出int范围的bit丢弃,前面若干位空出的bit全都补0。正数等同于除2的n次方,负数补零右移后变正数。

字符串处理
只有一个操作符“+” , 作用是将多个字符串连接成1个大的字符串。
字符串运算实例(变量A=“abc”,变量B=123):
这里写图片描述

关系运算

判断2者的关系,返回布尔值。包括:判断相等==,判断不等!=,判断大于>,判断大于等于>=,判断小于<,判断小于等于<=
关系运算符实例(假设变量A=10,变量B=20):

这里写图片描述

逻辑运算

关于关系的复合运算,返回布尔值。包括:逻辑反!,逻辑与&,逻辑或|,逻辑异或^。
逻辑运算实例(假设布尔变量A为真,B为假):

这里写图片描述

赋值运算

自增一++,自减一--,赋值=,自乘*=,自除/=,自余%=,自加+=,自减-=,自与&=,......
赋值运算实例:

这里写图片描述

条件运算符

逻辑判断“?:”,用法:变量 x = (表达式) ? value if true : value if false ,逻辑判断?值1:值2,作用是判断逻辑是真还是假,如果是真则返回值1,否则返回值2。
例如(1>2)?3:4,因1>2为假,所以返回4,即(1>2)?3:4的结果为4

Java运算符优先级

当多个运算符出现在一个表达式中,会涉及到运算的优先级别的问题,在一个多运算符的表达式中,运算级别的不同会导致结果差别很大。

顺序:算术→位运算→字符串运算→关系运算→逻辑运算→赋值运算

     算术:正号负号>乘除余>加减;

     关系运算:并列

     逻辑:反>与>或/逻辑短路或>逻辑异或

     赋值:自增自减>赋值、自乘、自除……

另外,要优先运算哪个,可以用()小括号括起来。

自增和自减运算符

-------------------------------------------------------------------------------------------
分为两种
-------------------------------------------------------------------------------------------
前置运算符:++a / --a
后置运算符:--a / a--

-------------------------------------------------------------------------------------------
前置 与 后置 区别
-------------------------------------------------------------------------------------------
前置第一输出会自增或自减,不会输出原变量本身
后置第一输出原本量本身,在进行自增自减

-------------------------------------------------------------------------------------------
**举例**
-------------------------------------------------------------------------------------------
前置 ++a
-------------------------------------------------------------------------------------------
package sss;

public class t1 {

    public static void main(String[] args) {
        int a=10;
        System.out.println("++a结果是:" + ++a);
    }
}

输出
++a结果是:11

-------------------------------------------------------------------------------------------
后置 a++
-------------------------------------------------------------------------------------------
package sss;

public class t1 {

    public static void main(String[] args) {
        int a=10;
        System.out.println("a++结果是:" + a++);
    }
}

输出
a++结果是:10

-------------------------------------------------------------------------------------------
前置 --a
-------------------------------------------------------------------------------------------
package sss;

public class t1 {

    public static void main(String[] args) {
        int a=10;
        System.out.println("a--结果是:" + a--);
    }
}

输出
a--结果是:10

-------------------------------------------------------------------------------------------
后置 a--
-------------------------------------------------------------------------------------------
package sss;

public class t1 {

    public static void main(String[] args) {
        int a=10;
        System.out.println("--a结果是:" + --a);
    }
}

输出
--a结果是:9

-------------------------------------------------------------------------------------------
递减
-------------------------------------------------------------------------------------------
package sss;

public class t1 {

    public static void main(String[] args) {
        int a=10;
        System.out.println("a--结果是:" + a--);
        System.out.println("a--结果是:" + a--);
        System.out.println("a--结果是:" + a--);
        System.out.println("a--结果是:" + a--);
        System.out.println("a--结果是:" + a--);
    }
}

输出
a--结果是:10
a--结果是:9
a--结果是:8
a--结果是:7
a--结果是:6

-------------------------------------------------------------------------------------------
递增
-------------------------------------------------------------------------------------------
package sss;

public class t1 {

    public static void main(String[] args) {
        int a=10;
        System.out.println("a++结果是:" + a++);
        System.out.println("a++结果是:" + a++);
        System.out.println("a++结果是:" + a++);
        System.out.println("a++结果是:" + a++);
        System.out.println("a++结果是:" + a++);
    }
}

输出
a++结果是:10
a++结果是:11
a++结果是:12
a++结果是:13
a++结果是:14

-------------------------------------------------------------------------------------------
for递增
-------------------------------------------------------------------------------------------
package sss;

public class t1 {

    public static void main(String[] args) {

        for (int i = 0; i < 10; i++) {  
            System.out.println("结果是:" + i);
        }
    }
}

输出
结果是:0
结果是:1
结果是:2
结果是:3
结果是:4
结果是:5
结果是:6
结果是:7
结果是:8
结果是:9

猜你喜欢

转载自blog.csdn.net/wangminglong1989/article/details/81666399