java运算符

来源:互联网 发布:网络教育文凭和函授 编辑:程序博客网 时间:2024/06/16 22:49

                                               

黑马程序员  java运算符

1.  算术运算符

     + :加法

     - :减法

     * :乘法

     / :除法

    % :取余运算

2.  关系运算符

      <:小于

      > :大于

      <=:小于等于

      >=:大于等于

      ==:等于

      != :不等于

3.  逻辑运算符 (操作符只能是布尔类型的)

     &&:与

        ||:或

        ! :非

逻辑运算符用于连接boolean类型的表达式。

  
  true & true = true;
  true & false = false;
  false & true = false;
  false & false = false;

  & : 只要两边的boolean表达式结果,有一个为false。那么结果就是false。
   只有两边都为true,结果为true。
  
  true | true = true;
  true | false = true;
  false | true = true;
  false | false = false;
  | : 两边只要有一个为true,结果为true。
   只有两边都有false,结果为false。
  
  ^ : 异或;就是和|有点不一样。当true ^ true = false;
  true ^ true = false;
  true ^ false = true;
  false ^ true = true;
  false ^ false = false;
  ^ : 两边相同结果是false。
   两边不同结果是true。

  
  &和&&的特点:
  &:无论左边是true是false。右边都运算。
  &&:当左边为false时,右边不运算。


  |:两边都参与运算。
  ||:当左边为true。右边不运算。

 

4.  位运算符

       & :&和&&的特点—>&:无论左边是true是false。右边都运算;&&:当左边为false时,右边不运算。

        | :|和||的特点—> |:两边都参与运算;  ||:当左边为true。右边不运算。

       ^ :当true ^ true = false

      !:不可以与=联用,因为!是一元操作符;不可以对布尔类型的数据进行按位非运算

5.  移位运算符(只能处理整数运算符) 

    << :

    >> :若符号位为正,则在最高位补0;若符号位为负,则在最高位补1

   >>> :无论正负,移位后,都在最高位补0

Char、byte、short类型,在进行移位之前,都将被转换成int类型,移位后的结果也是int类型。

6.三元运算:(条件表达式)?表达式1:表达式2;      如果条件为true,运算后的结果是表达式1;      如果条件为false,运算后的结果是表达式2。

 

小练习1:

 

/* 需求:1.定义int变量:a和b,让a和b进行简单加法和取模运算。2.将a与b的值进行调换。步骤:1.定义变量;2.进行运算。*/public class Test{public static void main (String[]args){int a = 6, b = 8,c,d,temp;c = a + b;d = a/b;/*temp = c - b; //将a与b的值调换,一种方法是声明一个临时变量temp,然后将a与b的值进行互换即可。a = c - temp;b = temp ;*/a = a ^ b;//将a的值与b的值调换另一种方法就是利用逻辑运算符:^。规律:一个数亦或另一个数两次,结果还为那个数。注意:如果两个数非常大可能会超出int范围。b = a ^ b;  //b=(a^b)^ba = a ^ b;//a=a^(a^b)System.out.println ("a+b="+c);//此处 + 起字符链接作用。System.out.println ("a对b进行取摸结果为:"+d);//两个数进行取模运算,若前者小于后者,取模结果为0.System.out.println ("a与b调换后,a="+a + "b="+b);}}

 

小练习2:

 

/*需求:声明变量n  m  x ,将n进行向右位移2位,将x进行三元运算。步骤:1.声明变量n = 6;2.将n进行位移得出m;3.x进行三元运算。*/public class Test1{public static void main (String []args){int n = 6;int m = n >>>2,x;//>>与>>>的区别:>>最高位补什么由原来最高位决定;>>>不管最高位什么,位移后最高位就用0补齐。x = (m>1)?'m':50;System.out.println ("m="+m);System.out.println ("x="+x);}}