2012-05-18 2 views
3

Je suis la programmation en Java pendant un certain temps, mais je ne l'ai pas rencontré une expression étrangeQue fait 'int kk = 2 | 3 ' signifier?

int kk = 2 | 3; 

Qu'est-ce que « | » signifie dans cette expression? Cela semble difficile à Google.

je l'ai rencontré dans la source

i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 

Pourquoi nous avons besoin d'utiliser?

+6

Juste un conseil: au lieu de googler « java | », Google pour « opérateurs java ». – Pablo

+0

Merci à tous. Mais, pourquoi devrions-nous l'utiliser? – topxebec

+1

@topxebec: il peut être utilisé pour travailler avec des bits individuels, ainsi que pour toutes sortes de hacks intéressants: http://graphics.stanford.edu/~seander/bithacks.html –

Répondre

8

C'est un bitwise or - chaque bit de résultat sera défini si l'une des entrées ou les deux ont un bit défini dans cette position. 2 est 10 en binaire, 3 est 11, donc le résultat sera également 3.

2

| est un bitwise Operator. Dans votre cas, 2 | 3 produira 3 comme 2 est 10 et 3 est 11. 10 | 11 = 11.

Questions connexes