Java运算符

计算机的基本用途就是执行数学运算,Java提供了一套丰富的运算符来操作变量。

Java运算符_第1张图片

算数运算符:

        1.+、-、*、/、%属于二元运算符,%是取模运算符,就是我们常说的求余数操作。

        2.算数运算符中++(自增),--(自减)属于一元运算符。

        二元运算符的运算规则:

                整数运算:

                        如果两个操作数有一个为long,则结果也为long。

                        没有long时,结果为int。即使操作数全为short、byte,结果也是int。

                浮点运算:

                        如果两个操作数有一个为double,则结果也为double。

                        只有两个操作数都是float,则结果才为float。

                取模运算:

                        其操作数可以为浮点数,一般使用整数,结果时“余数”,“余数”符号和左边操作数相同。如:7%3=1,-7%3=-1,7%-3=1。

        一元运算符++:

                int  a  =  3;

                int  b  =  a++;

                //执行完结果:b=3,先给b赋值,再自增。

        一元运算符--:

                a  =  3;

                b  =  ++a;

                //执行完结果:b=4,a先自增,再给b赋值。

赋值及其扩展赋值运算符:

Java运算符_第2张图片

关系运算符:

        关系运算符用来进行比较运算,关系运算符的结果是布尔值:true/false。

Java运算符_第3张图片

        =是赋值运算符,而真正的判断两个操作数是否相等的运算符是==。

        ==、!=是所有(基本和引用)数据类型都可以使用的。

        >、>=、<、<=仅针对数值类型(byte/short/int/long,float/double以及char)。

逻辑运算符:

        逻辑运算符的操作数和运算结果都是boolean值。

Java运算符_第4张图片

        短路与和短路或采用短路的方式,从左到右计算,如果只通过运算符左边的操作数就能够确定改逻辑表达式的值,则不会继续计算运算符右边的操作数,提高效率。

位运算符:

        位运算符指的是进行二进制位的运算。

Java运算符_第5张图片

        &和|既是逻辑运算符,也是位运算符,如果两侧操作数都是boolean类型,就作为逻辑运算符,如果两侧的操作数都是整数类型,就是位运算符。

        不要把“ ^ ”当作数学运算的“乘方”,是“位的异或”操作。

字符串连接符:

        “ + ”运算符两侧的操作数中只有一个是字符串(String)类型,系统会自动将另一个操作数转换位字符串然后再进行连接。

条件运算符:

Java运算符_第6张图片

        x为boolean类型表达式,先计算x的值,若为true,则整个运算的结果为表达式y的值,否则整个运算结果为表达式z的值。

运算符优先级的问题:

Java运算符_第7张图片

数据类型的转换:

        八种基本数据类型中,除了boolean类型之外的七种类型是可以自动转化的。

        自动类型转换:

                自动类型转换指的是容量小的数据类型可以自动转换为容量大的类型。如图所示,实线表示无数据丢失的自动类型转换,而虚线表示再转换时可能会有精度的损失。

Java运算符_第8张图片

                可以将整型常量直接赋值给byte、short、char等类型变量,而不是进行强制类型转换,只有不超出其表数范围即可。

        强制类型转换:

                强制类型转换,又称为造型(cast),用于强制转换数值的类型,可能损失精度。

                当将一种类型强制转换成另一种类型,而有超出了目标类型的表数范围,就会被截断成为另一个完全不同的值。

你可能感兴趣的:(java,开发语言)