Java语法>>,&,? 并且:

Fla*_*ois 4 java syntax

我不明白>>,&,?并且:在此计划中意味着:

case MotionEvent.ACTION_POINTER_UP: {
        // Extract the index of the pointer that left the touch sensor
        final int pointerIndex = (action & MotionEvent.ACTION_POINTER_INDEX_MASK) 
                >> MotionEvent.ACTION_POINTER_INDEX_SHIFT;
        final int pointerId = ev.getPointerId(pointerIndex);
        if (pointerId == mActivePointerId) {
            // This was our active pointer going up. Choose a new
            // active pointer and adjust accordingly.
            final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
            mLastTouchX = ev.getX(newPointerIndex);
            mLastTouchY = ev.getY(newPointerIndex);
            mActivePointerId = ev.getPointerId(newPointerIndex);
        }
        break;
Run Code Online (Sandbox Code Playgroud)

你可以帮帮我吗 ?Google不会搜索非字母数字字符...

Tod*_*odd 5

我们一次拿这些......

final int pointerIndex = (action & MotionEvent.ACTION_POINTER_INDEX_MASK) 
            >> MotionEvent.ACTION_POINTER_INDEX_SHIFT;
Run Code Online (Sandbox Code Playgroud)

这些是按位运算符.的&是与运算中的比特actionMotionEvent.ACTION_POINTER_INDEX_MASK在一起.

>>正转向这一结果.

Binyamin 为您提供了一个关于按位运算符的好页面.

final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)

这是一个三元运算符.基本上它是说"如果pointerIndex等于0,则返回1,否则返回0.你表达的方式是(布尔决定)?valueIfTrue:valueIfFalse