奋斗的Fly

java运算符

1.算术运算符

自增、自减;++、--在前和++、--在后的区别

public static void main(String[] args){
        int a = 10;
         int b = 20;
         int c = 25;
         int d = 25;
         System.out.println("a + b = " + (a + b) );
         System.out.println("a - b = " + (a - b) );
         System.out.println("a * b = " + (a * b) );
         System.out.println("b / a = " + (b / a) );
         System.out.println("b % a = " + (b % a) );
         System.out.println("c % a = " + (c % a) );
         System.out.println("a++   = " +  (a++) );
         System.out.println("a--   = " +  (a--) );
         // 查看  d++ 与 ++d 的不同
         System.out.println("d++   = " +  (d++) );
         System.out.println("++d   = " +  (++d) );
    }

输出结果是:

a + b = 30
a - b = -10
a * b = 200
b / a = 2
b % a = 0
c % a = 5
a++ = 10
a-- = 11
d++ = 25
++d = 27

总结:对于简单类型的数据,不论++、--在前还是在后,对于数据本身都是发生了改变的,对于++、--在后面的整体未发生改变,++、--在前面的整体发生改变,自身也发生改变

2.位运算符

例如:a = 60,和b = 13
对应的二进制:
A = 0011 1100
B = 0000 1101
-----------------
//同时有1则为1
A&b = 0000 1100
//只要一边有1就为1
A | B = 0011 1101
//两个操作数不相同时,一边出现1一边没有才为1
A ^ B = 0011 0001
//为1的变为0,为0的变为1
~A= 1100 0011
//右移操作数两位,其余补0
A << 2得到240,即 1111 0000
1111 0000 的值=2^7+2^6+2^5+2^4
//左移操作数两位,其余补0
A >> 2得到15即 1111
//右移几位,其余的补0
A>>>2得到15即0000 1111

 3.Number类的成员方法

 

double a = 1.213;
        double b = -1.256;
        //ceil向左取整,就是取的更大的值,返回值是double
        System.out.println(Math.ceil(a));
        System.out.println(Math.ceil(b));
        //floor向右取整,就是取的更小的值,返回值是double
        System.out.println(Math.floor(a));
        System.out.println(Math.floor(b));
        //rint返回与参数最接近的整数
        System.out.println(Math.rint(a));
        System.out.println(Math.rint(b));
        //round四舍五入
        System.out.println(Math.round(a));
        System.out.println(Math.round(b));

 

posted on 2017-09-08 10:48  奋斗的Fly  阅读(265)  评论(0编辑  收藏  举报

导航