Não entendi eles …
[e nem me recordo deles na prova]
Alguém tem alguma dica para para se trabalhar com eles? 
Não entendi eles …
[e nem me recordo deles na prova]
Alguém tem alguma dica para para se trabalhar com eles? 
O & ( E Lógico booleano ) e o | (OU lógico booleano inclusivo) funcionam quase da mesma forma que && e ||, a única diferença é que eles sempre avaliam os dois operadores. Daí você pode criar expressões do tipo:
valor1 < 100 & valor2++ > 10
(Isso não deve ser muito usado… deixa o código confuso)
Neste caso valor2 sempre será incrementado, independente de valor1.
Já o ^ ( OU lógico booleano exclusivo ) somente será verdadeiro (true) se apenas uma das duas expressões for true e a outra for false:
true ^ true -> false
true ^ false -> true
false ^ true -> true
false ^ false -> false
Já o operador ~ eu não conheço… :roll:
A parte do ^ facil! não pensei que era tão simples…
mas e se for aplicada a numeros? :roll:
e no 1o exemplo que você deu, qual valores você pensou
para valor1 e valor2? :roll:
Obrigado por ajudar! 
Tem tudo no livro da Kathy Sierra, bem explicado, não tem erro!
[]'s Tjmm.
O operador & gui, sua condição é ACEITA, apenas se ambos os lados forem verdadeiros.
Ex:
int x = 10;
int y = 12;
if (x > 9 & y < 13)
System.out.println(“Verdade”);
else
System.out.println(“Falso”);
Como x é maior do que 9 E TAMBÉM y é menor do que 13, então será mostrado Verdade…
E o ~ serve para negar!
Exemplo
byte a = 10;
byte b = (byte) ~a;
O valor de a em binario seria: 00001010
Negando isso seria inverter os valores, aonde tem 1 ficaria 0 e 0 ficaria 1
11110101
Isso é um numero negativo transformando para positivo
00001010
1
00001011
que em decimal é = 11
resumindo b = -11
Caracas, deu para entender???
Como assim, aplicada a números? O ^ é um operador lógico - vai sempre testar valores falsos e verdadeiros. Exemplo:
valor1 < 1 ^ valor2 > 10
Não importa os valores de valor1 e valor2, o importante é entender que independentemente do valor de valor1, a condição de valor2 será SEMPRE avaliada.
Beleza?
Espero ter ajudado. 
Tem tudo no livro da Kathy Sierra, bem explicado, não tem erro![]'s Tjmm.
Tem erro sim!
Se eu estou estudando e nao consegui absorver o conteudo, aonde eu vou?
Venho ao GUJ trazer minhas duvidas, que eu nao consegui entender… valeu?
Se não estiver afim de ajudar não poste respostas do tipo:
No livro tem! OU procure no google! :?
O operador & gui, sua condição é ACEITA, apenas se ambos os lados forem verdadeiros.Ex:
int x = 10;
int y = 12;if (x > 9 & y < 13) System.out.println(“Verdade”); else System.out.println(“Falso”);Como x é maior do que 9 E TAMBÉM y é menor do que 13, então será mostrado Verdade…
Valeu Grinvon! Muito bem explicado! :thumbup:
E o ~ serve para negar!
Exemplo
byte a = 10;
byte b = (byte) ~a;O valor de a em binario seria: 00001010
Negando isso seria inverter os valores, aonde tem 1 ficaria 0 e 0 ficaria 111110101
Isso é um numero negativo transformando para positivo
00001010
1
00001011
que em decimal é = 11
resumindo b = -11
Caracas, deu para entender???
Deu sim tranquilo! tipo:
int x = 4;
int y = ~x;
y = -5
Seria isso? 
Faltou aquela receitinha de bolo do |
alguem se habilita? 
Obrigado a todos! :thumbup:
Tem tudo no livro da Kathy Sierra, bem explicado, não tem erro![]'s Tjmm.
Tem erro sim!
Se eu estou estudando e nao consegui absorver o conteudo, aonde eu vou?
Venho ao GUJ trazer minhas duvidas, que eu nao consegui entender… valeu?Se não estiver afim de ajudar não poste respostas do tipo:
No livro tem! OU procure no google! :?
Gui…é que não encontrei lugar melhor explicando isso do que no livro da Kathy Sierra! É o lugar mais bem explicado que encontrei! É só ler e tentar executar os exemplos em alguma IDE e ver os resultados!
Talvez você esteja com alguma dificuldade em operação de binários! Aí são outros 500! Mas é simples!
Se quiser entender essas coisas todas…pegue algum material de informática básica, que tenha operações sobre Binários! Aí fica legal! Eu tenho 1 bem legal! Tô mandando uma PM para você com o link para fazer download!
[]'s Tjmm.
gui,
a diferença de utilizar os operadores | e || ou o & e &&, é que sempre o operador | ou & avalia as duas expressões, exemplo:
if (a || b)
no caso acima se a for true, logo entra na condição do if.
Se for feito assim:
if (a | b)
nesse caso é feito o teste da variavel a e b, sempre, mesmo que o a seja true.
Vale tbm para o AND -> &(Unário) e &&.
Entendeu??
Acho que ficou mais fácil…
ahhh, o operador ~(til) serve basicamente para fazer a negação de bits ou a inversão de bits.
Entendeu??
Tipo: ~0000 0001
Fica: 1111 1110
Entendeu??
Se não entendeu, posta a dúvida…
Abraços…
Agora sim 100%!
Obrigado a todos que ajudaram!
Valeu Galera! :thumbup:
Acho que o que ele quiz perguntar foi usando eles em números… exemplo…
int b = 3 | 4;
Em números também é facil
nesse seu caso se você fizer isso
int a = 3 | 5;
seria assim
3 em binario = 00011
5 em binario = 00101
3 | 5 seria…= 00111
00111 em decimal = 7;
so vendo o seguinte
1 | 1 = 1
1 | 0 = 1
0 | 0 = 0
Deu para entender?
