Olá, estudante, tudo bem?
Agora que você já sabe como criar variáveis e seus respectivos tipos de dados conforme aprendeu em nossa última lição, o seu objetivo agora é conhecer os operadores mais comuns utilizados em programação e entradas e saídas de dados em software.
Pense, a programação é a arte de instruir um computador a executar tarefas específicas e, para isso, é essencial compreender como os dados são manipulados e como as informações são fornecidas e recuperadas de um programa. Sendo assim, faz-se necessário que você conheça os símbolos especiais que permitem realizar operações matemáticas, lógicas e de comparação e coletar informações do usuário para alimentar essas operações finalizando com uma saída de dados em que você exibe as informações para o usuário, seja em alguma interface, seja até mesmo no console da IDE.
Com esse objetivo, você compreenderá e utilizará a linguagem de programação Java e seus operadores, trabalhará com entrada de dados, por meio da classe Scanner, realizará a saída de dados, por meio da classe System.out, para, assim, conseguir resolver problemas simples, desenvolver habilidades fundamentais em programação e preparar-se para as próximas lições mais avançadas. Preparado? 3, 2, 1… vamos lá!
Imagine que uma escola deseja otimizar o processo de cálculo e registro das notas dos alunos, pois, atualmente, é preciso que os professores calculem as médias, verifiquem as aprovações ou reprovações e registrem as notas em planilhas. Sendo assim, a ideia é que todo esse processo seja mais rápido e, também, com menores chances de erros. Se você fosse o desenvolvedor que a escola procurou, como solucionaria esse problema? Nesse momento, não se preocupe se não souber explicar, pois explicarei a você!
Em uma situação dessas, o uso de operadores, entrada e saída de dados pode resolver eficazmente o problema, pois os professores poderiam utilizar um software Java especialmente desenvolvido para o gerenciamento de notas em alguns passos. Por meio de um software Java, os professores poderiam inserir as notas dos alunos por meio de uma interface amigável, utilizando operadores para realizar cálculos de médias ponderadas e, se necessário, esse mesmo sistema conseguiria calcular automaticamente as médias finais com base nas notas das provas, nos trabalhos e em outros critérios estabelecidos.
Atuando como desenvolvedor, você poderia explicar para a escola que o software em questão seria capaz de aplicar operadores para determinar se cada aluno foi aprovado ou reprovado com base nas médias calculadas, e, para isso, os critérios de aprovação, também, poderiam ser definidos dentro do programa. Com isso, o sistema conseguiria gerar relatórios automáticos que mostram as médias e o status de aprovação/reprovação de cada aluno. Esses relatórios poderiam ser impressos ou exportados para um formato eletrônico para fácil compartilhamento com os alunos e seus responsáveis.
Com a solução desse problema, além de ser economizado tempo, também, seria reduzida a possibilidade de erros de cálculo manual, e os professores podem se concentrar mais no ensino do que em tarefas administrativas. Dessa forma, o uso de entrada, saída de dados e operadores em Java tornaria todo processo mais eficiente, preciso e conveniente, facilitando a vida dos educadores e melhorando a qualidade da gestão acadêmica.
Vamos aprender mais sobre esse assunto?
O case fictício desta lição é a respeito da empresa de logística chamada LogiExpress, que precisava de um programa para calcular o valor do frete com base na distância e no peso da carga. Os passos foram desenhados da seguinte maneira:
A entrada de dados é feita quando o programa solicita ao usuário que insira a distância em quilômetros até o destino. Na sequência, ela pede ao usuário que insira o peso da carga em quilogramas. Todas essas informações são inseridas no sistema por meio do teclado. Em seguida, o processamento é feito com a ajuda de operadores para calcular o valor do frete com base na distância e no peso. Suponha que o custo seja de R$ 0,50 por quilômetro e R$ 1,00 por quilo, assim, o programa multiplica a distância pela taxa por quilômetro e o peso pela taxa por quilo e, depois, soma os dois resultados para obter o custo do frete. Finalizando, o programa exibe o custo total do frete ao usuário, informando quanto ele precisará pagar pelo transporte da carga.
Nesse caso fictício, você utiliza operadores para realizar cálculos com as entradas do usuário e exibir uma saída significativa, que é o custo do frete. Isso demonstra como os operadores e a entrada de dados em Java podem ser usados para criar aplicativos práticos que resolvem problemas do mundo real, como calcular custos de frete em uma empresa de logística!
Operadores em programação são símbolos especiais ou palavras-chave que permitem realizar operações matemáticas, lógicas ou de manipulação de dados em valores. Eles são fundamentais para realizar tarefas complexas e criar programas que executem cálculos, tomem decisões, atribuam valores a variáveis e realizem várias outras ações. Há diferentes tipos de operadores e conheceremos eles em seguida!
Operadores aritméticos
Esses operadores realizam operações matemáticas em valores numéricos. Segundo Schildt (2015), Java dá suporte a um conjunto completo de operadores aritméticos, inclusive os mostrados no Quadro 1 a seguir:
Operadores de atribuição
Esses operadores são usados para atribuir valores a variáveis. Eles permitem que você armazene ou modifique valores em variáveis de maneira eficiente. Por exemplo:
= (atribuição simples): atribui um valor à variável.
+= (atribuição de adição): adiciona um valor à variável e a atualiza.
-= (atribuição de subtração): subtrai um valor da variável e a atualiza.
Operadores de comparação
Esses operadores comparam dois valores e retornam um valor booleano (verdadeiro ou falso). Schildt (2015) afirma que Java define uma lista completa de operadores de comparação ou relacionais que podem ser usados como expressão condicional conforme você pode conferir no Quadro 2:
Operadores lógicos
Esses operadores realizam operações lógicas em valores booleanos, ou seja, para avaliar ou combinar expressões lógicas. Exemplos incluem:
&& (E lógico): retorna verdadeiro se ambas as expressões forem verdadeiras.
|| (OU lógico): retorna verdadeiro se, pelo menos, uma das expressões for verdadeira.
! (NÃO lógico): inverte o valor de uma expressão booleana.
Operadores de concatenação (String)
Esses operadores são usados para concatenar (unir) strings em linguagens que suportam manipulação de texto. Exemplo: + (concatenação): une duas strings em uma única string.
Um fato importante sobre o uso de operadores se dá por meio da precedência de operadores, que determina a ordem em que os operadores são avaliados em uma expressão. Isso é importante porque pode afetar o resultado da expressão, especialmente quando a expressão contém operadores de diferentes tipos. Veja a seguir as principais regras de precedência de operadores em Java:
Operadores de Pós-Incremento/Decremento (x++, x--): maior precedência. Eles são avaliados primeiro.
Operadores de Pré-Incremento/Decremento (++x, --x): também, têm alta precedência e são avaliados antes dos outros operadores.
Operadores Aritméticos (+, -, *, /, %): eles têm precedência média. São avaliados depois dos operadores de incremento/decremento, mas antes dos operadores de comparação e lógicos.
Operadores de Deslocamento (<<, >>, >>>): têm precedência inferior aos aritméticos.
Operadores de Relação (<, >, <=, >=, instanceof): avaliados depois dos operadores aritméticos e de deslocamento.
Operadores de Igualdade (==, !=): têm precedência inferior aos operadores de relação.
Operadores Lógicos (&&, ||): têm precedência inferior aos operadores de igualdade.
Operador Ternário (? :): tem a menor precedência. É usado para avaliar uma expressão condicional.
Operador de Atribuição (=, +=, -= etc.): tem a menor precedência e é usado para atribuir valores a variáveis.
Lembre-se de que, em uma expressão, os operadores com maior precedência são avaliados primeiro. Se houver operadores com a mesma precedência, a ordem de avaliação é, geralmente, da esquerda para a direita, a menos que parênteses sejam usados para alterar essa ordem.
Os operadores são essenciais para expressar lógica e realizar cálculos em um programa. Eles são usados em combinação com variáveis, constantes e valores literais para criar algoritmos que resolvem problemas complexos. Entender como usar esses operadores é fundamental para uma programação eficaz em qualquer linguagem de programação, principalmente em Java.
As entradas de dados referem-se à obtenção de informações de uma fonte externa, como o usuário, um arquivo, um dispositivo de rede etc., para dentro do programa. Em Java, as entradas de dados são frequentemente tratadas usando a classe Scanner ou outros mecanismos de entrada, como ler arquivos. A classe Scanner é uma parte importante das entradas de dados em Java, pois permite ler dados do teclado ou de outros fluxos de entrada, como arquivos. Exemplo de uso Scanner scanner = new Scanner(System.in); Conforme Figura 1:
Você poderá ver outro exemplo de uso dessa classe no item saiba aplicar, logo mais nesta mesma lição.
Outras formas de entrada de dados em Java, por meio de formulários, podem ser implementadas usando bibliotecas gráficas, com Swing ou JavaFX, que permitem criar interfaces gráficas com elementos de entrada de dados, como campos de texto, botões e caixas de seleção. Essas bibliotecas são frequentemente usadas para criar aplicativos desktop com interfaces de usuários interativas. Além disso, em ambientes de desenvolvimento web, você pode usar tecnologias, como Java Servlets e JSP (JavaServer Pages), para criar formulários web que permitem a entrada de dados, por meio de páginas da web, e a interação com aplicativos Java no servidor.
As saídas de dados se referem à exibição ou ao envio de informações processadas pelo programa para algum destino externo, como a tela do computador, um arquivo, uma impressora, uma rede etc. Em Java, as saídas de dados são frequentemente tratadas usando System.out.println ou outras operações de saída, como escrever em arquivos. Quando falamos em System.out.println, é preciso compreender que essa é uma maneira comum de exibir informações na tela em Java. Um exemplo de seu uso é System.out.println(“Olá mundo”); para exibir uma mensagem “Olá mundo” no console, vide print a seguir:
Em aplicativos de interface gráfica (GUI), como os desenvolvidos com JavaFX ou Swing, você pode usar componentes gráficos, como caixas de texto, rótulos ou áreas de texto, para exibir informações ao usuário em janelas gráficas.
Conhecer sobre os operadores bem como as entradas e as saídas de dados é essencial para você, futuro desenvolvedor. Isso porque esses conceitos que vimos na lição de hoje são necessários para a manipulação eficiente de dados, tomada de decisões no código, interatividade do usuário e criação de algoritmos eficientes. Sendo assim, dominando esse assunto, você será capaz de construir programas eficientes e funcionais!
Bem, agora que você já compreendeu os assuntos abordados nesta lição e, também, já sabe a importância de dominar esse assunto, chegou a hora de colocar a mão na massa. No saiba aplicar de hoje, você implementará a Calculadora de Frete do case visto hoje. Você poderá usar a IDE instalada em sua máquina para isso ou, também, poderá utilizar a IDE on-line OnlineGDB (https://www.onlinegdb.com/). A preparação do ambiente é simples, basta clicar no primeiro ícone de arquivo, no canto superior esquerdo, e criar um novo arquivo com o nome CalculadoraDeFrete.java. A partir disso, você deverá digitar o código presente na Figura 1 em que você usará os operadores aritméticos junto às classes Scanner e System.out.
Pontos importantes do código:
Linha 5: cria uma instância da classe Scanner.
Linhas 7, 8 e 9: informam o usuário e coletam a informação da distância ser percorrida.
Linhas 11 e 12: informam o usuário e coletam a informação do peso da carga.
Linhas 14 e 15: alocam variáveis com os respectivos valores de cada custo.
Linha 17: efetua o cálculo do custo do frete.
Linha 19: exibe a saída para o usuário.
Linha 21: finaliza a instância da classe Scanner.
Nesse código, o programa solicita ao usuário que insira a distância e o peso da carga, leia essas informações usando a classe Scanner, realize os cálculos necessários e exiba o custo total do frete usando System.out. Certifique-se de importar java.util.Scanner no início do código para usar a classe Scanner.
Agora, que tal explorar outras situações em que os operadores, as entradas e as saídas de dados se mostram úteis? Compartilhe, com seus colegas, as situações que cruzaram sua mente e, também, esteja aberto para ouvir as ideias deles! Essa atividade é uma excelente oportunidade para trocar conhecimentos e inspirar novas perspectivas. Juntos, vocês podem descobrir abordagens inovadoras e enriquecer, ainda mais, o aprendizado. Vamos lá, compartilhe suas ideias e aproveite o processo colaborativo.
SCHILDT, H. Java para iniciantes. 6. Porto Alegre: Bookman, 2015.