python和java运算符

来源:互联网 发布:知乎社区 编辑:程序博客网 时间:2024/06/06 20:23

python和java运算符

算术运算符

Python

+ - * / % ** //>>> 7/2.3.57/2 3>>> 7//2. #取整除 - 返回商的整数部分3.0# % 取模 - 返回除法的余数>>> 7%2.1.0# ** 幂 - 返回x的y次幂

java

+ - * / % ++ -- 自增: 操作数的值增加1 自减: 操作数的值减少1幂指数:Math.pow(double a,double b)a的b次方前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算 public class selfAddMinus{    public static void main(String[] args){        int a = 5;//定义一个变量;        int b = 5;        int x = 2*++a;        int y = 2*b++;        System.out.println("自增运算符前缀运算后a="+a+",x="+x);        System.out.println("自增运算符后缀运算后b="+b+",y="+y);    }}自增运算符前缀运算后a=6,x=12自增运算符后缀运算后b=6,y=10  (y = 2*b)然后b++

比较/关系运算符

python

== > < >=    <= != (不等于 - 比较两个对象是否不相等)<> (不等于 - 比较两个对象是否不相等) 

java

== > < >= <=  != 

赋值运算符

python

= += -= *=  /= %= **= //=  #c += a 等效于 c = c + a

java

= += -= *=  /= (%)= << = >> =&=  ^ =  | =   //C ^ = 2等价于C = C ^ 2

位运算符

python

# a 为 60,b 为 13a = 0011 1100 b = 0000 1101-----------------a&b = 0000 1100 #按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0a|b = 0011 1101  #按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。a^b = 0011 0001 #按位异或运算符:当两对应的二进位相异时,结果为1~a  = 1100 0011 #按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1<< #左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。a << 2 输出结果 240 ,二进制解释: 1111 0000>> #右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111

java

& | ^ 〜 << >>  >>> //  >>> :按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。A>>>2得到15即0000 1111

逻辑运算符(重点不同)

python

and or not  #a 为 10, b为 20:# x and y: 布尔"与" #如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(a and b) 返回 20。>>> a = 3 #如果 x 为 False,x and y 返回 False>>> b = 1>>> a and b1>>> a = 3>>> b = 2>>> a == b and bFalse>>> a = 0>>> b = 2>>> a and b0#x or y 布尔"或"   #如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。(a or b) 返回 10。>>> a = 0>>> b = 10>>> a or b10>>> a = 1>>> b = 10>>> a or b1#布尔"非" #如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。   not(a and b) 返回 False

java

&& //称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。||  //称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。//称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。

当使用与逻辑运算符时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了。

public class LuoJi{    public static void main(String[] args){        int a = 5;//定义一个变量;        boolean b = (a<4)&&(a++<10);        System.out.println("使用短路逻辑运算符的结果为"+b);        System.out.println("a的结果为"+a);    }}使用短路逻辑运算符的结果为falsea的结果为5

Python身份运算符

20170821150332012611112.png

is 与 == 区别:

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

>>> a = [1, 2, 3]>>> b = a>>> b is a True>>> b == aTrue>>> b = a[:]>>> b is aFalse>>> b == aTrue

Python运算符优先级

20170821150332033726580.png

原创粉丝点击