├── .idea ├── aws.xml ├── jpa-buddy.xml ├── misc.xml ├── vcs.xml └── workspace.xml ├── .vscode └── settings.json ├── 0. Setup Inicial └── README.md ├── 1. Pensamento Computacional e Lógica de Programação └── README.md ├── 2. Tipos de Dados e Variáveis └── README.md ├── 3. Operadores e Estrutura de Decisão └── README.md ├── 4. Estrutura de Repetição e Array └── README.md ├── 5. Funções └── README.md ├── 6. Bibliotecas └── README.md ├── README.md ├── imgs └── jdk-version.png └── src ├── Bibliotecas ├── ContadorDeCaracteres.java ├── JogoDeAdivinhacao.java ├── VerificaAnoBissexto.java └── VerificaDiaDaSemana.java ├── EstruturasDeRepeticaoEArrays ├── GeradorDeTabuada.java ├── MaiorNumero.java ├── SomaEMultiplicacaoDeNumeros.java ├── ValidacaoDeNota.java └── VetorParesEImpares.java ├── Funcoes ├── CalculadoraIMC.java ├── ContadorVogaisEConsoantes.java ├── ConversorMoedas.java ├── ConversorTemperatura.java └── VerificaSinalDeNumero.java ├── OperadoresEEstruturaCondicional ├── VerificaGenero.java ├── VerificaMaiorNumero.java ├── VerificaMaioridade.java ├── VerificaMaioridadeTernario.java ├── VerificaNumeroPositivo.java └── VerificaTurnoDeEstudo.java └── TiposDeDadosEVariaveis ├── BoasVindas.java ├── CalculoProduto.java ├── ConversaoCentimetrosMetros.java └── SomaNumerosInteiros.java /.idea/aws.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /.idea/jpa-buddy.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/workspace.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 17 | 18 | 20 | 21 | 23 | { 24 | "associatedIndex": 2 25 | } 26 | 27 | 28 | 31 | { 32 | "keyToString": { 33 | "RunOnceActivity.OpenProjectViewOnStart": "true", 34 | "RunOnceActivity.ShowReadmeOnStart": "true", 35 | "WebServerToolWindowFactoryState": "false", 36 | "git-widget-placeholder": "master", 37 | "last_opened_file_path": "/home/cami/IdeaProjects/todo-list-app", 38 | "node.js.detected.package.eslint": "true", 39 | "node.js.detected.package.tslint": "true", 40 | "node.js.selected.package.eslint": "(autodetect)", 41 | "node.js.selected.package.tslint": "(autodetect)", 42 | "vue.rearranger.settings.migration": "true" 43 | } 44 | } 45 | 46 | 47 | 48 | 49 | 51 | 52 | 53 | 54 | 59 | 60 | 61 | 62 | 63 | 64 | 1690909007445 65 | 73 | 74 | 75 | 76 | 78 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.project.sourcePaths": [ 3 | "." 4 | ] 5 | } -------------------------------------------------------------------------------- /0. Setup Inicial/README.md: -------------------------------------------------------------------------------- 1 | # Setup Inicial 2 | 3 | Esta aula fornece instruções passo a passo para preparar o ambiente de desenvolvimento Java (mas que poderá ser adaptada para outras linguagens de programação) e facilitar a colaboração em projetos de programação. 4 | 5 | ## GitHub 6 | 7 | *Uma conta no GitHub é essencial para compartilhar, colaborar e armazenar projetos de programação e desenvolvimento de forma eficiente.* 8 | 9 | > **Crie sua conta gratuíta** 10 | 11 |

Fases de Execução Java

12 |

13 |

Figura 1. Sign Up GitHub

