Introdução
Neste laboratório, você aprenderá como verificar se uma expressão booleana é válida em Java. Começaremos avaliando expressões booleanas simples usando operadores de comparação.
Em seguida, você explorará como lidar com expressões booleanas compostas, combinando expressões simples com operadores lógicos. Finalmente, você aprenderá como identificar e capturar erros que podem ocorrer ao trabalhar com expressões booleanas inválidas em seu código Java.
Avaliar Expressões Booleanas Simples
Nesta etapa, aprenderemos sobre expressões booleanas em Java e como avaliar as simples. Expressões booleanas são fundamentais na programação, pois nos permitem tomar decisões com base em se uma condição é verdadeira ou falsa.
Uma expressão booleana é uma declaração que avalia para true ou false. Em Java, usamos operadores de comparação para criar essas expressões. Aqui estão alguns operadores de comparação comuns:
==: Igual a!=: Diferente de>: Maior que<: Menor que>=: Maior ou igual a<=: Menor ou igual a
Vamos criar um programa Java simples para avaliar algumas expressões booleanas.
Abra o arquivo
HelloJava.javano editor WebIDE, caso ainda não esteja aberto.Substitua todo o conteúdo do arquivo pelo seguinte código:
public class HelloJava { public static void main(String[] args) { int x = 10; int y = 20; boolean isEqual = (x == y); boolean isNotEqual = (x != y); boolean isGreater = (x > y); boolean isLess = (x < y); boolean isGreaterOrEqual = (x >= y); boolean isLessOrEqual = (x <= y); System.out.println("Is x equal to y? " + isEqual); System.out.println("Is x not equal to y? " + isNotEqual); System.out.println("Is x greater than y? " + isGreater); System.out.println("Is x less than y? " + isLess); System.out.println("Is x greater than or equal to y? " + isGreaterOrEqual); System.out.println("Is x less than or equal to y? " + isLessOrEqual); } }Neste código:
- Declaramos duas variáveis inteiras,
xey. - Criamos várias variáveis booleanas (
isEqual,isNotEqual, etc.) e atribuímos o resultado de uma expressão booleana a cada uma. - Usamos
System.out.printlnpara imprimir os resultados dessas expressões booleanas.
- Declaramos duas variáveis inteiras,
Salve o arquivo (Ctrl+S ou Cmd+S).
Compile o programa executando o seguinte comando no Terminal:
javac HelloJava.javaSe não houver erros, um arquivo
HelloJava.classserá criado.Execute o programa compilado:
java HelloJavaVocê deve ver a saída mostrando os resultados de cada expressão booleana.
Is x equal to y? false Is x not equal to y? true Is x greater than y? false Is x less than y? true Is x greater than or equal to y? false Is x less than or equal to y? true
Você avaliou com sucesso expressões booleanas simples em Java! Entender como comparar valores e obter um resultado true ou false é crucial para controlar o fluxo de seus programas.
Lidar com Expressões Compostas
Nesta etapa, aprenderemos como combinar expressões booleanas simples para criar expressões mais complexas usando operadores lógicos. Estas são chamadas de expressões compostas e nos permitem verificar múltiplas condições de uma só vez.
Java fornece os seguintes operadores lógicos:
&&: AND lógico. A expressão étruesomente se ambas as condições foremtrue.||: OR lógico. A expressão étruese pelo menos uma das condições fortrue.!: NOT lógico. Este operador inverte o valor booleano de uma expressão. Se uma expressão étrue,!a tornafalse, e vice-versa.
Vamos modificar nosso programa HelloJava.java para usar esses operadores lógicos.
Abra o arquivo
HelloJava.javano editor WebIDE.Substitua o código atual pelo seguinte:
public class HelloJava { public static void main(String[] args) { int age = 25; int score = 85; boolean isStudent = true; // Using Logical AND (&&) boolean isEligibleForDiscount = (age > 18 && isStudent); System.out.println("Is eligible for student discount? " + isEligibleForDiscount); // Using Logical OR (||) boolean passedExam = (score >= 70 || age < 18); System.out.println("Passed the exam? " + passedExam); // Using Logical NOT (!) boolean isNotStudent = !isStudent; System.out.println("Is not a student? " + isNotStudent); // Combining multiple operators boolean complexCondition = (age > 20 && score > 80 || !isStudent); System.out.println("Complex condition result: " + complexCondition); } }Neste código atualizado:
- Introduzimos novas variáveis
age,scoreeisStudent. - Usamos
&¶ verificar se alguém é elegível para um desconto estudantil (maior de 18 anos E é estudante). - Usamos
||para verificar se alguém passou no exame (a pontuação é 70 ou superior OU eles têm menos de 18 anos). - Usamos
!para negar o booleanoisStudent. - Mostramos um exemplo de combinação de
&&,||e!em uma única expressão.
- Introduzimos novas variáveis
Salve o arquivo (Ctrl+S ou Cmd+S).
Compile o programa no Terminal:
javac HelloJava.javaCertifique-se de que não haja erros de compilação.
Execute o programa compilado:
java HelloJavaObserve a saída, que mostrará os resultados das expressões booleanas compostas.
Is eligible for student discount? true Passed the exam? true Is not a student? false Complex condition result: true
Você agora aprendeu como criar e avaliar expressões booleanas compostas usando os operadores AND lógico (&&), OR lógico (||) e NOT lógico (!). Isso permite que você construa condições mais sofisticadas em seus programas Java.
Capturar Erros de Expressões Inválidas
Nesta etapa, exploraremos o que acontece quando tentamos avaliar expressões que não são válidas em Java e como o compilador nos ajuda a capturar esses erros. Entender os erros comuns é uma parte importante do aprendizado de qualquer linguagem de programação.
Java é uma linguagem fortemente tipada, o que significa que o tipo de dados importa. Expressões booleanas especificamente requerem operandos que podem ser comparados ou avaliados para um valor booleano. Tentar usar tipos incompatíveis em uma expressão booleana resultará em um erro de compilação.
Vamos intencionalmente introduzir um erro em nosso programa HelloJava.java para ver como o compilador reage.
Abra o arquivo
HelloJava.javano editor WebIDE.Modifique o código para incluir uma comparação inválida. Por exemplo, vamos tentar comparar um booleano com um inteiro:
public class HelloJava { public static void main(String[] args) { int age = 25; boolean isStudent = true; // This line will cause a compilation error // boolean invalidComparison = (isStudent == age); System.out.println("Age: " + age); System.out.println("Is student: " + isStudent); } }Comentamos a linha que causará o erro por enquanto, mas a descomentaremos na próxima etapa. A linha comentada
boolean invalidComparison = (isStudent == age);tenta comparar uma variávelboolean(isStudent) com uma variávelint(age) usando o operador de igualdade (==). Java não permite essa comparação direta porquebooleaneintsão tipos de dados diferentes que não podem ser comparados significativamente dessa maneira.Salve o arquivo (Ctrl+S ou Cmd+S).
Agora, vamos descomentar a linha que causará o erro. Altere o código para:
public class HelloJava { public static void main(String[] args) { int age = 25; boolean isStudent = true; // This line will cause a compilation error boolean invalidComparison = (isStudent == age); System.out.println("Age: " + age); System.out.println("Is student: " + isStudent); System.out.println("Invalid comparison result: " + invalidComparison); } }Salve o arquivo novamente.
Tente compilar o programa no Terminal:
javac HelloJava.javaVocê deve ver uma mensagem de erro do compilador Java. A mensagem exata pode variar ligeiramente dependendo da versão do Java, mas indicará uma incompatibilidade de tipo ou tipos incompatíveis.
~/project/HelloJava.java:7: error: incomparable types: boolean and int boolean invalidComparison = (isStudent == age); ^ 1 errorEsta mensagem de erro informa o nome do arquivo (
HelloJava.java), o número da linha (7) e uma descrição do erro ("tipos incomparáveis: boolean e int"). Este é o compilador ajudando você a detectar erros antes mesmo de tentar executar o programa.Para corrigir o erro e tornar o programa compilável novamente, você precisa remover ou comentar a linha inválida. Altere o código de volta para a versão em que a linha está comentada:
public class HelloJava { public static void main(String[] args) { int age = 25; boolean isStudent = true; // This line will cause a compilation error // boolean invalidComparison = (isStudent == age); System.out.println("Age: " + age); System.out.println("Is student: " + isStudent); } }Salve o arquivo.
Compile o programa novamente:
javac HelloJava.javaDesta vez, a compilação deve ser bem-sucedida e você não verá nenhuma mensagem de erro.
Entender os erros de compilação e como lê-los é uma habilidade crucial para qualquer programador. O compilador Java é uma ferramenta poderosa que ajuda você a encontrar muitos erros comuns no início do processo de desenvolvimento.
Resumo
Neste laboratório, aprendemos os fundamentos das expressões booleanas em Java. Começamos entendendo o que é uma expressão booleana e como ela é avaliada como true ou false. Em seguida, praticamos a avaliação de expressões booleanas simples usando operadores de comparação comuns, como ==, !=, >, <, >=, e <=. Através de um exemplo prático, vimos como declarar variáveis inteiras, aplicar esses operadores de comparação para criar expressões booleanas e imprimir os valores booleanos resultantes.
Com base em expressões simples, exploramos como lidar com expressões booleanas compostas, combinando as simples usando operadores lógicos como && (AND), || (OR) e ! (NOT). Aprendemos como esses operadores funcionam e como usar parênteses para controlar a ordem de avaliação em expressões complexas. Finalmente, abordamos a importância de lidar com possíveis erros que podem surgir de expressões booleanas inválidas, entendendo como identificar e resolver problemas que podem impedir que uma expressão seja avaliada corretamente.



