Синтаксис Java >>, &,? а также : - PullRequest
4 голосов
/ 26 декабря 2011

Я не понимаю, что такое >>, &,? и: значит в этой программе:

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;

Не могли бы вы помочь мне? Google не выполняет поиск по буквенно-цифровым символам ...

Ответы [ 4 ]

8 голосов
/ 26 декабря 2011
5 голосов
/ 26 декабря 2011

Давайте возьмем их по одному ...

final int pointerIndex = (action & MotionEvent.ACTION_POINTER_INDEX_MASK) 
            >> MotionEvent.ACTION_POINTER_INDEX_SHIFT;

Это побитовые операторы. & - это ИЛИ биты в action и MotionEvent.ACTION_POINTER_INDEX_MASK вместе.

>> смещает этот результат.

Биньямин сослался на хорошую страницу для побитовых операторов для вас.

final int newPointerIndex = pointerIndex == 0 ? 1 : 0;

Это троичный оператор. По сути, он говорит «если pointerIndex равен 0, вернуть 1, иначе вернуть 0. Способ, которым вы выражаете это (булево решение)?

4 голосов
/ 26 декабря 2011

>> - оператор сдвига, и он сдвигает битовую комбинацию вправо

(Вы можете оператор Google Shift)

& - побитовый оператор (поиск побитовых операторов)

? : является краткой формой if - then -else [if cond] ? [then] : [else]

См http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html

1 голос
/ 26 декабря 2011
  • Здесь >> - оператор shift.
  • ? : is Ternary Оператор
  • & является Bitwise and оператором

Посмотрите здесь учебник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...