Baixe o app para aproveitar ainda mais
Prévia do material em texto
AULA 2 TIPOS DE DADOS E ESTRUTURAS BÁSICAS DE PROGRAMAÇÃO Nesta aula, você irá: 1.Identificar os tipos de dados primários; 2.Utilizar tipos de dados p r i m i t i v o s , v a r i á v e i s simples; 3.Aplicar as estruturas de decisão em java; 4.Aplicar as estruturas de repetição em java; 5.Desenvo lver, l e r e i n te rp re ta r pequenos programas java, com estruturas básicas e seus tipos de dados; AS CONVENÇÕES DO JAVA A linguagem de programação Java é “Case Sens i t ive”. Ex is tem vár ias convenções utilizadas. São elas: •Nomes de var iáveis e métodos começam com letras MAIÚSCULAS •Nomes de classes iniciam com letras MAIÚSCULAS •Nomes compostos: utilizar letras MAIÚSCULAS para in ic ia is das palavras •Letras MAIÚSCULAS para constantes Comentários em Java Existem três formas de se inserir comentários: 1.// comentário em uma linha 2./* comentário em uma ou mais linhas */ 3./** Documento Comentário*/ Quando este tipo de comentário é colocado imediatamente acima da declaração (de uma função ou variável), indica que o comentário poderá ser incluído automaticamente em uma página HTML (gerado pelo comando javadoc - gerador de documentação do java) TIPOS DE DADOS EM JAVA O Java é uma linguagem de programação fortemente tipada, ou melhor, necessita que todas as variáveis tenham um tipo declarado. Existem 8 tipos primitivos. Seis deles são numéricos, um é o caractere e o último é o booleano. D E C L A R A N D O E A T R I B U I N D O VALORES A VARIÁVEIS A declaração de variáveis em Java exige que o tipo da variável seja declarado. Você inicia a declaração, indicando o tipo da variável e o nome desejado, como nos exemplos a seguir: int x, y; //declarando duas variáveis inteiras x = 6; //atribuindo valores a variáveis y = 1000; float f = 3,141516f; //ponto flutuante double w = 3,2310834; //ponto flutuante de dupla precisão char ch = ‘a’; //Caractere final int MAX = 9; Define a constante MAX com o valor de 9 OPERADORES ARITMÉTICOS E RELACIONAIS OPERADOR ARITMÉTICOS OPERADORES RELACIONAIS O operador ! é chamado de not ou negado. E S T R U T U R A S B Á S I C A S D E PROGRAMAÇÃO Os comandos da linguagem permitem contro lar o f luxo do programa e expressões condicionais. BLOCOS Conjunto de linhas de códigos situadas entre um abre e um fecha chaves( {} ). É permitido criar blocos dentro de blocos. { //início de bloco ... /*bloco de comandos*/ ... } //fim de bloco ESCOPO DAS VARIÁVEIS Escopo de uma variável indica em que parte do código ou bloco de comandos do programa que podemos utilizar ou enxergar a variável. Existem variáveis locais e variáveis globais. O escopo define também quando a variável será criada e destruída da memória. As locais estão visíveis apenas dentro do bloco enquanto as globais estão disponíveis em qualquer bloco do programa. Observação: escopo é diferente de visibilidade, o qual se aplica as variáveis de classe e tem a ver com a utilização destas fora da classe. COMANDO CONDICIONAL Desvia o fluxo natural do programa de acordo com um teste lógico. if (expressão booleana) comando1 ou {bloco de comandos1} else comando2 ou {bloco de comandos2} Quando o programa encontra um comando if, a expressão booleana é ava l iada. Caso a expressão se ja verdadeira o comando 1 é executado e o comando 2 não. Caso a expressão seja falsa o comando 2 é executado e o comando 1 não. Vale lembrar que o else é opcional. Quando existe um conjunto de opções, podemos utilizar a estrutura switch-case switch(variável) { case(valor1):comando1;break; case(valor2):comando2;break; case(valor3):comando3;break; … default:comando_genérico; break; } Nesta estrutura, o programa avalia a variável. Caso o valor seja o valor1, o comando 1 é executado; caso seja o valor 2, o comando 2 é executado; e assim sucess i vamente… Caso não se j a encontrado o valor, o comando genérico é executado. DESVIO DE FLUXO Existem dois comandos de desvios de fluxo break continue; break; O comando termina a execução de um loop sem executar o resto dos comandos e força a saída do laço. continue; O comando termina a execução de um laço sem executar o resto dos comandos, voltando ao início do laço para uma nova iteração. ESTRUTURAS DE REPETIÇÃO OU LAÇO 1. while(expressão) comando ou {bloco de comandos} Enquanto a expressão for verdadeira, o comando será executado. Quando a expressão for falsa o programa segue para o seu caminho normal. 2. do comando ou {bloco de comandos} while(expressão); Faz o comando,, enquanto a expressão for verdadeira. Quando a expressão for falsa o programa segue para o seu caminho normal. A grande diferença entre o do-while e o while é que no laço do- while o programa executa pelo menos uma vez o comando do laço. 3. for(inicialização; expressão; incremento) comando ou {bloco de comandos} O comando for executa o laço enquanto a expressão for verdadeira, só que pode ser controlada por um contador. Esta expressão permite que o usuário inicialize e incremente o contador no controle do laço MANIPULANDO COM STRINGS Java é uma linguagem totalmente orientada a objetos. Então, todos os valores utilizados são objetos descritos por classes. Os tipos primitivos de dados permitem que possamos criar todos os tipos de objetos necessários para se implementar qualquer sistema. Um dos objetos mais utilizados é o String (com S maiúsculo porque, como vimos nas convenções, String é uma classe). String é uma sequência de caracteres. Ex.: String um = “Curso”; String dois = “Java”; ATENÇÃO Objetos da classe String não devem ser comparados usando os operadores relacionais, porque são objetos. Existem m é t o d o s e s p e c i a i s p a r a executar tais funções. O objeto String em Java possui mais de 50 métodos diferentes. MANIPULANDO COM VETORES Vetores são estruturas utilizadas para armazenar um conjunto de dados do mesmo tipo. Esses podem ser de qualquer tipo, desde variáveis primitivas até objetos complexos. A sua alocação na memória é sempre contínua. CONVERSÃO ENTRE TIPOS DE DADOS Quando trabalhamos com expressões, o resultado de uma expressão pode ser de um tipo diferente dos seus operandos. Ou ainda, temos dois tipos de dados diferentes e queremos efetuar uma operação. Não é possível efetuar comparações ou operações com tipos diferentes. Para resolver este problema, podemos converter os tipos de dados. Existem, basicamente, dois tipos de conversões de dados. A conversão implícita e a explícita de dados. IMPLÍCITA O primeiro caso ocorre sem a necessidade do programador interferir. Os valores são convertidos automaticamente. Isso ocorre na conversão de inteiro para real, de números para strings ou com o uso de operadores unários. Ex.: double x; int i = 20; x = i; // x recebe um valor inteiro System.out.print(“i= ” + x); /* O valor de x é convertido para string e concatenado com a outra string para ser apresentada na tela */ EXPLÍCITA O segundo caso, o programador controla a conversão informando qual tipo será utilizado, através de um operador unário. Ex.: float eventos = 25.7; float dias = 7.2; x = (int) (eventos / dias); // O resultado é o inteiro 3, pois 25/3 é 3.57 Exercícios 1) Com o seu ambiente de programação Java, escreva o programa abaixo no bloco de notas, salve em uma pasta de trabalho. No prompt de comando, vá até a pasta de trabalho e compile (utilizando o javac) seu programa. Execute o programa (utiliza java <nome da classe>) e veja o resultado. Além disso, faça as alterações abaixo e veja o resultado: REGISTRODE PARTICIPAÇÃO 1. O programa abaixo converte um inteiro em um byte. Qual o resultado apresentado como saída? Marque a opção correta. public class TesteConvByte{ public static void main(String args[]){ int l=300; byte b; b=(byte) l; System.out.println("O valor de b é "+b); } } 1) 300. 2) -300. 3) 44. 4) -44.
Compartilhar