14 | 15 | > Gere uma **PERSONAL ACCESS TOKEN** 16 | 17 | *Um Personal Access Token é utilizado para conceder acesso seguro a aplicativos e serviços, permitindo que eles interajam com sua conta GitHub sem a necessidade de compartilhar sua senha.* 18 | 19 | 1. Faça seu login no [GitHub](https://github.com/) 20 | 2. Gere um access token: Your Profile >> Settings >> Developer settings >> Personal access tokens >> Tokens (classic) >> Generate new token > Generate new token (classic) 21 | - *Note*: Ecolha um nome para o token 22 | - *Expiration*: No expiration 23 | - *Select scopes*: Selecione todos os campos 24 | - *Generate token* 25 | - *Copie a String referente ao token* 26 | - *Salve em um lugar seguro que você consiga consultar posteriormente* 27 | 3. Criação e configurações iniciais concluídas! 28 | 29 | **P.S: Você também tem a opção de gerar uma [chave SSH](https://github.com/settings/keys) para estabelecer uma conexão entre sua máquina e o GitHub utilizando o protocolo de comunicação SSH. Para mais informações, acesse: https://youtu.be/xeIErHwL53Q** 30 | 31 | --- 32 | 33 | ## Instalações no Sistema Operacional Windows: 34 | 35 | ### Visual Studio Code 36 | 37 | *O Visual Studio Code (VS Code) é um editor de código de código aberto desenvolvido pela Microsoft e pode ser usado com uma variedade de linguagens de programação.​* 38 | 39 | > Instalação 40 | 41 | 1. Entre no site oficial do Visual Studio Code e faça o [DOWNLOAD](https://code.visualstudio.com/download) "Download for windows" 42 | 2. Espere o download concluir e execute o arquivo Install -> Next -> Next ... Finish 43 | 3. Pesquise o VS Code nas suas aplicações 44 | 4. Instalação concluída! 45 | 46 | > Configuração para **desenvolvimento Java**: 47 | 48 | *O suporte para Java no Visual Studio Code é fornecido por meio de uma ampla variedade de extensões.​* 49 | 50 | 1. [Install the Coding Pack for Java](https://aka.ms/vscode-java-installer-win) 51 | 2. Abrir o Vs code 52 | 3. Abrir o menu de extensões: (Ctrl + Shift + X) 53 | 4. Colar os comandos abaixo e fazer as instalações: 54 | 5. Colar os comandos abaixo e fazer as instalações: 55 | - `vscjava.vscode-java-pack` 56 | 6. Configuração concluída! 57 | 58 | ### Git 59 | 60 | *Git é um sistema de controle de versão distribuído usado para rastrear alterações em projetos de software e facilitar a colaboração entre desenvolvedores.* 61 | 62 | > Instalação 63 | 64 | 1. Entre no site oficial do [git](https://git-scm.com/download/win) 65 | 2. Escolha a opção Windows e o instalador será baixado automáticamente 66 | 3. Mantenha as opções pré-selecionadas 67 | 4. Next > Install 68 | 5. Antes de finaizar a instalação, selecione a opção "Lauch Git Bash" 69 | 70 | > Configurações Iniciais 71 | 72 | 1. No Git Bash: 73 | 2. Verifique se o GIT está instalado: `git --version` 74 | 3. Configure o nome de usuário: `git config --global user.name "Seu nome"` 75 | 4. Configure o endereço de e-mail (**o mesmo do GitHub**): `git config --global user.email seu_email_do_GitHub@email.br` 76 | 5. Verifique as configurações: `git config --list` 77 | 6. Instalação e configurações iniciais concluídas! 78 | 79 | --- 80 | 81 | ## Instalações no Sistema Operacional Linux (distro Ubuntu): 82 | 83 | ### Visual Studio Code 84 | 85 | *O Visual Studio Code (VS Code) é um editor de código de código aberto desenvolvido pela Microsoft e pode ser usado com uma variedade de linguagens de programação.​* 86 | 87 | > Instalação 88 | 89 | 1. Entre no site oficial do Visual Studio Code 90 | 2. Faça o [DOWNLOAD](https://code.visualstudio.com/) do arquivo com a extensão .deb 91 | 3. Escolha a opção Open With: Software install (default) 92 | 4. Pesquise o VS code nas suas aplicações 93 | 5. Intalação concluída! 94 | 95 | > Configuração para **desenvolvimento Java**: 96 | 97 | *O suporte para Java no Visual Studio Code é fornecido por meio de uma ampla variedade de extensões.​* 98 | 99 |

⚠️ INSTALAÇÃO OPENJDK 17

100 | 101 | - Abra o terminal (Ctrl + Alt + t) 102 | - Verifique se você tem o Java instalado: java --version 103 | - Caso não, instale: sudo apt-get install openjdk-17-jdk 104 | - Verifique se o Java realmente foi instalado e em qual caminho: 105 | - java --version 106 | - sudo update-alternatives --config java 107 | - Copie e guarde o caminho de instalação do Java, no meu caso: /usr/lib/jvm/java-17-openjdk-amd64/bin/java 108 | - Configure a variável em ambiente JAVA_HOME: 109 | - Abra o arquivo de configuração .bashrc. (Vou utilizar o editor gedit): sudo gedit ~/.bashrc 110 | - Copie o código abaixo e cole no final do arquivo .bashrc (Observe o caminho do JAVA_HOME):
111 | - JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
112 | - export JAVA_HOME
113 | - export PATH=$PATH:$JAVA_HOME 114 | - Salve o arquivo .bashrc 115 | - Confira se as configurações foram salvas: cat ~/.bashrc 116 | - Feche o terminal e abra novamente 117 | - Conferir mais uma vez se o Java está instalado 118 | - Instalação e configurações iniciais concluídas! 119 | 120 | 2. Abrir o Vs code 121 | 3. Abrir o menu de extensões: (Ctrl + Shift + X) 122 | 4. Colar os comandos abaixo e fazer as instalações: 123 | - `vscjava.vscode-java-pack` 124 | 3. Configuração concluída! 125 | 126 | ### Git 127 | 128 | *Git é um sistema de controle de versão distribuído usado para rastrear alterações em projetos de software e facilitar a colaboração entre desenvolvedores.* 129 | 130 | > Instalação 131 | 132 | 1. Abra o terminal verifique se o GIT está instalado `git --version` 133 | 2. Para instalar o GIT, execute o comando: `sudo apt-get install git-all` 134 | 3. Verifique se o GIT agora está instalado: `git --version` 135 | 136 | > Configurações Iniciais 137 | 138 | 1. Feche o terminal e abra novamente: 139 | 2. Configure o nome de usuário: `git config --global user.name "Seu nome"` 140 | 3. Configure o endereço de e-mail: (Mesmo do GitHub) `git config --global user.email seuemail@email.br` 141 | 4. Verifique as configurações: `git config --list` 142 | 5. Instalação concluída! 143 | 144 | --- 145 | **P.S: Caso deseje as instalações para o Sistema Operacional [macOs](https://gist.github.com/cami-la/b17cc7a232d8461a5f8b0df42cb9f516), abre uma issue que eu posso acrescentar aqui! (:** 146 | 147 | 148 | ## Referências 149 | 150 | [1] GitHub. Disponível em: https://github.com/. 151 | 152 | [2] "Download Visual Studio Code." Visual Studio Code. Disponível em: https://code.visualstudio.com/download. 153 | 154 | [3] "Managing your personal access tokens." GitHub Documentation. Disponível em: https://docs.github.com/pt/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens. 155 | 156 | [4] "Java in Visual Studio Code." Visual Studio Code Documentation. Disponível em: https://code.visualstudio.com/docs/languages/java. 157 | 158 | [5] "Git - Downloads." Git SCM. Disponível em: https://git-scm.com/downloads. 159 | 160 | ## Autor 161 | 162 | 163 | 164 |
165 | 166 | Feito com ❤️ por Cami-la 👋🏽 167 | -------------------------------------------------------------------------------- /1. Pensamento Computacional e Lógica de Programação/README.md: -------------------------------------------------------------------------------- 1 | # Pensamento Computacional e Lógica de Programação 2 | 3 | Nesta aula, abordaremos conceitos essenciais no mundo da programação. Começaremos com o "Pensamento Computacional", desenvolvendo habilidades analíticas para resolver problemas de forma estruturada. Em seguida, exploraremos a "Lógica de Programação", compreendendo a criação de algoritmos coesos. Além disso, teremos um primeiro contato com a história do Java, "Conhecendo a Linguagem de Programação Java", entendendo sua origem e evolução. Ao combinar esses elementos, você estará pronto para estabelecer bases sólidas em programação e criar soluções práticas e criativas. 4 | 5 | ## Pensamento Computacional 6 | 7 | Usar o pensamento computacional é ver um desafio ou problema, refletir sobre ele, separá-lo em partes, resolver cada uma dessas partes da maneira mais lógica e assertiva, para daí sim chegar a um resultado final. 8 | 9 | Dessa forma, podemos dividir o pensamento computacional em 4 pilares: 10 | 11 | 1. **Abstração:** reconhecer o que é mais importante na situação-problema, para deixar de lado o que não for essencial; 12 | 2. **Decomposição**: dividir o seu desafio em problemas menores, para facilitar a sua compreensão; 13 | 3. **Reconhecimento de padrão:** o que se assemelha no problema, quais as repetições e similaridades que ele tem e que podem auxiliar na sua resolução; 14 | 4. **Algoritmo:** propõe uma ordem e sequência de passos para resolver o desafio ou problema. 15 | 16 | ## O que é Lógica de Programação? 17 | 18 | A lógica de programação serve para traduzir os pensamentos humanos para o computador, já que os computadores funcionam através do código binário e não têm a mesma linha de raciocínio dos humanos. 19 | 20 | ### Algoritimo 21 | 22 | Os algoritmos fornecem uma abordagem sistemática e lógica para resolver problemas, garantindo que cada etapa seja claramente definida e possa ser executada em um número finito de passos. 23 | 24 | > **Descrição Narrativa** 25 | 26 | É a forma mais simples e próxima da sua língua nativa para escrever um código. Funciona como instruções de *Como trocar uma làmpada*, com instruções detalhadas do passo a passo; 27 | 28 | - Passo 1: *Certifique-se de que a lâmpada esteja desligada*: Antes de começar, verifique se a lâmpada está desligada. Se ela estava acesa, aguarde alguns minutos para que esfrie antes de prosseguir. 29 | - Passo 2: *Desenrosque a lâmpada antiga*: Segure o suporte da lâmpada com uma mão e, com a outra mão, gire a lâmpada no sentido anti-horário para desenroscá-la do soquete. Remova-a cuidadosamente. 30 | - Passo 3: *Coloque a nova lâmpada*: Com a lâmpada nova em mãos, insira-a no soquete e gire-a no sentido horário até que esteja bem fixa. 31 | - Passo 4: *Ligue a lâmpada*: Após colocar a nova lâmpada, ligue-a para verificar se está funcionando corretamente. 32 | - Passo 5: *Descarte a lâmpada antiga*: Lembre-se de descartar a lâmpada antiga de forma adequada, seguindo as normas de reciclagem ou descarte de resíduos eletrônicos da sua região. 33 | 34 | Pronto! As intruções de "Como trocar uma lâmpada" pode ser considerada um algoritmo, já que ela segue uma sequência lógica de etapas para alcançar um objetivo. 35 | 36 | > **Fluxograma** 37 | 38 | É uma forma de mostrar o passo a passo de uma maneira mais visual, utilizando elementos gráficos; 39 | 40 |

Fluxograma: Como troca de lampada

41 |

Figura 2: Fluxograma de Processos Simples: Como troca de lâmpada

42 | 43 |

Simbolos de um fluxograma de processos

44 |

Figura 3: Simbolos de um fluxograma de processos

45 | 46 | > **Pseudocódigo** 47 | 48 | É a forma mais próxima de escrever um código que se assemelha a estrutura das linguagens de programação, como Java, Python e Javascript. 49 | 50 |

IDE Égua

51 |

Figura 4: Pseudocodigo - Linguagem de Programação Égua

52 | 53 | ## Conhecendo a Linguagem de Programação Java 54 | 55 | > **História da Linguagem de Programação Java** 56 | 57 | - Java é uma linguagem de programação orientada a objetos desenvolvida na década de 90, na empresa Sun Microsystems e posteriormente adquirida pela Oracle em 2008. 58 | - Desde seu lançamento, em maio de 1995, a plataforma Java foi adotada mais rapidamente do que qualquer outra linguagem de programação na história da computação. 59 | - Tornou-se popular pelo seu uso na internet e está presente em navegadores, programas e jogos de computador, celular, calculadoras, e etc... 60 | 61 | > **Características Pertinentes da Linguagem Java** 62 | 63 | 1. **Plataforma Independente (Write Once, Run Anywhere - WORA)**: O código Java é compilado em bytecode, que é executado na Máquina Virtual Java (JVM). Isso permite que os programas Java sejam executados em qualquer plataforma que tenha uma implementação da JVM, tornando-os altamente portáteis. 64 | 2. **Orientação a Objetos**: Java é uma linguagem totalmente orientada a objetos, o que significa que a programação é feita através da criação e interação entre objetos, promovendo reutilização e modularidade. 65 | 3. **Compilação e Interpretação**: O código-fonte Java é compilado em bytecode pela compilação, mas o bytecode é interpretado pela JVM. Isso combina a eficiência da compilação com a portabilidade da interpretação. 66 | 4. **Linguagem Moderna**: Java continua a evoluir com novos recursos e melhorias a cada versão, incorporando conceitos mais modernos de programação. 67 | 5. **Documentação Rica**: A documentação oficial do Java é extensa e bem organizada, com as especificações da linguagem e da API amplamente disponíveis. 68 | 69 | > **Fases da Execução Java** 70 | 71 | 1. Escrevemos o seu código-fonte (arquivo com a extensão .java) 72 | 2. Utilizamos o JDK para compilar o seu código-fonte e gerar o arquivo bytecode (arquivo com a extensão .class) 73 | 3. Para executar o seu programa, a JVM lê o arquivo compilado (.class) e as bibliotecas padrões do Java que estão no JRE 74 | 75 |

Fases de Execução Java

76 |

Figura 5: Fases de Execução Java

77 | 78 | - **JDK** (Java Development Kit) - é o Kit de Desenvolvimento Java responsável por compilar código-fonte (.java) em bytecode (.class) 79 | - **JVM** (Java Virtual Machine) - é a Máquina Virtual do Java responsável por executar o bytecode (.class) 80 | - **JRE** (Java Runtime Environment) - Ambiente de Execução do Java que fornece as bibliotecas padrões do Java para o JDK compilar o seu código e para a JVM executar o seu programa 81 | 82 | > **Versões do Java** 83 | 84 | - **OpenJDK:** é uma implementação de código aberto da plataforma Java. Ele é desenvolvido e mantido pela comunidade de desenvolvedores em colaboração com a Oracle e outras empresas. 85 | - **LTS (Long-Term Support):** As versões LTS recebem atualizações regulares de segurança e correções de bugs durante um período específico de tempo, normalmente vários anos. 86 | 87 |

Versões do Java

88 |

Figura 6: Versões do Java

89 | 90 | ## Referências 91 | 92 | [1] Brainly. "Desafio de Pensamento Computacional." Disponível em: https://brainly.com.br/tarefa/28463278. 93 | 94 | [2] Rock Content. "Como criar um fluxograma de processo: guia completo." Disponível em: https://rockcontent.com/br/blog/fluxograma-de-processo/. 95 | 96 | [3] Eguá Tech. "IDEgua - A IDE mais top!" Disponível em: https://egua.tech/idegua/. 97 | 98 | [4] Gran Cursos Online. "Java: Entenda o que é a compilação de classes Java." Disponível em: https://blog.grancursosonline.com.br/java-compilacao-de-classes-java/. 99 | 100 | [5] Wikipedia. "Java version history." Disponível em: https://en.wikipedia.org/wiki/Java_version_history. 101 | 102 | [6] DIO - Digital Innovation One. "Dominando IDEs Java." Disponível em: https://web.dio.me/course/dominando-ides-java/learning/b0f1ae39-6af7-4a2c-8fc2-c73ae8463c84/?back=%2Fbrowse. 103 | 104 | ## Autor 105 | 106 | 107 | 108 |
109 | 110 | Feito com ❤️ por Cami-la 👋🏽 -------------------------------------------------------------------------------- /2. Tipos de Dados e Variáveis/README.md: -------------------------------------------------------------------------------- 1 | # Tipos de Dados e Variáveis Java 2 | 3 | Nesta aula abordaremos os fundamentos cruciais da linguagem Java, começando pelos tipos primitivos de dados para armazenar informações. 4 | Exploraremos variáveis e constantes para manipulação flexível de dados, entenderemos palavras reservadas essenciais para criar estruturas lógicas e focaremos no método main() como ponto de partida para a execução. Além disso, aprenderemos a exibir mensagens e resultados usando System.out.println(), e finalmente, descobriremos como interagir dinamicamente com os usuários ao receber entradas do teclado através da classe Scanner, proporcionando uma base sólida para construir programas Java com confiança. 5 | 6 | 7 | ## Tipos Primitivos de Dados Padrões do Java 8 | 9 | - Diferentes tipos de dados são utilizados para armazenar informações em um programa. 10 | - Cada tipo de dado possui um tamanho específico em termos de bytes, que determina a quantidade de espaço que ele ocupa na memória. 11 | - Esses tamanhos são importantes para otimizar o uso da memória e garantir que os valores sejam armazenados de forma adequada. 12 | 13 | Abaixo estão os tipos de dados primitivos em Java e seus respectivos tamanhos em bytes: 14 | 15 |

Tipos de Dados Primitivos Java

17 |

Figura 1: Tipos de Dados Primitivos Java

18 | 19 | 20 | ## Variável e Constante 21 | 22 | - Uma variável é uma estrutura que permite armazenar dados na memória durante a execução do programa, para processamento de informações. Como o nome sugere, pode ser modificada. 23 | 24 | ```java 25 | //Formas de declarar uma variável em Java 26 | 27 | String nome = "Cami"; 28 | 29 | var nome = "Cami"; //A partir do Java 10 30 | ``` 31 | 32 | - O Java não possui formalmente o conceito de constantes, assim como acontece em outras linguagens. Isso tem relação com a maneira como o Java lida com a referência com as variáveis, as definindo entre value-types e reference-types. 33 | - A maneira mais comum para “simular” constantes no Java é através da combinação das palavras-chave `static e final`. 34 | 35 | ```java 36 | //Forma de declarar uma "constante" em java 37 | static final String NOME = "Camila"; 38 | ``` 39 | 40 | ## Palavras Reservadas 41 | 42 | - Palavras reservadas do java, ou keywords (palavras-chave), são palavras que possuem significado específico no código. 43 | - Os programadores devem se atentar a essas palavras para que não as usem para qualquer outra coisa além daquilo que elas se propõem a fazer. 44 | 45 |

Palavras Reservadas Java

46 |

Figura 2: Palavras Reservadas do Java

47 | 48 | - A convenção de nomenclatura em Java é uma regra a seguir quando se decide nomear seus identificadores, como classes, pacotes, variáveis, constantes, métodos, etc. 49 | - Convenção não é regra. Essas convenções são sugeridas por várias comunidades Java, como Oracle e Eclipse. 50 | 51 | ## Método `main()` 52 | 53 | - O método `main()` ele atua como o ponto de entrada para a execução do programa. 54 | - Quando você executa um programa Java, o sistema procura pelo método `main()` e começa a executar o código a partir desse ponto. 55 | 56 | ```java 57 | public class MeuPrograma { 58 | public static void main(String[] args) { 59 | System.out.println("Olá, mundo!"); 60 | } 61 | } 62 | 63 | // Saída no console 64 | Olá, mundo! 65 | ``` 66 | 67 | ## Saída de Dados no Java 68 | 69 | - É uma ferramenta essencial para depuração e comunicação com o usuário em programas Java. 70 | - Ele é frequentemente usado para exibir mensagens, valores de variáveis ​​e resultados de cálculos durante a execução do programa. 71 | 72 | ```java 73 | System.out.println() 74 | ``` 75 | 76 | ## Entrada de Dados no Java 77 | 78 | - O `Scanner` permite que você leia diversos tipos de dados da entrada padrão (geralmente o teclado). 79 | - Aqui está um exemplo de como usar a classe `Scanner` para ler diferentes tipos de dados: 80 | 81 | ```java 82 | import java.util.Scanner; 83 | 84 | public class EntradaDadosComScanner { 85 | public static void main(String[] args) { 86 | // Criar uma instância de Scanner para ler da entrada padrão (teclado) 87 | Scanner scanner = new Scanner(System.in); 88 | 89 | // Ler um número inteiro 90 | System.out.print("Digite um número inteiro: "); 91 | int numeroInteiro = scanner.nextInt(); 92 | System.out.println("Você digitou o número inteiro: " + numeroInteiro); 93 | 94 | // Ler um número de ponto flutuante 95 | System.out.print("Digite um número de ponto flutuante: "); 96 | double numeroDouble = scanner.nextDouble(); 97 | System.out.println("Você digitou o número de ponto flutuante: " + numeroDouble); 98 | 99 | // Ler uma linha de texto 100 | scanner.nextLine(); // Consumir a quebra de linha pendente 101 | System.out.print("Digite uma linha de texto: "); 102 | String linhaTexto = scanner.nextLine(); 103 | System.out.println("Você digitou a linha de texto: " + linhaTexto); 104 | 105 | // Fechar o Scanner para liberar recursos 106 | scanner.close(); 107 | } 108 | } 109 | ``` 110 | --- 111 | 112 | # Bora Praticar! 113 | 114 | 1. **Mensagem "Alô Mundo"**: Faça um Programa que mostre a mensagem "Alo mundo". 115 | 2. **Mensagem de Boas-Vindas**: Faça um Programa que peça um o nome do usuário e então mostre a mensagem "Seja bem-vindo(a) [nome do usuário]". 116 | 3. **Soma de Números Inteiros**: Faça um Programa que peça dois números inteiros e imprima a soma. 117 | 4. **Cálculo de Valor Total do Produto: Faça um Programa peça**: _Nome de um produto, Valor unitário deste produto e Quantidade do produto._
118 | Ao final, imprima a frase: "O Produto [nome do produto] com o valor unitário R$ [valor unitário] com a quantidade [quantidade do produto] custará o total de R$ [valor total do produto]." 119 | 5. **Conversão de Centímetros para Metros**: Crie um programa que converta centímetros para metros. O usuário deve informar a medida em centímetros, e o programa deve exibir a correspondente medida em metros. _(Lembre-se de que 1 metro é igual a 100 centímetros.)_ 120 | 121 | > **Continue praticando:** https://wiki.python.org.br/EstruturaSequencial 122 | 123 | ## Referências 124 | 125 | [1] "Os Tipos Primitivos da Linguagem Java." Gran Cursos Online. Disponível em: https://blog.grancursosonline.com.br/os-tipos-primitivos-da-linguagem-java/. 126 | 127 | [2] "Tipos Primitivos." Mapas de Concursos de TI. Disponível em: http://mapaseconcursosdeti.blogspot.com/2012/12/tipos-primitivos.html. 128 | 129 | [3] "As 52 Palavras Reservadas do Java." Linha de Código. Disponível em: http://www.linhadecodigo.com.br/artigo/83/as-52-palavras-reservadas-do-java.aspx. 130 | 131 | [4] "Estrutura Sequencial." Python Brasil. Disponível em: https://wiki.python.org.br/EstruturaSequencial. 132 | 133 | 134 | ## Autor 135 | 136 | 137 | 138 |
139 | 140 | Feito com ❤️ por Cami-la 👋🏽 -------------------------------------------------------------------------------- /3. Operadores e Estrutura de Decisão/README.md: -------------------------------------------------------------------------------- 1 | # Operadores e Estrutura de Decisão 2 | 3 | > **Operadores Java** 4 | 5 | Operadores são símbolos que representam atribuições, cálculos e ordem dos dados. 6 | 7 |

Operadores Java

8 |

Figura 1: Operadores Java

9 | 10 | - Operadores Aritméticos: 11 | 12 | ```java 13 | int a = 10; 14 | int b = 3; 15 | int sum = a + b; // 13 16 | int difference = a - b; // 7 17 | int product = a * b; // 30 18 | int quotient = a / b; // 3 19 | int remainder = a % b; // 1 20 | ``` 21 | - Operadores de Atribuição: 22 | 23 | ```java 24 | int x = 5; 25 | ``` 26 | 27 | - Operadores de Comparação: 28 | 29 | ```java 30 | int num1 = 10; 31 | int num2 = 5; 32 | boolean isEqual = num1 == num2; // false 33 | boolean isNotEqual = num1 != num2; // true 34 | boolean isGreater = num1 > num2; // true 35 | boolean isLess = num1 < num2; // false 36 | ``` 37 | 38 | - Operadores Lógicos: 39 | 40 | ```java 41 | boolean condition1 = true; 42 | boolean condition2 = false; 43 | boolean result1 = condition1 && condition2; // false 44 | boolean result2 = condition1 || condition2; // true 45 | boolean result3 = !condition1; // false 46 | ``` 47 | 48 | > **Precedência de Operadores** 49 | 50 | As operações seguem uma ordem de prioridades, ou seja, alguns cálculos (ou outros) são processados antes de outros. 51 | 52 |

Precedência de Operadores

53 |

Figura 2: Tabela de Precedência de Operadores

54 | 55 | > **Tabela verdade** 56 | 57 | Uma tabela verdade é uma representação tabular de todas as combinações possíveis de valores de entrada (geralmente valores booleanos, ou seja, verdadeiro ou falso) para uma expressão lógica. 58 | 59 |

4 Pilares do Pensamento Computacional

60 | 61 |

Figura 3: Tabela Verdade Java

62 | 63 | ## Estrutura de Decisão 64 | 65 | As estruturas condicionais geralmente analisam expressões booleanas e, caso estas expressões sejam verdadeiras, um trecho do código é executado. No caso contrário, outro trecho do código é executado. 66 | 67 | > if 68 | 69 |

70 |
71 | Fluxograma para demonstrar o uso da instrução if.

72 | 73 | ```java 74 | // Programa Java para demonstrar o uso da instrução if. 75 | public class ExemploIf { 76 | public static void main(String[] args) { 77 | // definindo uma variável 'idade' 78 | int idade = 20; 79 | // verificando a idade 80 | if (idade > 18) { 81 | System.out.print("Idade é maior que 18"); 82 | } 83 | } 84 | } 85 | ``` 86 | > if/else 87 | 88 |

89 |
90 | Fluxograma para demonstrar o uso da instrução if-else.

91 | 92 | ```java 93 | // Um programa Java para demonstrar o uso da instrução if-else. 94 | // É um programa de número par e ímpar. 95 | public class ExemploIfElse { 96 | public static void main(String[] args) { 97 | // definindo uma variável 98 | int numero = 13; 99 | // Verificar se o número é divisível por 2 ou não 100 | if (numero % 2 == 0) { 101 | System.out.println("número par"); 102 | } else { 103 | System.out.println("número ímpar"); 104 | } 105 | } 106 | } 107 | ``` 108 | 109 | > Operador ternário 110 | 111 |

112 |
113 | Fluxograma para demonstrar o uso da instrução if-else ternário.

114 | 115 | ```java 116 | // Um programa Java para demonstrar o uso da instrução if-else ternário. 117 | // É um programa de número par e ímpar. 118 | public class ExemploIfElseTernario { 119 | public static void main(String[] args) { 120 | int numero = 13; 121 | // Usando o operador ternário 122 | String resultado = (numero % 2 == 0) ? "número par" : "número ímpar"; 123 | System.out.println(resultado); 124 | } 125 | } 126 | ``` 127 | 128 | > if-else-if 129 | 130 |

131 |
132 | Fluxograma para demonstrar o uso da instrução if-else-if.

133 | 134 | ```java 135 | // Um programa Java para demonstrar o uso da instrução if-elseif-else encadeado. 136 | // É um programa de sistema de notas para reprovado, nota D, nota C, nota B, nota A e nota A+. 137 | public class ExemploIfElseIf { 138 | public static void main(String[] args) { 139 | int nota = 65; 140 | if (nota < 50) { 141 | System.out.println("reprovado"); 142 | } else if (nota >= 50 && nota < 60) { 143 | System.out.println("nota D"); 144 | } else if (nota >= 60 && nota < 70) { 145 | System.out.println("nota C"); 146 | } else if (nota >= 70 && nota < 80) { 147 | System.out.println("nota B"); 148 | } else if (nota >= 80 && nota < 90) { 149 | System.out.println("nota A"); 150 | } else if (nota >= 90 && nota < 100) { 151 | System.out.println("nota A+"); 152 | } else { 153 | System.out.println("Inválido!"); 154 | } 155 | } 156 | } 157 | ``` 158 | 159 | > swich case 160 | 161 |

162 |
163 | Fluxograma para demonstrar o uso da instrução switch-case.

164 | 165 | ```java 166 | // Um programa Java para demonstrar o uso da instrução switch case. 167 | // É um programa que imprime o nome do mês de acordo com o número do mês. 168 | public class ExemploSwitchMes { 169 | public static void main(String[] args) { 170 | // Especificando o número do mês 171 | int mes = 7; 172 | String nomeMes = switch (mes) { 173 | // casos dentro do bloco switch 174 | case 1 -> "1 - Janeiro"; 175 | case 2 -> "2 - Fevereiro"; 176 | case 3 -> "3 - Março"; 177 | case 4 -> "4 - Abril"; 178 | case 5 -> "5 - Maio"; 179 | case 6 -> "6 - Junho"; 180 | case 7 -> "7 - Julho"; 181 | case 8 -> "8 - Agosto"; 182 | case 9 -> "9 - Setembro"; 183 | case 10 -> "10 - Outubro"; 184 | case 11 -> "11 - Novembro"; 185 | case 12 -> "12 - Dezembro"; 186 | default -> { 187 | System.out.println("Mês Inválido!"); 188 | yield ""; 189 | } 190 | }; 191 | // Imprimindo o mês do número dado 192 | System.out.println(nomeMes); 193 | } 194 | } 195 | ``` 196 | 197 | > if-else encadeado 198 | 199 | 200 | 201 | ```java 202 | // Um programa Java para demonstrar o uso da instrução if-else aninhada. 203 | // É um programa para verificar se um número é maior que 10 e, se for, verificar se é par ou ímpar. 204 | public class ExemploIfDentroDeIf { 205 | public static void main(String[] args) { 206 | int numero = 15; 207 | 208 | if (numero > 10) { 209 | System.out.println("O número é maior que 10."); 210 | 211 | if (numero % 2 == 0) { 212 | System.out.println("Além disso, o número é par."); 213 | } else { 214 | System.out.println("Além disso, o número é ímpar."); 215 | } 216 | } else { 217 | System.out.println("O número não é maior que 10."); 218 | } 219 | } 220 | } 221 | ``` 222 | 223 | --- 224 | 225 | # Bora Praticar! 226 | 227 | 1. **Verificação de Número Positivo**: Verifique se um número é positivo. 228 | 2. **Verificação de Maioridade**: Verifique se uma pessoa é maior de idade. 229 | 3. **Verificação de Maioridade com Operador Ternário**: Verifique se uma pessoa é maior de idade. (Utilize o Operador Ternário) 230 | 4. **Mensagem de Turno de Estudo**: Faça um Programa que pergunte em que turno você estuda. Peça para digitar M-matutino ou V-Vespertino ou N- Noturno. Imprima a mensagem "Bom Dia!", "Boa Tarde!" ou "Boa Noite!" ou "Valor Inválido!" 231 | 5. **Verificação de Gênero**: Faça um Programa que verifique se uma letra digitada é "F" ou "M". Conforme a letra escrever: F - Feminino, M - Masculino ou Gênero Inválido. 232 | 6. **Maior de Três Números com Verificação de Negativos**: Determine o maior de três números. Se algum dos números for negativo, exiba: "Valor não permitido." 233 | 234 | > **Continue praticando:** https://wiki.python.org.br/EstruturaDeDecisao 235 | 236 | ## Referências 237 | 238 | [1] UFMA - Universidade Federal do Maranhão. "Tipos e Operadores." Disponível em: http://www.deinf.ufma.br/~mario/grad/poo/aulas/TiposOperadores.pdf. 239 | 240 | [2] TSimpoo. "Java - Conceitos Básicos." Disponível em: https://tsimpoo.wordpress.com/2014/08/12/. 241 | 242 | [3] SlidePlayer. "Estruturas de Decisão em Java." Disponível em: https://slideplayer.com.br/slide/355761/. 243 | 244 | [4] WikiBooks. "Java/Operadores." Disponível em: https://pt.wikibooks.org/wiki/Java/Operadores. 245 | 246 | [5] TreinaWeb. "Estruturas Condicionais e Estruturas de Repetição em Java." Disponível em: https://www.treinaweb.com.br/blog/estruturas-condicionais-e-estruturas-de-repeticao-em-java. 247 | 248 | ## Autor 249 | 250 | 251 | 252 |
253 | 254 | Feito com ❤️ por Cami-la 👋🏽 -------------------------------------------------------------------------------- /4. Estrutura de Repetição e Array/README.md: -------------------------------------------------------------------------------- 1 | # Estruturas de Repetição e Array 2 | 3 | ## Estrutura de Repetição 4 | 5 | - Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, caso determinadas condições sejam satisfeitas. ​ 6 | - Essas condições são representadas por expressões lógica.​ 7 | 8 | As estruturas de repetição podem ser classificadas em: 9 | 10 | > **Repetição com teste no início (while)​** 11 | 12 |

13 |
14 | Fluxograma para demonstrar o uso da instrução while.

15 | 16 | ```java 17 | public class ExemploWhile { 18 | public static void main(String[] args) { 19 | int contador = 1; 20 | while (contador <= 5) { 21 | System.out.println("Contador: " + contador); 22 | contador++; 23 | } 24 | } 25 | } 26 | ``` 27 | 28 | > **Repetição com teste no final (do-while)​** 29 | 30 |

31 |
32 | Fluxograma para demonstrar o uso da instrução do-while.

33 | 34 | ```java 35 | public class ExemploDoWhile { 36 | public static void main(String[] args) { 37 | int contador = 1; 38 | do { 39 | System.out.println("Contador: " + contador); 40 | contador++; //contador = contador + 1; 41 | } while (contador <= 5); 42 | } 43 | } 44 | ``` 45 | 46 | > **Repetição contada (for)​** 47 | 48 |

49 |
50 | Fluxograma para demonstrar o uso da instrução for.

51 | 52 | ```java 53 | public class ExemploFor { 54 | public static void main(String[] args) { 55 | for (int contador = 1; contador <= 5; contador++) { 56 | System.out.println("Contador: " + contador); 57 | } 58 | } 59 | } 60 | ``` 61 | 62 | - comando `break` é utilizado para terminar de forma abrupta uma repetição. 63 | ```java 64 | public class ExemploBreak { 65 | public static void main(String[] args) { 66 | int contador = 1; 67 | while (contador <= 10) { 68 | System.out.println("Contagem: " + contador); 69 | if (contador == 5) { 70 | System.out.println("O loop foi interrompido."); 71 | break; // Interrompe o loop quando contador atinge 5 72 | } 73 | contador++; 74 | } 75 | System.out.println("Fim do programa."); 76 | } 77 | } 78 | ``` 79 | - Quando comando `continue` é executado, os comandos restantes da repetição são ignorados e programa volta a testar novamente a condição. 80 | ```java 81 | public class ExemploContinue { 82 | public static void main(String[] args) { 83 | for (int contador = 1; contador <= 10; contador++) { 84 | if (contador == 5) { 85 | System.out.println("Pulando o número 5."); 86 | continue; // Pula a iteração atual e continua com a próxima 87 | } 88 | System.out.println("Contagem: " + contador); 89 | } 90 | System.out.println("Fim do programa."); 91 | } 92 | } 93 | ``` 94 | 95 | ## Array 96 | 97 | - Um array é uma estrutura de dados que armazena um conjunto de valores do mesmo tipo. 98 | - Deve ser declarado com um tipo de dado e tamanho específico. 99 | - Pode ser unidimensional (vetor) ou multidimensional (matriz). 100 | - O primeiro elemento está no índice 0, o segundo no índice 1 e assim por diante. 101 | - Arrays são frequentemente percorridos usando loops, como for ou foreach, para processar ou manipular elementos. 102 | 103 | ```java 104 | // Declarando um array de inteiros com tamanho 5 105 | int[] numeros = new int[5]; 106 | 107 | // Inicializando o array com valores 108 | int[] numeros = {1, 2, 3, 4, 5}; 109 | 110 | // Inicializando o array com valores 111 | String[] nomes = {"Alice", "Bob", "Carol"}; 112 | 113 | // Inicializando o array com valores 114 | double[] precos = {10.99, 20.49, 5.0, 7.75}; 115 | 116 | // Declarando um array bidimensional (matriz) de inteiros 117 | int[][] matriz = new int[3][3]; 118 | 119 | // Inicializando o array bidimensional 120 | int[][] matriz = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; 121 | 122 | ``` 123 | 124 | > for-each 125 | 126 |

127 |
128 | Fluxograma para demonstrar o uso da instrução for-each.

129 | 130 | ```java 131 | public class ExemploForEachArrayLivros { 132 | public static void main(String[] args) { 133 | String[] livros = { 134 | "Matéria Escura", 135 | "Como ser um programador Melhor", 136 | "Desenvolvimento Real de Software", 137 | "Kotlin em Ação", 138 | "Como Mentir com Estatísticas" 139 | }; 140 | 141 | for (String livro : livros) { 142 | System.out.println("Livro: " + livro); 143 | } 144 | } 145 | } 146 | ``` 147 | 148 | ---- 149 | 150 | # Bora Praticar! 151 | 152 | 1. **Maior Número**: Faça um programa que leia 3 números inteiros maiores que zero e informe o maior número. 153 | 2. **Validação de Nota**: Faça um programa que peça uma nota, entre zero e dez. Mostre uma mensagem caso o valor seja inválido e continue pedindo até que o usuário informe um valor válido. 154 | 3. **Gerador de Tabuada**: Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10. O usuário deve informar de qual numero ele deseja ver a tabuada. 155 | 4. **Vetor de Pares e Ímpares**: Faça um Programa que leia 5 números inteiros e armazene-os num vetor. Imprima o valores pares e ímpares deste vetor. 156 | 5. **Soma, Multiplicação e Números de um Vetor**: Faça um Programa que leia um vetor de 3 números inteiros, mostre a soma, a multiplicação e os números. 157 | 158 | > **Continue praticando:** https://wiki.python.org.br/EstruturaDeRepeticao
159 | > **Continue praticanto:** https://wiki.python.org.br/ExerciciosListas 160 | 161 | ## Referências 162 | 163 | [1] DIO - Digital Innovation One. "Estruturas de Repetição e Arrays em Java". Disponível em: https://academiapme-my.sharepoint.com/:p:/g/personal/camila_cavalcante_dio_me/EQfCi7g0PoRfDHPKbPzwJZgBVhPHiH7oLh5JEypewoOCrA?e=onQS0n. 164 | 165 | [2] GitHub. "Loops e Arrays." Disponível em: https://github.com/cami-la/loops-e-arrays. 166 | 167 | ## Autor 168 | 169 | 170 | 171 |
172 | 173 | Feito com ❤️ por Cami-la 👋🏽 174 | -------------------------------------------------------------------------------- /5. Funções/README.md: -------------------------------------------------------------------------------- 1 | # Funções/Métodos 2 | 3 | Nesta aula examinamos os principais aspectos relacionados a funções (métodos) em Java. Compreender esses conceitos é fundamental para escrever código eficiente, modular e de fácil manutenção em aplicações Java. 4 | 5 |

6 |
7 | Figura 1. Declaração de um método Java

8 | 9 | Um método em Java é composto por vários elementos: 10 | 11 | 1. **Especificadores de Acesso**: Definem a visibilidade e a acessibilidade de um método em diferentes partes do código. Em Java, temos quatro tipos de especificadores de acesso: 12 | 13 | - _public_: Torna o método acessível a todas as classes, permitindo seu uso em todo o aplicativo. 14 | - _private_: Restringe o acesso do método somente à classe onde está definido, encapsulando sua funcionalidade. 15 | - _protected_: Permite o acesso ao método no mesmo pacote e em subclasses de pacotes diferentes. 16 | - _default_ (padrão): Quando nenhum especificador é fornecido, o método é acessível apenas no mesmo pacote. 17 | 18 |
19 | 20 | 1. **Tipo de Retorno**: Cada método em Java possui um tipo de retorno que define o tipo de dado que o método irá fornecer como saída. Isso pode variar de tipos primitivos a objetos complexos ou até mesmo ausência de retorno, indicado pelo uso da palavra-chave `void. 21 | 22 | 2. **Nome do Método**: Um identificador exclusivo que define o método e sua funcionalidade. O nome deve refletir claramente o propósito do método. 23 | 24 | 3. **Lista de Parâmetros**: Os parâmetros fornecem dados de entrada para o método. Eles são especificados por tipo e nome, permitindo que o método trabalhe com informações externas. Se o método não tiver parâmetro, deixe os parênteses em branco. 25 | 26 | 4. **Assinatura do método**: Engloba seu nome e a lista de parâmetros que ele espera receber. A combinação única de nome e tipos de parâmetros constitui a assinatura, permitindo a diferenciação entre métodos similares. 27 | 28 | 5. **Corpo do Método**: Contém a lógica do método, onde as ações desejadas são implementadas. 29 | 30 | - É delimitado por um par de chaves e pode conter declarações, operações e fluxos de controle. 31 | - Instrução de Retorno: Se o método tiver um tipo de retorno diferente de void, ele deve conter uma instrução return que fornece o valor resultante. 32 | - Exceções Lançadas: Métodos podem lançar exceções para indicar situações excepcionais durante sua execução. 33 | 34 | Observe a classe `Calculadora` que inicialmente contém um método chamado `realizarOperacao` que executa diferentes tipos de operações matemáticas. 35 | 36 | ```java 37 | public class Calculadora { 38 | 39 | // Método para realizar diferentes operações matemáticas 40 | public double realizarOperacao(String operacao, double num1, double num2) { 41 | double resultado = 0; 42 | 43 | switch (operacao) { 44 | case "soma" -> resultado = num1 + num2; 45 | case "subtracao" -> resultado = num1 - num2; 46 | case "multiplicacao" -> resultado = num1 * num2; 47 | case "divisao" -> resultado = num1 / num2; 48 | default -> System.out.println("Operação inválida!"); 49 | } 50 | 51 | return resultado; 52 | } 53 | 54 | public static void main(String[] args) { 55 | Calculadora calculadora = new Calculadora(); 56 | 57 | double resultadoSoma = calculadora.realizarOperacao("soma", 10, 5); 58 | double resultadoSubtracao = calculadora.realizarOperacao("subtracao", 15, 7); 59 | 60 | System.out.println("Resultado da Soma: " + resultadoSoma); 61 | System.out.println("Resultado da Subtração: " + resultadoSubtracao); 62 | } 63 | } 64 | ``` 65 | 66 | Refatorando o método `realizarOperacao` para separar as funcionalidades em métodos específicos: 67 | 68 | ```java 69 | public class Calculadora { 70 | 71 | // Método para realizar a soma 72 | public double somar(double num1, double num2) { 73 | return num1 + num2; 74 | } 75 | 76 | // Método para realizar a subtração 77 | public double subtrair(double num1, double num2) { 78 | return num1 - num2; 79 | } 80 | 81 | // Método para realizar a multiplicação 82 | public double multiplicar(double num1, double num2) { 83 | return num1 * num2; 84 | } 85 | 86 | // Método para realizar a divisão 87 | public double dividir(double num1, double num2) { 88 | if (num2 != 0) { 89 | return num1 / num2; 90 | } else { 91 | throw new IllegalArgumentException("Divisão por zero não é permitida!"); 92 | } 93 | } 94 | 95 | public static void main(String[] args) { 96 | Calculadora calculadora = new Calculadora(); 97 | 98 | double resultadoSoma = calculadora.somar(10, 5); 99 | double resultadoSubtracao = calculadora.subtrair(15, 7); 100 | 101 | System.out.println("Resultado da Soma: " + resultadoSoma); 102 | System.out.println("Resultado da Subtração: " + resultadoSubtracao); 103 | } 104 | } 105 | ``` 106 | 107 | ---- 108 | 109 | # Bora Praticar! 110 | 111 | 1. **Verificação de Sinal de Número**: Faça um programa com uma função que necessite de um argumento. A função retorna o caractere 'P' se o argumento for positivo, e 'N' se o argumento for zero ou negativo. 112 | 2. **Calculadora de IMC**: Implemente uma função que calcule o Índice de Massa Corporal (IMC) com base no peso e altura fornecidos. 113 | 3. **Conversor de Temperatura**: Crie funções para converter temperaturas de Celsius para Fahrenheit e vice-versa. 114 | 4. **Conversor de Moedas**: Desenvolva funções para converter valores entre diferentes moedas, como Dólar para Real e Real para Dólar, por exemplo. 115 | 5. **Contagem de Vogais e Consoantes**: Crie uma função que receba uma string como entrada e conte o número de vogais e consoantes presentes nela. 116 | 117 | > **Continue praticando:** https://wiki.python.org.br/ExerciciosFuncoes
118 | 119 | ## Referências 120 | 121 | [1] JavaTpoint. "Método em Java". Disponível em: https://www.javatpoint.com/pt/m%C3%A9todo-em-java. 122 | 123 | 124 | ## Autor 125 | 126 | 127 | 128 |
129 | 130 | Feito com ❤️ por Cami-la 👋🏽 -------------------------------------------------------------------------------- /6. Bibliotecas/README.md: -------------------------------------------------------------------------------- 1 | # Bibliotecas 2 | 3 | - As bibliotecas padrão são conjuntos de funcionalidades internas à linguagem que podem ser utilizadas para estender suas capacidades. 4 | - Além das bibliotecas padrão, existem bibliotecas de terceiros disponíveis que podem ser adicionadas ao seu projeto para expandir ainda mais as funcionalidades da linguagem. 5 | - No entanto, essas bibliotecas não são carregadas automaticamente, é necessário importá-las explicitamente para utilizá-las. 6 | - Ao utilizar bibliotecas, você pode aproveitar o trabalho de outros desenvolvedores e economizar tempo e esforço, pois não precisa escrever tudo do zero. 7 | 8 |

9 |
10 | Figura 1. Estrutura Simplificada JDK

11 | 12 | 13 | ### Classes Utilitárias Java 14 | 15 | - **String (java.lang.String)**: em Java é usada para representar sequências de caracteres. Ela oferece diversos métodos para manipulação, concatenação, busca, comparação e formatação de strings. 16 | 17 | ```java 18 | String nome = "João"; 19 | String sobrenome = "Silva"; 20 | String nomeCompleto = nome + " " + sobrenome; 21 | int tamanho = nomeCompleto.length(); 22 | boolean contem = nomeCompleto.contains("Silva"); 23 | ``` 24 | 25 | - **Math (java.lang.Math)**: contém métodos estáticos para operações matemáticas, como funções trigonométricas, exponenciais, logarítmicas, arredondamento, entre outras. 26 | 27 | ```java 28 | double raizQuadrada = Math.sqrt(25); 29 | double seno = Math.sin(Math.PI / 4); 30 | int arredondado = Math.round(7.8); 31 | ``` 32 | 33 | - **Random (java.util.Random)**: é usada para gerar números aleatórios. Ela permite criar instâncias para geração de sequências de números aleatórios com diferentes distribuições. 34 | 35 | ```java 36 | Random random = new Random(); 37 | int numeroAleatorio = random.nextInt(100); // Gera número entre 0 e 99 38 | double numeroDecimal = random.nextDouble(); // Gera número decimal entre 0.0 e 1.0 39 | ``` 40 | 41 | - **LocalDate (java.time.LocalDate)**: representa uma data (ano, mês e dia) sem informações de horário. 42 | 43 | ```java 44 | LocalDate dataAtual = LocalDate.now(); 45 | int ano = dataAtual.getYear(); 46 | int mes = dataAtual.getMonthValue(); 47 | int dia = dataAtual.getDayOfMonth(); 48 | ``` 49 | 50 | - **Scanner (java.util.Scanner)**: Uma classe usada para ler entrada a partir do teclado ou de outras fontes, como arquivos. Ela oferece métodos para analisar diferentes tipos de dados. 51 | 52 | ```java 53 | Scanner scanner = new Scanner(System.in); 54 | 55 | System.out.print("Digite um número inteiro: "); 56 | int numero = scanner.nextInt(); 57 | 58 | System.out.println("O dobro do número é: " + (numero * 2)); 59 | ``` 60 | 61 | ---- 62 | 63 | # Bora Praticar! 64 | 65 | 1. **Contagem de Caracteres**: Desenvolva um programa que conta quantos caracteres uma string fornecida pelo usuário possui. 66 | 3. **Verificação de Ano Bissexto**: Crie um programa que determine se um ano fornecido pelo usuário é bissexto ou não. 67 | 4. **Dia da Semana de uma Data**: Desenvolva um programa que determine o dia da semana em que cai uma data fornecida pelo usuário. 68 | 5. **Jogo de Adivinhação**: Crie um jogo em que o programa gera um número aleatório entre 1 e 10, e o jogador precisa adivinhar qual é o número. O programa deve dar dicas se o número é maior ou menor. 69 | 70 | ## Referências 71 | 72 | [1] o7planning.org. "Configurando o Eclipse para usar o JDK em vez do JRE". Disponível em: https://o7planning.org/11911/configuring-eclipse-to-use-the-jdk-instead-of-jre. 73 | 74 | [2] Documentação do Egua. "Bibliotecas". Disponível em: https://egua.dev/docs/egua/bibliotecas.html. 75 | 76 | 77 | ## Autor 78 | 79 | 80 | 81 |
82 | 83 | Feito com ❤️ por Cami-la 👋🏽 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Lógica de Programação Essencial 2 | 3 | Aprenda os conceitos que formam a base do desenvolvimento de software e comece a construir sua compreensão do processo de criação de programas eficazes e funcionais. 4 | 5 | ### 0. Setup Inicial 6 | Configuração do ambiente de desenvolvimento com Visual Studio Code, Git e GitHub. 7 | 8 | ### 1. Pensamento Computacional e Lógica de Programação 9 | Desenvolva uma base sólida ao explorar os princípios do pensamento computacional e da lógica de programação. 10 | 11 | 12 | ### 2. Variáveis e Tipos de Dados 13 | Aprenda sobre variáveis e os diferentes tipos de dados em Java. 14 | 15 | ### 3. Operadores e Estrutura de Decisão 16 | Explore os operadores matemáticos, lógicos e a estrutura de decisão em Java. 17 | 18 | ### 4. Estrutura de Repetição 19 | Entenda a estrutura de repetição (loops) para executar tarefas repetitivas. 20 | 21 | ### 5. Funções/Métodos 22 | Introdução a funções/métodos para dividir tarefas complexas em partes menores. 23 | 24 | ### 6. Bibliotecas 25 | Aprenda a utilizar bibliotecas em Java para reutilizar código existente. 26 | 27 | ## Autor 28 | 29 | 30 | 31 |
32 | 33 | Feito com ❤️ por Cami-la 👋🏽 34 | 35 | -------------------------------------------------------------------------------- /imgs/jdk-version.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cami-la/logica_de_programacao_essencial/b819e79b2a3afdb47dc2ffe4e9a1392762597603/imgs/jdk-version.png -------------------------------------------------------------------------------- /src/Bibliotecas/ContadorDeCaracteres.java: -------------------------------------------------------------------------------- 1 | package src.Bibliotecas; 2 | 3 | import java.util.Scanner; 4 | 5 | public class ContadorDeCaracteres { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | 9 | System.out.print("Digite qualquer frase: "); 10 | String stringOferecidaPeloUsuario = teclado.nextLine(); 11 | 12 | //TODO: retirar os espaços em branco antes de contar 13 | 14 | 15 | int tamanhoDaStringFornecida = stringOferecidaPeloUsuario.length(); 16 | 17 | 18 | System.out.println("O tamanho da String que o usuário forneceu é: " + tamanhoDaStringFornecida); 19 | 20 | teclado.close(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/Bibliotecas/JogoDeAdivinhacao.java: -------------------------------------------------------------------------------- 1 | package src.Bibliotecas; 2 | 3 | import java.util.Random; 4 | import java.util.Scanner; 5 | 6 | public class JogoDeAdivinhacao { 7 | public static void main(String[] args) { 8 | Scanner teclado = new Scanner(System.in); 9 | Random random = new Random(); 10 | 11 | //int numeroAleatorio = random.nextInt(11); 12 | int numeroAleatorio = random.nextInt(10) + 1; 13 | int palpite; 14 | 15 | int numeroDeTentativas = 0; 16 | 17 | do { 18 | System.out.print("Digite seu palpite entre 1 e 10: "); 19 | palpite = teclado.nextInt(); 20 | 21 | numeroDeTentativas++; 22 | 23 | if(palpite == numeroAleatorio) { 24 | System.out.println("Parabéns! Você acertou na tentativa '" + numeroDeTentativas + "'"); 25 | } else if (palpite < numeroAleatorio) { 26 | System.out.println("Tente novamente! O seu palpite foi menor que o número aleatório!"); 27 | } else { 28 | System.out.println("Tente novamente! O seu palpite foi maior que o número aleatório!"); 29 | } 30 | 31 | } while(numeroAleatorio != palpite); 32 | 33 | System.out.println("Numero aleatório: " + numeroAleatorio); 34 | System.out.println("Numero palpite: " + palpite); 35 | 36 | teclado.close(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/Bibliotecas/VerificaAnoBissexto.java: -------------------------------------------------------------------------------- 1 | package src.Bibliotecas; 2 | 3 | import java.time.Year; 4 | import java.util.Scanner; 5 | 6 | public class VerificaAnoBissexto { 7 | 8 | public boolean ehBissexto(int ano) { 9 | if((ano % 4 == 0 && ano % 100 != 0) || (ano % 400 == 0)) { 10 | return true; 11 | } else { 12 | return false; 13 | } 14 | } 15 | 16 | public boolean ehBissextoComYear(int ano) { 17 | return Year.isLeap(ano); 18 | } 19 | 20 | public static void main(String[] args) { 21 | VerificaAnoBissexto verificaNumeroBissexto = new VerificaAnoBissexto(); 22 | 23 | Scanner teclado = new Scanner(System.in); 24 | 25 | System.out.print("Informe o ano que será verificado: "); 26 | int anoInformadoPeloUsuario = teclado.nextInt(); 27 | 28 | boolean ehBissexto = verificaNumeroBissexto.ehBissexto(anoInformadoPeloUsuario); 29 | 30 | System.out.println("O ano " + anoInformadoPeloUsuario + " é bissexto? " + ehBissexto); 31 | 32 | System.out.println("-----------------------------"); 33 | 34 | boolean ehBissextoComYear = verificaNumeroBissexto.ehBissextoComYear(anoInformadoPeloUsuario); 35 | 36 | System.out.println("O ano " + anoInformadoPeloUsuario + " é bissexto? " + ehBissextoComYear); 37 | 38 | 39 | teclado.close(); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/Bibliotecas/VerificaDiaDaSemana.java: -------------------------------------------------------------------------------- 1 | package src.Bibliotecas; 2 | 3 | import java.time.DayOfWeek; 4 | import java.time.LocalDate; 5 | import java.util.Scanner; 6 | 7 | public class VerificaDiaDaSemana { 8 | 9 | public LocalDate transformaStringEmLocalDate(String dataCompleta) { 10 | return LocalDate.parse(dataCompleta); 11 | } 12 | 13 | public DayOfWeek informaODiaDaSemana(LocalDate data) { 14 | return data.getDayOfWeek(); 15 | } 16 | 17 | public static void main(String[] args) { 18 | VerificaDiaDaSemana verificaDiaDaSemana = new VerificaDiaDaSemana(); 19 | Scanner teclado = new Scanner(System.in); 20 | 21 | System.out.println("Informe a data com o padrão yyyy-MM-dd"); 22 | String dataFornecidaPeloUsuario = teclado.nextLine(); 23 | 24 | LocalDate stringParaLocalDate = verificaDiaDaSemana.transformaStringEmLocalDate(dataFornecidaPeloUsuario); 25 | 26 | System.out.println("A data informada foi: " + stringParaLocalDate); 27 | 28 | DayOfWeek informaODiaDaSemana = verificaDiaDaSemana.informaODiaDaSemana(stringParaLocalDate); 29 | 30 | System.out.println("Cami nasceu no dia da semana: " + informaODiaDaSemana); 31 | 32 | teclado.close(); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/EstruturasDeRepeticaoEArrays/GeradorDeTabuada.java: -------------------------------------------------------------------------------- 1 | package src.EstruturasDeRepeticaoEArrays; 2 | 3 | import java.util.Scanner; 4 | 5 | public class GeradorDeTabuada { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | 9 | int tabuada = 0; 10 | 11 | do { 12 | System.out.print("Informe o número da tabuada entre 1 e 10: "); 13 | int numeroInformado = teclado.nextInt(); 14 | 15 | if (numeroInformado < 1 || numeroInformado > 10) { 16 | System.out.println("Número inválido " + numeroInformado); 17 | continue; 18 | } else { 19 | tabuada = numeroInformado; 20 | break; 21 | } 22 | } while (true); 23 | 24 | System.out.println("Imprimindo a tabuada de " + tabuada + "..."); 25 | for (int i = 0; i <= 10; i++) { 26 | int resultado = tabuada * i; 27 | System.out.println(tabuada + " x " + i + " = " + resultado); 28 | } 29 | 30 | teclado.close(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/EstruturasDeRepeticaoEArrays/MaiorNumero.java: -------------------------------------------------------------------------------- 1 | package src.EstruturasDeRepeticaoEArrays; 2 | 3 | import java.util.Scanner; 4 | 5 | public class MaiorNumero { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | 9 | int maior = 0; 10 | int contador = 1; 11 | while (contador <= 3) { 12 | System.out.println("Informe o " + contador + "o. numero: "); 13 | int numero = teclado.nextInt(); 14 | if(numero > maior) { 15 | maior = numero; 16 | } 17 | contador++; //contador = contador + 1; 18 | } 19 | 20 | System.out.println("O maior número é: " + maior); 21 | 22 | teclado.close(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/EstruturasDeRepeticaoEArrays/SomaEMultiplicacaoDeNumeros.java: -------------------------------------------------------------------------------- 1 | package src.EstruturasDeRepeticaoEArrays; 2 | 3 | import java.util.Scanner; 4 | 5 | public class SomaEMultiplicacaoDeNumeros { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | 9 | int[] numeros = new int[3]; 10 | 11 | int contador = 0; 12 | while (contador < 3) { 13 | System.out.print("Informe o " + (contador + 1) + "o. número: "); 14 | numeros[contador] = teclado.nextInt(); 15 | contador++; //contador = contador + 1; 16 | } 17 | 18 | System.out.print("\nTodos os números: "); 19 | for (int numero : numeros) { 20 | System.out.print(numero + " "); 21 | } 22 | 23 | int soma = 0; 24 | int multiplicacao = 1; 25 | for (int numero : numeros) { 26 | soma += numero; //soma = soma + numero; 27 | multiplicacao *= numero; //multiplicacao = multiplicacao * numero; 28 | } 29 | 30 | System.out.println("\nO valor da soma de todos os valores é: " + soma); 31 | System.out.println("O valor da multiplicacao de todos os valores é: " + multiplicacao); 32 | teclado.close(); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/EstruturasDeRepeticaoEArrays/ValidacaoDeNota.java: -------------------------------------------------------------------------------- 1 | package src.EstruturasDeRepeticaoEArrays; 2 | 3 | import java.util.Scanner; 4 | 5 | public class ValidacaoDeNota { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | 9 | int nota = -1; 10 | 11 | do { 12 | System.out.print("Infome uma nota entre 0 e 10: "); 13 | int numeroInformado = teclado.nextInt(); 14 | if (numeroInformado >= 0 && numeroInformado <= 10) { 15 | nota = numeroInformado; 16 | break; 17 | } else { 18 | System.out.println("O número " + numeroInformado + " é inválido!"); 19 | } 20 | } while (true); 21 | 22 | System.out.println("A nota informada foi: " + nota); 23 | 24 | teclado.close(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/EstruturasDeRepeticaoEArrays/VetorParesEImpares.java: -------------------------------------------------------------------------------- 1 | package src.EstruturasDeRepeticaoEArrays; 2 | 3 | import java.util.Scanner; 4 | 5 | public class VetorParesEImpares { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | 9 | int[] numeros = new int[5]; 10 | 11 | for (int i = 0; i < 5; i = i + 1) { 12 | System.out.print("Informe o " + (i + 1) + "o. número: "); 13 | numeros[i] = teclado.nextInt(); 14 | } 15 | 16 | System.out.print("Todos Números informados: "); 17 | for (int numero : numeros) { 18 | System.out.print(numero + " "); 19 | } 20 | 21 | System.out.println("\n*********\n"); 22 | 23 | System.out.print("Todos os números pares informados: "); 24 | for (int numero : numeros) { 25 | if (numero % 2 == 0) { 26 | System.out.print(numero + " "); 27 | } 28 | } 29 | 30 | System.out.println("\n*********\n"); 31 | 32 | System.out.print("Todos os números ímpares informados: "); 33 | for (int numero : numeros) { 34 | if (numero % 2 != 0) { 35 | System.out.print(numero + " "); 36 | } 37 | } 38 | 39 | teclado.close(); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/Funcoes/CalculadoraIMC.java: -------------------------------------------------------------------------------- 1 | package src.Funcoes; 2 | 3 | import java.util.Scanner; 4 | 5 | public class CalculadoraIMC { 6 | /* 7 | * IMC = Peso ÷ (Altura × Altura) 8 | */ 9 | public double calculaIMC(double pesoEmKg, double alturaEmMetros) { 10 | return pesoEmKg / (alturaEmMetros * alturaEmMetros); 11 | } 12 | 13 | public static void main(String[] args) { 14 | CalculadoraIMC calculadora = new CalculadoraIMC(); 15 | Scanner teclado = new Scanner(System.in); 16 | 17 | System.out.print("Informe seu peso em Kg: "); 18 | double pesoInformado = teclado.nextDouble(); 19 | 20 | System.out.print("Informe sua altura em metros: "); 21 | double alturaInformada = teclado.nextDouble(); 22 | 23 | double resultadoIMC = calculadora.calculaIMC(pesoInformado, alturaInformada); 24 | 25 | System.out.println("O IMC do usuário é: " + resultadoIMC); 26 | 27 | teclado.close(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/Funcoes/ContadorVogaisEConsoantes.java: -------------------------------------------------------------------------------- 1 | package src.Funcoes; 2 | 3 | import java.util.Scanner; 4 | 5 | public class ContadorVogaisEConsoantes { 6 | 7 | public void contagemDeVogaisEConsoantes(String frase) { 8 | int contadorDeVogal = 0; 9 | int contadorDeConsoante = 0; 10 | 11 | char[] charFrase = frase.toLowerCase().replace(" ", "").toCharArray(); 12 | 13 | for (char letra : charFrase) { 14 | if (letra == 'a' || letra == 'e' || letra == 'i' || letra == 'o' || letra == 'u') { 15 | contadorDeVogal++; 16 | } else { 17 | contadorDeConsoante++; 18 | } 19 | } 20 | 21 | System.out.println("A frase '" + frase + "' contém: "); 22 | System.out.println(contadorDeConsoante + " consoantes"); 23 | System.out.println(contadorDeVogal + " vogais"); 24 | } 25 | 26 | public static void main(String[] args) { 27 | ContadorVogaisEConsoantes contador = new ContadorVogaisEConsoantes(); 28 | Scanner teclado = new Scanner(System.in); 29 | 30 | System.out.println("Digite uma frase: "); 31 | String fraseInformada = teclado.nextLine(); 32 | 33 | contador.contagemDeVogaisEConsoantes(fraseInformada); 34 | 35 | teclado.close(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/Funcoes/ConversorMoedas.java: -------------------------------------------------------------------------------- 1 | package src.Funcoes; 2 | 3 | import java.util.Scanner; 4 | 5 | public class ConversorMoedas { 6 | public double conversorDolarReal(double valorEmDolar, double valorTaxaCambialDolarReal) { 7 | return valorEmDolar * valorTaxaCambialDolarReal; 8 | } 9 | 10 | public double conversorRealDolar(double valorEmReal, double valorTaxaCambialRealDolar) { 11 | return valorEmReal / valorTaxaCambialRealDolar; 12 | } 13 | 14 | public static void main(String[] args) { 15 | ConversorMoedas conversor = new ConversorMoedas(); 16 | Scanner teclado = new Scanner(System.in); 17 | 18 | System.out.print("Informe o valor em Dolar para converter para Real: "); 19 | double valorDolarInformado = teclado.nextDouble(); 20 | 21 | double resultadoConversorDolarReal = conversor.conversorDolarReal(valorDolarInformado, 5); 22 | System.out.println("O valor informado em dolar para real é: " + resultadoConversorDolarReal); 23 | 24 | System.out.print("Informe o valor em Real para converter para Dolar: "); 25 | double valorRealInformado = teclado.nextDouble(); 26 | 27 | double resultadoConversorRealDolar = conversor.conversorRealDolar(valorRealInformado, 5); 28 | System.out.println("O valor informado em real para dolar é: " + resultadoConversorRealDolar); 29 | 30 | teclado.close(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/Funcoes/ConversorTemperatura.java: -------------------------------------------------------------------------------- 1 | package src.Funcoes; 2 | 3 | import java.util.Scanner; 4 | 5 | public class ConversorTemperatura { 6 | /* 7 | * F = C x 1,8 + 32. 8 | */ 9 | public double conversorCelsiusFahrenheit(double temperaturaEmCelsius) { 10 | return (temperaturaEmCelsius * 1.8) + 32; 11 | } 12 | 13 | /* 14 | * °C = (°F − 32) ÷ 1,8. 15 | */ 16 | public double conversorFahrenheitCelsius(double temperaturaEmFahrenheit){ 17 | return (temperaturaEmFahrenheit - 32) / 1.8; 18 | } 19 | 20 | public static void main(String[] args) { 21 | ConversorTemperatura conversor = new ConversorTemperatura(); 22 | Scanner teclado = new Scanner(System.in); 23 | 24 | System.out.print("Informe a temperatura em °C: "); 25 | double temperaturaEmCelsiusInformada = teclado.nextDouble(); 26 | 27 | double resultadoCelsiusFahrenheit = conversor.conversorCelsiusFahrenheit(temperaturaEmCelsiusInformada); 28 | System.out.println("A conversão °C -> °F: " + resultadoCelsiusFahrenheit); 29 | 30 | System.out.print("Informe a temperatura em °F: "); 31 | double temperaturaEmFahrenheiInformada = teclado.nextDouble(); 32 | 33 | double resultadoFahrenheitCelsius = conversor.conversorFahrenheitCelsius(temperaturaEmFahrenheiInformada); 34 | System.out.println("A conversão °F -> °C: " + resultadoFahrenheitCelsius); 35 | 36 | teclado.close(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/Funcoes/VerificaSinalDeNumero.java: -------------------------------------------------------------------------------- 1 | package src.Funcoes; 2 | 3 | import java.util.Scanner; 4 | 5 | public class VerificaSinalDeNumero { 6 | 7 | public char verificarSinal(int numero) { 8 | return (numero > 0) ? 'P' : 'N'; 9 | } 10 | 11 | public static void main(String[] args) { 12 | VerificaSinalDeNumero verificaSinalDeNumero = new VerificaSinalDeNumero(); 13 | Scanner teclado = new Scanner(System.in); 14 | 15 | System.out.print("Informe o número para ser verificado: "); 16 | int numeroInformado = teclado.nextInt(); 17 | 18 | System.out.println(verificaSinalDeNumero.verificarSinal(numeroInformado)); 19 | 20 | teclado.close(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/OperadoresEEstruturaCondicional/VerificaGenero.java: -------------------------------------------------------------------------------- 1 | package src.OperadoresEEstruturaCondicional; 2 | 3 | import java.util.Scanner; 4 | 5 | public class VerificaGenero { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | 9 | System.out.println("Infome seu gender: M - masculino ou F - feminino"); 10 | char gender = teclado.nextLine().toUpperCase().charAt(0); 11 | 12 | String mensagem = ""; 13 | switch (gender) { 14 | case 'M' -> mensagem = "M - masculino"; 15 | //case 'm' -> mensagem = "M - masculino"; 16 | case 'F' -> mensagem = "F - feminino"; 17 | //case 'f' -> mensagem = "F - feminino"; 18 | default -> mensagem = "Gênero inválido!"; 19 | } 20 | 21 | System.out.println(mensagem); 22 | teclado.close(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/OperadoresEEstruturaCondicional/VerificaMaiorNumero.java: -------------------------------------------------------------------------------- 1 | package src.OperadoresEEstruturaCondicional; 2 | 3 | import java.util.Scanner; 4 | 5 | public class VerificaMaiorNumero { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | 9 | System.out.print("Informe o primeiro número: "); 10 | int numero1 = teclado.nextInt(); 11 | 12 | System.out.print("Informe o segundo número: "); 13 | int numero2 = teclado.nextInt(); 14 | 15 | System.out.print("Informe o terceiro número: "); 16 | int numero3 = teclado.nextInt(); 17 | 18 | if(numero1 < 0 || numero2 < 0 || numero3 < 0) { 19 | System.out.println("Valor inválido!"); 20 | } else { 21 | if (numero1 > numero2 && numero1 > numero3) { 22 | System.out.println("O maior número é: " + numero1); 23 | } else if (numero2 > numero1 && numero2 > numero3) { 24 | System.out.println("O maior número é: " + numero2); 25 | } else { 26 | System.out.println("O maior número é: " + numero3); 27 | } 28 | } 29 | 30 | teclado.close(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/OperadoresEEstruturaCondicional/VerificaMaioridade.java: -------------------------------------------------------------------------------- 1 | package src.OperadoresEEstruturaCondicional; 2 | 3 | import java.util.Scanner; 4 | 5 | public class VerificaMaioridade { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | 9 | System.out.println("Digite sua idade: "); 10 | int idade = teclado.nextInt(); 11 | 12 | String mensagem = ""; 13 | if (idade >= 18) { 14 | mensagem = "Com a idade " + idade + " você tem maioridade!"; 15 | } else { 16 | mensagem = "Com a idade " + idade + " você não tem maioridade!"; 17 | } 18 | 19 | System.out.println(mensagem); 20 | 21 | teclado.close(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/OperadoresEEstruturaCondicional/VerificaMaioridadeTernario.java: -------------------------------------------------------------------------------- 1 | package src.OperadoresEEstruturaCondicional; 2 | 3 | import java.util.Scanner; 4 | 5 | public class VerificaMaioridadeTernario { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | 9 | System.out.println("Informe sua idade: "); 10 | int idade = teclado.nextInt(); 11 | 12 | String mensagem = (idade >= 18) ? "Com a idade " + idade + " você tem maioridade!" 13 | : "Com a idade " + idade + " você não tem maioridade!"; 14 | 15 | System.out.println(mensagem); 16 | 17 | teclado.close(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/OperadoresEEstruturaCondicional/VerificaNumeroPositivo.java: -------------------------------------------------------------------------------- 1 | package src.OperadoresEEstruturaCondicional; 2 | 3 | import java.util.Scanner; 4 | 5 | public class VerificaNumeroPositivo { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | 9 | System.out.println("Digite um número inteiro: "); 10 | int numero = teclado.nextInt(); 11 | 12 | if (numero >= 0) { 13 | System.out.println("Este número '" + numero + "' é positivo!"); 14 | } 15 | 16 | teclado.close(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/OperadoresEEstruturaCondicional/VerificaTurnoDeEstudo.java: -------------------------------------------------------------------------------- 1 | package src.OperadoresEEstruturaCondicional; 2 | 3 | import java.util.Scanner; 4 | 5 | public class VerificaTurnoDeEstudo { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | System.out.println("**********"); 9 | System.out.println("Informe seu turno de estudos: "); 10 | System.out.println("M-matutino ou V-Vespertino ou N- Noturno"); 11 | 12 | char turno = teclado.nextLine().charAt(0); 13 | 14 | String mensagem = ""; 15 | if(turno == 'M' || turno == 'm') { 16 | mensagem = "Bom dia!"; 17 | } else if (turno == 'V' || turno == 'v') { 18 | mensagem = "Boa tarde!"; 19 | } else if (turno == 'N' || turno == 'n') { 20 | mensagem = "Boa noite!"; 21 | } else { 22 | mensagem = "Valor inválido!"; 23 | } 24 | 25 | System.out.println(mensagem); 26 | 27 | System.out.println("**********"); 28 | teclado.close(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/TiposDeDadosEVariaveis/BoasVindas.java: -------------------------------------------------------------------------------- 1 | package src.TiposDeDadosEVariaveis; 2 | 3 | import java.util.Scanner; 4 | 5 | public class BoasVindas { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | 9 | System.out.println("Digite o seu nome: "); 10 | 11 | String nome = teclado.nextLine(); 12 | 13 | System.out.println("Seja bem-vindo(a) " + nome); 14 | 15 | teclado.close(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/TiposDeDadosEVariaveis/CalculoProduto.java: -------------------------------------------------------------------------------- 1 | package src.TiposDeDadosEVariaveis; 2 | 3 | import java.util.Scanner; 4 | 5 | public class CalculoProduto { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | 9 | String nomeDoProduto = teclado.nextLine(); 10 | 11 | double valorUnitarioProduto = teclado.nextDouble(); 12 | 13 | int quantidadeProduto = teclado.nextInt(); 14 | 15 | double valorTotalProduto = valorUnitarioProduto * quantidadeProduto; 16 | 17 | System.out.println("O Produto " + nomeDoProduto + " com o valor unitario R$ " + valorUnitarioProduto + " com a quantidade " + quantidadeProduto + " custará o total de R$ " + valorTotalProduto); 18 | 19 | teclado.close(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/TiposDeDadosEVariaveis/ConversaoCentimetrosMetros.java: -------------------------------------------------------------------------------- 1 | package src.TiposDeDadosEVariaveis; 2 | 3 | import java.util.Scanner; 4 | 5 | public class ConversaoCentimetrosMetros { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | 9 | System.out.println("Informe o valor em centímetros: "); 10 | double valorCentimetros = teclado.nextDouble(); 11 | 12 | double valorMetro = valorCentimetros / 100; 13 | 14 | System.out.println("O valor " + valorCentimetros + " em metros é: " + valorMetro); 15 | 16 | teclado.close(); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/TiposDeDadosEVariaveis/SomaNumerosInteiros.java: -------------------------------------------------------------------------------- 1 | package src.TiposDeDadosEVariaveis; 2 | 3 | import java.util.Scanner; 4 | 5 | public class SomaNumerosInteiros { 6 | public static void main(String[] args) { 7 | Scanner teclado = new Scanner(System.in); 8 | 9 | System.out.println("Digite o primeiro número: "); 10 | int numero1 = teclado.nextInt(); 11 | 12 | System.out.println("Digite o segundo número: "); 13 | int numero2 = teclado.nextInt(); 14 | 15 | int soma = numero1 + numero2; 16 | 17 | System.out.println("A soma dos dois números informados é: " + soma); 18 | 19 | teclado.close(); 20 | } 21 | 22 | } 23 | --------------------------------------------------------------------------------