Operadores lógicos
Existem vários operadores lógicos binários e um unário. Os argumentos para todos esses operadores são literais lógicos (constantes), variáveis lógicas e expressões que possuem um valor lógico.
Operadores:
!
- “negação”, operador unário, muda o significado para o oposto (inverte: transforma mentira em verdade e transforma verdade em mentira).
&&
- “e” lógico (“conjunção”, “interseção”), uma operação binária, retorna verdadeiro se e somente se ambos os operandos forem verdadeiros.
||
- “ou” lógico (“disjunção”, “união”), operação binária, retorna valor verdadeiro quando pelo menos um dos operandos é verdadeiro.
Os operadores lógicos têm a seguinte prioridade: negação, conjunção, disjunção. Assim como no caso dos operadores aritméticos, os parênteses são usados para corrigir a precedência. Se um par de parênteses estiver aninhado em outro par de parênteses, o valor entre parênteses internos será avaliado primeiro. Exemplos:
boolean a = true;
boolean b;
b = a || true;
b = !b;
System.out.println(b);
a = a || b;
boolean c;
c = a && (a||b);
System.out.println(c);
Em Java, os tipos booleanos e numéricos não podem ser convertidos entre si.
Operadores de comparação
A maioria dos operadores de comparação se aplica a valores numéricos. Todos esses são operadores binários que possuem dois argumentos numéricos, mas retornam um valor booleano.
>
- o operador “mais que”.
>=
- operador “maior ou igual”.
<
- operador “menos que”.
<=
- operador “menor ou igual”.
!=
- operador “diferente”.
==
— operador de equivalência (igualdade).
Os dois últimos operadores podem ser usados não apenas para valores numéricos, mas também, por exemplo, para valores lógicos. Exemplos:
boolean m;
m = 5 >= 4;
m = 5 != 5 || false;
boolean w;
w = m == false;
System.out.println(w);
É muito importante não confundir o operador de equivalência com o operador de atribuição. Em expressões que contêm operadores de diferentes tipos, as operações aritméticas são executadas primeiro, depois as operações de comparação, depois as operações lógicas e, por último, a atribuição.
Declaração if condicional
O operador
if
garante que uma instrução seja executada ou ignorada dependendo de uma condição lógica especificada. Se a condição for verdadeira,
a instrução será executada.
if (condition) инструкция;
No lugar de uma instrução pode haver uma instrução regular (um comando) ou uma instrução composta (um bloco contendo vários comandos, incluindo outras instruções condicionais). Exemplos (se for especificado zero como valor da variável, a divisão não será realizada e seu resultado não será exibido na tela):
int a = 25;
if (a != 0) System.out.println( 100/a );
int b = 25;
if (b != 0) {
System.out.println( 100/b );
}
Apesar do código do primeiro exemplo parecer mais compacto, somente no segundo exemplo seria possível executar várias instruções se a condição fosse verdadeira. O operador
if
possui um formato com uma parte adicional
else
:
if (condition)
инструкция1;
else
инструкция2;
Se
a condição for verdadeira, uma instrução1 simples ou composta é executada , e se a condição for falsa, uma
instrução2 simples ou composta é executada . Exemplo:
int a = 0;
if (a != 0) System.out.println( 100/a );
else System.out.println("На нуль делить нельзя");
GO TO FULL VERSION