Oi,
Pessoal eu tava lendo o código do Tic Tac Toe disponível na pasta demo do sdk e fique com dúvida na sequinte declaração:
static {
isWon((1 << 0) | (1 << 1) | (1 << 2));
...
}
Qual a função da declaração static{…} e do operador | ?
grato
static serve pra vc colocar código que deve ser executado quando a classe é carregada pelo classloader.
a barra | é o operador lógico OU
lehphyro,
Operador lógico OU não seria || ?
e a forma como foi declarado o static, como bloco ?
tanto || quanto | são operadores OU… acontece q o || é um operador “abreviado”, ou seja, essa instrução:
true || false
ele vai avaliar o primeiro operando, vai ver q é true, e nem vai avaliar o segundo, pq sabe se tem um true em um OU ele retorna true e deu, mas:
true | false
ele vai avaliar as 2, mesmo a primeira sendo true. O operador || só vai avaliar as 2 quando a primeira for false…
ah, isso vale pra && e & tb.