Lógica de Programação Lógica de Programação com Java
Sumário Lógica de programação 1. Algoritmos 2. Comentários no código 3. Tipos de dados 4. Constantes e Variáveis 5. O que devemos saber para começar a programar 6. Criando o primeiro programa em JAVA 7. Operadores 8. Array 8. Controles de fluxo e Loops.1. if...else.2. Switch.3. while.4. for 9. Entrada e manipulação de dados 10. Exercícios
Lógica de programação Algoritmos Um Algoritmo é uma seqüência de instruções ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmo cujo objetivo é tomar banho: public class tomar_banho{ public static void main(string args[]){ 1 ir ao banheiro 2 abrir a porta 3 fechar a porta 4 tirar a roupa 5 andar em direção ao chuveiro 6 abrir o chuveiro 7 lavar o corpo 8 fechar o chuveiro 9 pegar a toalha 10 passar no corpo se enxugar todo corpo guardar a toalha senão passar no corpo 11 guardar toalha 12 vestir a roupa 13 abrir a porta 14 sair 15 fechar a porta Comentários no código Os comentários são bastante utilizados pelo programador para facilitar no entendimento do programa e documentar o código, geralmente usado para descrever o que o código está fazendo. Existem dois tipos de comentários o de linha simples e o de várias linhas. Para fazer um comentário de linha simples você iniciará o comentário com (//) e logo após seu comentário. Já para fazer um comentário de varias linhas você iniciará o comentário com (/*) e finalizará com (*/) ExemploComentarios.java //CRIA A CLASSE ExemploComentarios public class ExemploComentarios {
//DECLARA UMA VARIÁVEL DO TIPO INTEIRA E ATRIBUI UM VALOR 10 Int media=10; /* DECLARA UMA VARIÁVEL DO TIPO REAL E ATRIBUI UM VALOR 15 */ double media=15; //FIM DA CLASSE ExeploComentarios Tipos de dados Em JAVA existem oito tipos primitivos que servem para armazenar números inteiros, flutuantes(real), caracteres ou booleanos (verdadeiro ou falso) que são eles Tipo Capacidade de armazenamento byte 1 Byte = Armazena entre -128 e 127 short 2 Bytes = Armazena entre -32.768 e 32.767 int 4 Bytes = Armazena entre -2.147.483.648 e 2.147.483.648 long 8 Bytes = Armazena entre -9.223.372.036.854.775.808 e 9.223.372.036.854.775.807 float 4 Bytes = Armazena entre -2.147.483.648 e 2.147.483.648 double 8 Bytes = Armazena entre -9.223.372.036.854.775.808 e 9.223.372.036.854.775.807 char 2 Bytes = Armazena entre 0 e 65.535 boolean Armazena true ou false Inteiro, Real, Caracteres, Booleano. Além de todos esses tipos primitivos temos um tipo que é usado para armazenar uma cadeia de caracteres que é a chamada String ela é utilizada por exemplo pra armazenar um texto. ExemploString.java //CRIA A CLASSE ExemploString
public class ExemploString{ //DECLARA UMA VARIÁVEL DO TIPO STRING E ATRIBUI O VALOR JAVA Orientado a Objetos + MySQL, ano 2010 String curso="java Orientado a Objetos + MySQL, ano 2010 "; //IMPRIME NA TELA O VALOR DA VARIÁVEL curso System.out.print(curso); //FIM DA CLASSE ExemploString Para o uso formatado de Strings você pode usar alguns caracteres especiais que são esses citados abaixo: \n Quebra de linha \t Tabulação \ Aspa dupla \ Aspa simples \\ Barra invertida ExemploStringFormatada.java //CRIA A CLASSE ExemploStringFormatada public class ExemploStringFormatada{ //DECLARA UMA VARIÁVEL DO TIPO STRING E ATRIBUI O VALOR JAVA Orientado a Objetos + MySQL, ano 2010 COM FORMATAÇÕES String curso="java \norientado a Objetos + MySQL \nano 2010 \t\t "; //IMPRIME NA TELA O VALOR DA VARIÁVEL curso System.out.print(curso); //FIM DA CLASSE ExemploStringFormatada Constantes e Variáveis São espaços reservados na memória para o armazenamento de algum tipo de dados, para deixar bem claro o que é constante e o que é variável vamos usar um exemplo. Toda variável deve ser declarada antes de seu uso mas não necessariamente precisa-se atribuir valor a ela.
Sintaxe TIPO NOME_DA_VARIAVEL; - APENAS FOI DECLARAÇÃO DE VARIÁVEL TIPO NOME_DA_VARIAVEL=VALOR; - DECLARAÇÃO E ATRIBUIÇÃO DE VALOR A UMA VARIÁVEL Um programa que recebe duas notas e mostra a média aritimética entre as duas: ExemploConstantesVariaveis.java //CRIA A CLASSE ExemploConstantesVariaveis public class ExemploConstantesVariaveis { //DECLARA UMA VARIÁVEL DO TIPO REAL E ATRIBUI O VALOR 8.5 double nota1=8.5; //DECLARA UMA VARIÁVEL DO TIPO REAL E ATRIBUI O VALOR 7 double nota2=7; //DECLARA UMA VARIÁVEL DO TIPO REAL double media; //ATRIBUI O VALOR DA VARIÁVEL MÉDIA QUE É A SOMA DAS VARIÁVEIS nota1 E nota2 E DIVIDE PELO VALOR CONSTANTE 2 media=(nota1+nota2)/2; //IMPRIME NA TELA O VALOR DA VARIÁVEL media System.out.print(media); //FIM DA CLASSE ExemploConstantesVariaveis Os valores (Nota1 e Nota2) são variáveis pois os valores deles podem mudar de acordo com o desempenho do aluno. Já o valor (2) é uma constante pois ele não vai mudar sempre a soma das duas notas será dividido por esse valor. O que devemos saber para começar a programar O JAVA é uma linguagem case-sensitive o que quer dizer que Curso é diferente de curso. Tudo que está dentro da class são objetos por isso é uma linguagem orientada a objetos.
Toda class deve possuir o corpo como o do exemplo: ExemploCorpo.java //CRIA A CLASSE ExemploCorpo public class ExemploCorpo { //FIM DA CLASSE ExemploCorpo Mas só a principal deve possuir esse: ExemploCorpoClassePrincipal.java //CRIA A CLASSE ExemploCorpoClassePrincipal public class ExemploCorpoClassePrincipal{ //FIM DA CLASSE ExemploCorpoClassePrincipal Toda instrução deve ser terminada com (;). Toda variável tem que ser declarada com o seu determinado tipo e opcionalmente um valor. Toda arquivo compilado (.class) deve ter seu nome igual ao declarado no seu código se você declarar como no exemplo: ExemploNomeClasse.java //CRIA A CLASSE ExemploNomeClasse public class ExemploNomeClasse{ //FIM DA CLASSE ExemploNomeClasse Para usar os as classes pré-definidas da linguagem deve-se importar o pacote e instanciar o objeto na classe. Criando o primeiro programa em JAVA Agora nós iremos ter a primeira experiência com JAVA, nós iremos criar um simples programa que irá mostrar uma mensagem na tela. ExemploPrimeiroPrograma.java //CRIA A CLASSE ExemploPrimeiroPrograma public class ExemploPrimeiroPrograma{ //INSTRUÇÃO QUE IMPRIME NA TELA A STRING ENTRE PARENTESES System.out.print("Bem vindo ao Curso JAVA");
//FIM DA CLASSE ExemploPrimeiroPrograma Para imprimir na tela possuímos alguns tipos de instrução como: System.out.print() Imprime na tela System.out.println() Imprime na tela e em seguida quebra a linha System.out.printf() Imprime na tela com formatação de texto Vejamos exemplos de como utilizar cada um ExemploPrint.java //CRIA A CLASSE ExemploPrint public class ExemploPrint{ //IMPRIME NA TELA OS VALORES DAS STRINGS Curso E JAVA System.out.print("Curso"); System.out.print("JAVA"); //FIM DA CLASSE ExemploPrint ExemploPrintln.java //CRIA A CLASSE ExemploPrintln public class ExemploPrintln{ //IMPRIME NA TELA OS VALORES DAS STRINGS Curso E JAVA System.out.println("Curso"); System.out.println("JAVA"); //FIM DA CLASSE ExemploPrintln ExemploPrintf.java //CRIA A CLASSE ExemploPrintf
public class ExemploPrintf{ //IMPRIME NA TELA O VALOR FORMATADO DAS STRINGS Curso E JAVA System.out.printf("%s\t%s","Curso","JAVA"); //FIM DA CLASSE ExemploPrintf Qualquer um dos três poderá usar as formatações para String (\n,\t...)
Operadores Os operadores são utilizados para manipulação de dados como por exemplo uma soma, multiplicação entre muitos outros tipos de operações com variáveis. Lógica de Programação
Array Array é utilizada para armazenar e manipular uma lista de dados... Uma lista com 5 campos, cada campo é representado por um número subseqüente iniciado por zero. Campo 0 1 2 3 4 Valor FORTALEZA SÃO PAULO RIO DE JANEIRO SALVADOR SÃO LUIZ Para utilizarmos uma array para armazenar uma gama de valores devemos declarar uma array de um tipo qualquer, e criar um objeto array; Sintaxe TIPO NOME_DA_VARIAVEL[]; NOME_DA_VARIAVEL = new TIPO[ÍNDICE]; ONDE O ÍNDICE É A QUANTIDADE DE VALORES QUE A ARRAY VAI POSSUIR. Vejamos um exemplo de array: ExemploArray.java //CRIA A CLASSE ExemploArray public class ExemploArray{ //DECLARA UMA ARRAY DO TIPO STRING E ATRIBUI 5 VALORES String time[]= {"FLAMENGO","FORTALEZA","FERROVIÁRIO","FIGUEIRENSE","FRANÇA"; //IMPRIME NA TELA O 1º VALOR + QUEBRA DE LINHA System.out.print(time[0]+"\n"); //IMPRIME NA TELA O 2º VALOR + QUEBRA DE LINHA System.out.print(time[1]+"\n"); //IMPRIME NA TELA O 3º VALOR + QUEBRA DE LINHA System.out.print(time[2]+"\n"); //IMPRIME NA TELA O 4º VALOR + QUEBRA DE LINHA System.out.print(time[3]+"\n"); //IMPRIME NA TELA O 5º VALOR + QUEBRA DE LINHA System.out.print(time[4]+"\n");
/*OU SE PREFERIR PODE CRIAR DESSE TIPO*/ CAMPOS //DECLARA ARRAY DO TIPO STRING String nome[]; //CRIA O OBJETO ARRAY DO TIPO STRING E DEFINE QUE VAI POSSUIR 3 nome = new String[3]; //ATRIBUI VALOR AO 1º CAMPO nome[0] = "MARIA"; //ATRIBUI VALOR AO 2º CAMPO nome[1] = "FRANCISCO"; //ATRIBUI VALOR AO 3º CAMPO nome[2] = "JOSÉ"; //IMPRIME NA TELA O 1º VALOR + QUEBRA DE LINHA System.out.print("\n"+nome[0]+"\n"); //IMPRIME NA TELA O 2º VALOR + QUEBRA DE LINHA System.out.print(nome[1]+"\n"); //IMPRIME NA TELA O 3º VALOR + QUEBRA DE LINHA System.out.print(nome[2]+"\n"); //FIM DA CLASSE ExemploArray
Controles de fluxo e Loops o If...Else O if...else compara valores e retorna resultados true ou false mostrando instruções de acordo com o resultado. Sintaxe SE FOR VERDADEIRO(CONDIÇÃO){ INSTRUÇÕES; CASO CONTRARIO{ INSTRUÇÕES; Vamos criar um programa que crie uma condição pra dizer se é maior ou menor de idade ExemploIfElse.java //CRIA A CLASSE ExemploIfElse public class ExemploIfElse{ //DECLARA UMA VARIÁVEL DO TIPO INTEIRA E ATRIBUI O VALOR 10 int idade=10; //CRIA A CONDIÇÃO IF (VARIÁVEL idade MAIOR QUE 18) if(idade>18){ //SE A CONDIÇÃO FOR VERDADEIRA EXECUTARÁ ESTE BLOCO DE INSTRUÇÕES //IMPRIME NA TELA A STRING você é maior de idade System.out.print("você é maior de idade"); else{ //SE A CONDIÇÃO FOR FALSA EXECUTARÁ ESTE BLOCO DE INSTRUÇÕES //IMPRIME NA TELA A STRING você é menor de idade System.out.print("você é menor de idade");
//FIM DA CLASSE ExemploIfElse O if testa a condição e se for verdadeira ele executa as instruções dentro do if se a condição for falsa ele executa as instruções dentro do else.
o Switch Case O switch tem quase a mesma função do if...else a diferença é que você pré-define valores inteiros para ele testar. Vamos criar um programa que dependendo da hora faça uma ação e mostre essa ação na tela: ExemploSwitchCase.java //CRIA A CLASSE ExemploSwitchCase public class ExemploSwitchCase{ //DECLARA UMA VARIÁVEL DO TIPO INTEIRA E ATRIBUI VALOR 1 int hora=1; //CRIA A CONDIÇÃO switch(hora){ //SE VALOR DA CONDIÇÃO FOR IGUAL A 1 EXECUTA INSTRUÇÕES APÓS : case 1: //IMPRIME NA TELA A STRING Assistir Televisão System.out.print("Assistir Televisão"); //FINALIZA AS INSTRUÇÕES break; //SE VALOR DA CONDIÇÃO FOR IGUAL A 2 EXECUTA INSTRUÇÕES APÓS : case 2: //IMPRIME NA TELA A STRING Ligar Computador System.out.print("Ligar Computador"); //FINALIZA AS INSTRUÇÕES break; //SE VALOR DA CONDIÇÃO FOR DIFERENTES DE TODOS OS VALORES CITADOS ACIMA EXECUTA INSTRUÇÕES APÓS : default: //IMPRIME NA TELA A STRING Dormir System.out.print("Dormir"); //FINALIZA AS INSTRUÇÕES break;
//FIM DA CLASSE ExemploSwitchCase O switch testa todas as condições(case) se ele encontrar o valor ele executa as instruções da condição caso não ele executa as instruções da condição default
o While O while é um repetidor, ele testa uma condição e enquanto a condição for verdadeira ele repete as instruções que estão dentro do bloco de comandos dele. Vamos criar um programa que mostre na tela: ExemploWhile.java //CRIA A CLASSE ExemploWhile public class ExemploWhile{ //DECLARA UMA VARIÁVEL DO TIPO INTEIRA E ATRIBUI VALOR 7 int hora=7; //DECLARA A CONDIÇÃO (VARIÁVEL hora MENOR QUE 12) while(hora<12){ //ENQUANTO A CONDIÇÃO FOR VERDADEIRA SERÁ EXECUTADO O QUE ESTÁ DENTRO DO BLOCO DE INSTRUÇÕES //IMPRIME NA TELA A STRING são CONCATENA COM A VARIÁVEL hora E CONCATENA COM A STRING hs ainda estou dormindo System.out.println("são "+hora+"hs ainda estou dormindo"); //INCREMENTA A VARIÁVEL hora hora++; //IMPRIME NA TELA A STRING são 12hs já estou acordado System.out.println("são 12hs já estou acordado"); //FIM DA CLASSE ExemploWhile No while é importante que a variável da condição decremente ou incremente pq senão ficará em um chamado looping infinito pois vamos raciocinar: voc a hora é 7 se não decrementar ou incrementar ele vai testar a condição e vai ser sempre verdadeira então ele vai repetir infinitas vezes o looping
o For a única diferença do for para o while é que ele ja na condição tem que ser declarada uma variável com um valor atribuido e tem que decrementar ou incrementar essa variável. Como o For é bem parecido com o While vamos usar o mesmo exemplo, vamos criar um programa pra mostrar a tela: o ExemploFor.java //CRIA A CLASSE ExemploFor public class ExemploFor{ /* DECLARA VARIÁVEL DO TIPO INTEIRA hora E ATRIBUI O VALOR 7 DECLARA A CONDIÇÃO (VARIÁVEL HORA MENOR QUE 12 INCREMENTA A VARIÁVEL hora */ for(int hora=7; hora<12; hora++){ //ENQUANTO A CONDIÇÃO FOR VERDADEIRA EXECUTARÁ O BLOCO DE INSTRUÇÕES //IMPRIME NA TELA A STRING são CONCATENA COM A VARIÁVEL hora E CONCATENA COM A STRING hs ainda estou dormindo System.out.println("são "+hora+"hs ainda estou dormindo"); //IMPRIME NA TELA A STRING são 12hs já estou acordado System.out.println("são 12hs já estou acordado"); //FIM DA CLASSE ExemploFor
Entrada e manipulação de dados Até agora vimos como imprimir dados na tela mas com valores já pré-definidos no código, agora vamos aprender a interagir com o usuário, vamos criar um programa que pergunte ao usuário um número, armazene em uma variável e logo em seguida mostre a sua multiplicação por 5. ExemploScanner.java //IMPORTA O PACOTE SCANNER QUE CONTEM A CLASSE COM A CONFIGURAÇÃO PARA ENTRADA DE DADOS import java.util.scanner; //CRIA A CLASSE ExemploScanner public class ExemploScanner{ //INSTANCIA A CLASSE SCANNER Scanner entrada = new Scanner(System.in); //DECLARA A VARIÁVEL DO TIPO INTEIRA PARA ARMAZENAR UM NÚMERO int numero; //DECLARA A VARIÁVEL DO TIPO INTEIRA PARA ARMAZENAR A SUA MULTIPLICAÇÃO POR 5 int multiplica; //IMPRIME NA TELA A STRING Digite um número System.out.println("Digite um número"); //ARMAZENA O NÚMERO DIGITADO NA VARIÁVEL numero numero = entrada.nextint(); //MULTIPLICA O VALOR ARMAZENADO NA VARIÁVEL numero POR 5 E ARMAZENA NA VARIÁVEL multiplica multiplica=numero*5; //IMPRIME NA TELA A STRING O resultado é: E CONCATENA COM O VALOR DA VARIÁVEL multiplica System.out.println("O resultado é: "+multiplica); //FIM DA CLASSE ExemploScanner
Exercícios 1) Criar um programa que mostre a soma de duas variáveis na tela. ExemploLogicaDeProgramacao1.java 2) Criar um programa que calcule o a soma do lucro trimestral da empresa nos meses de janeiro=3000, fevereiro=2750, março=5170 e divida para os quatro sócios e mostre o resultado na tela. ExemploLogicaDeProgramacao1.java 3) Criar um programa que o usuário entre com seu nome e idade e mostre o nome do usuario, a idade e se é maior ou menor de idade. ExemploLogicaDeProgramacao1.java 4) Criar um programa que o usuário entre com seu nome e salário, e o programa calcula sua folha de pagamento com os seguintes descontos: Inss = 8% Alimentação = 6% Transporte = 6% Salário família = 10% E mostra na tela o nome, salário bruto, total de descontos, salário líquido... ExemploLogicaDeProgramacao1.java 5) Criar um programa que conte de 1 a 100 de 3 em 3. ExemploLogicaDeProgramacao1.java