Java运算符

    xiaoxiao2025-02-26  58

    Java运算符与C运算符类似,分为算术运算符、逻辑运算符、关系运算符以及位运算符。

    Java语言支持如下运算符:

    算术运算符:+、-、*、/、%、++、- -      

    赋值运算符:=、+=、-=、*=、/=等等   a+=3表示a=a+3   

    位运算符:~、&、|、^      

    逻辑运算符:!、&&、||      

    关系运算符:>、<、>=、<=、= = 、!=      

    移位运算符>>、<<、>>>(无符号右移)

    除了移位运算符与C语言的不同外,其他均一样,C的移位运算符右移只用>>表示。

     注: Java按照运算符两边最高精度保留结果,即如果int类型数据与float类型数据进行运算,结果为float类型。

    位运算与逻辑运算

    1、位运算

    位运算是将数据先转化为二进制数补码形式,再逐位(bit)按规则计算。

    4中位运算符(& 、|、~、^)

    (1)“按位与”运算符“&”,规则:全1则1,否则为0

    (2)“按位或”运算符“|”,规则:全0则0,否则为1。

    (3)“按位非”运算符“~”,规则:遇1则0,遇0则1。

    (4)“按位异或”运算符“^”,规则:相同为0,不同为1。

    注:按位异或运算是可逆的,即如果对某个数据a进行两次相同的异或运算,则结果会还原为a,如对数值3进行两次和5的异或运算:       3 ^ 5 = 6;       6 ^ 5 = 3;

    2、逻辑运算

    逻辑运算符:

    运算符

    用法

    含义

    &&

    op1&&op2

    逻辑与

    ||

    op1||op2

    逻辑或

    !op

    逻辑非

     

    逻辑运算符规则:

    op1

    Op2

    op1&&op2

    op1||op2

    !op1

    true

    True

    true

    true

    false

    True

    False

    false

    true

    false

    False

    True

    false

    true

    true

    False

    False

    false

    false

    true

    3、逻辑运算符(&&、||)与位运算符(&、|)的区别:

    1、逻辑运算符只能针对boolean类型进行逻辑运算,而位运算还可以对数值进行逻辑运算。

    2、逻辑运算符有短路情况,即前面的表达式可以得到最终结果时,后面的表达式将不被执行。

    几种语言位运算符区别

    含义Pascal语言C语言C#语言Java易语言按位与a and ba & ba & ba & b位与 (a, b)按位或a or ba | ba | ba | b位或 (a, b)按位异或a xor ba ^ ba ^ ba ^ b位异或 (a, b)按位取反not a~a~a~a位取反 (a)左移a shl ba << ba << ba << b左移 (a, b)带符号右移a shr ba >> ba >> ba >> b/无符号右移///a>>> b/

    编程实验:

    public class A1{ public static void main(String[] args){ final double PI=3.14; //PI=2.1;不能二次赋值 System.out.println(PI); System.out.println("##############"); int result=(int)1.0+2;//1.0为double型,故此运算最高精度为double,需强制类型转换 System.out.println(result); int y=10; int z=12; if((y=0)==0||(z=0)==0)//短路z的值没变,第一个条件为真,不许进行z=0的操作,故z=12 System.out.println(z); int m=10; int n=12; if((m=0)==0|(n=0)==0)//两边都进行,m=0,n=0,均为真,故输出n,此时n已被赋值为0 System.out.println(n); } }

    编译及运行结果:

    最新回复(0)