Baixe o app para aproveitar ainda mais
Prévia do material em texto
06/10/2016 1 Profª. Drª. Adriana Aparicio – adriana.nascimento@uva.br Prof. Dr. Engº Carlos Sicsú – caugusto.sicsu@uva.br Curso de Engenharia Características da linguagem Java 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 2 06/10/2016 2 Comentários Existem três tipos permitidos de comentários nos programas feitos em Java: // comentário de linha: tudo na linha a partir dele é desconsiderado pelo compilador. /* comentário de bloco: tudo entre o início e o fim é desconsiderado pelo compilador. */ /** comentário de documentação: tudo entre o início e o fim é desconsiderado pelo compilador, mas é considerado pelo documentador. (Arquivos de documentação). */ 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 3 Ponto e vírgula, Blocos e o espaço em branco • Na linguagem java os comandos são terminados com o sinal de ponto e vírgula ( ; ) • Um bloco tem início e tem o seu fim representados pelo uso das chaves { } • O uso dos espaços em branco (identação) permite uma melhor visualização dos comandos e em consequência facilita a sua manutenção. 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 4 06/10/2016 3 Identificadores: Na linguagem Java um identificador é usado para identificar um elemento (variável, constante, atributo, método, classe, etc) é iniciado por uma letra, um símbolo de underscore ( _ ), ou sinal pelo sinal de dólar ($). O java, faz distinção entre letras maiúsculas e minúsculas (CASE SENSITIVE): Identificadores válidos: identificador userName Username _sys_var1 $change 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 5 Tipos de dados no Java • Tipo Lógico - boolean: true e false. • Tipo Textual - String O tipo String não é um tipo primitivo, mas uma classe especial que gera objetos e é usado para representar uma sequência de caracteres. 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 6 06/10/2016 4 • Tipos Inteiros: byte, short, int e long. Existem quatro tipos de inteiros: Tamanho do Inteiro Tipo Escopo 8 bits byte -27 . . . . 27 - 1 16 bits short -215 . . . . 215 - 1 32 bits int -231 . . . . 231 - 1 64 bits long -263 . . . . 263 - 1 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 7 • Tipo Ponto Flutuante (Real) Existem dois tipos de números reais: float e double. Um float é representado por 32 bits e um double por 64 bits. Um double possui maior precisão, ou seja, podemos armazenar valores muito menores ou muito maiores, mas utilizam maior espaço de memória para o armazenamento. 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 8 Valor Descrição Tipo 3.14 Um ponto flutuante simples float 6.02E23 Um valor de ponto flutuante longo double 2.718F Um valor de ponto flutuante de menor precisão float 123.4E+306D Um valor de ponto flutuante de maior precisão double 06/10/2016 5 Palavras Reservadas (Não podem ser usadas como identificadores) abstract do implements private throw boolean double import protected throws break else instanceof public transient byte extends int return true case false interface short try catch final long static void char finally native super volatile class float new switch while continue for null synchronized default if package this 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 9 Convenções de Codificação na linguagem Java: • Classe, nomes de classes podem ser maiúsculas ou minúsculas ou misturado (maiúsculas e minúsculas), mas por convenção o nome das classes começam por letra maiúsculas. Exemplo: class Aluno • Interfaces - Nomes de Interfaces seguem o mesmo formato de classes. Exemplo: interface Atleta • Métodos - Nomes de métodos podem ser verbos, podendo misturar entre maiúsculas e minúsculas, sendo entretanto a primeira letra minúscula e a cada nova palavra passa-se a iniciar por maiúscula. Exemplos: cadastrar( ) setNome () 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 10 06/10/2016 6 Convenções de Codificação na linguagem Java: • Atributos - Nomes de atributos seguem a regra de identificação de métodos, podendo misturar entre maiúsculas e minúsculas, sendo entretanto a primeira letra minúscula e a cada nova palavra passa-se a iniciar por maiúscula. Exemplos: String nome; double alturaPredio; 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 11 • Constantes - Nomes de constantes podem ser maiúsculas, minúsculas, misturadas, separadas com underscores. • Variáveis - Todas as instancias, classes e variáveis globais suportam maiúsculas e minúsculas. • Controles de Estruturas- Convencionou-se o uso obrigatório de { } (chaves); • Espaços - Convencionou-se o uso de quatro espaços para identação; • Comentários - Use os comentários para explicar os segmentos de código que não são óbvios. 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 12 06/10/2016 7 class Exemplo1 { int idade; String nomeCompleto; void maiorIdade( ) { if(idade >= 18) { System.out.println(“Maior Idade”); } else { System.out.println(“Menor Idade”); } } int idade() { return idade; } } 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 13 Identação Inicialização de variáveis No Java não é permitido o uso de variáveis indefinidas, ou seja, java é uma linguagem de programação fortemente tipada. Uma linguagem de programação fracamente tipada permite o uso de variáveis sem a definição de tipo. Como Java é uma linguagem fortemente tipada, todas as variáveis devem ser definidas. Variáveis definidas dentro de métodos são chamadas de variáveis automáticas, locais, temporárias ou estáticas e devem ser inicializadas antes do uso. 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 14 06/10/2016 8 Operadores Aritméticos: Operador Descrição = Atribuição + Soma - Subtração * Multiplicação / Divisão % Resto da divisão inteira Observação: Quando um número inteiro e um número em ponto flutuante são usados como operando sem uma única operação aritmética, o resultado é também um número em ponto flutuante. O número inteiro é implicitamente convertido em um número em ponto flutuante antes da expressão ser avaliada. 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 15 Todo cálculo entre inteiros resulta em um inteiro, mesmo a divisão. Para uma divisão entre inteiros que se queira a parte fracionária, é necessário converter o tipo, isso pode ser feito através de cast. Exemplos: int x=7, y = 3, z; z = x / y; // z valerá 2 7 / 3 = 2 e resto 1. Podemos então usar o cast: int x=7, y = 3; float z; z = (float) x / y; // z valerá 2.33334 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 16 06/10/2016 9 • Operadores Relacionais: Operador Descrição == Igualdade / Comparação != Diferente (Não igual) > Maior que < Menor que >= Maior ou igual a <= Menor ou igual a Exemplos: if(a > b) if(a+b >= c) 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 17 • Operadores em Expressões Lógicas: Operador Descrição ! NÃO lógico && E lógico || OU lógico Exemplos: if( a > b && c <= d) if( ! a < b || c != d && e > f ) Precedência: !, &&, || Assim, o segundo exemplo equivale a: if( ( !(a < b) || (c != d && e > f) ) ) 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 18 06/10/2016 10 Exercícios: • Sabendo-se que: a=7, b=8, c=16, d=4 E e=12: Resolva as seguintes expressões lógicas: 1. Se( a > b && d > e ) 2. Se( a+d >= e || c-b > d ) 3. Se( a+b-d <= c || a+b >= d && d+e != c ) 4. Se( a>b || b<c && c <= d || b-d > a ) 5. Se(d < a && c>b ||b-a < d && e+d >= c) 6. Se(d < a && !c>b || !b-a < d && e+d >= c) 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 19 Estruturas de Controle de Fluxo 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 20 06/10/2016 11 Estruturas Condicionais: • Se (if): Se (condição) entao if (condição) { instruções instruções; Fimse } Se/Senão: if ... else, A cláusula else é opcional. Se (condição) entao if (condição) { instruções instruções; } Senao else { instruções instruções; Fimse } 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 21 Estruturas de Repetição: • Para: for Estrutura de repetição caracterizada pela existência de três parâmetros (opcionais): Valor inicial, Condição para parada das iterações, Quantidade de incrementos/decrementos a cada iteração. 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 22 Para cont de x ate y passo z for(inic; cond; passo) // Repetição controlada por uma variável: Para i de 0 ate 100 passo 1 faca for (i=0; i<=100; i=i+1) { instruções instruções; FimPara } 06/10/2016 12 • while Estrutura de repetição que realiza as operações desejadas enquanto uma determinada condição especificada for verdadeira. // Teste de condição no início Enquanto (condição) faça while (condição) { instruções instruções; FimEnquanto } 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 23 • do ... while Estrutura de repetição semelhante à anterior, com o diferencial de que as condições são verificadas ao final da execução, permitindo as operações especificadas sejam sempre executadas pelo menos uma vez. // Teste de condição no final Faça do Instruções { instruções; Enquanto (Condição) } while (condição); 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 24 06/10/2016 13 Exemplo de programa em java com entrada de dados: import java.util.Scanner; public class EntradaDados { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String matricula, nome; double nota1, nota2; int idade; System.out.println("Entre com o Matricula.......: "); matricula=(sc.nextLine()); System.out.println("Entre com o Nome............: "); nome=(sc.nextLine()); System.out.println("Entre com a Nota A1.........: "); nota1=(Double.parseDouble(sc.nextLine())); System.out.println("Entre com a Nota A2.........: "); nota2=(Double.parseDouble(sc.nextLine())); System.out.println("Entre com a Idade .........: "); idade=(Integer.parseInt(sc.nextLine())); System.out.println("Matrícula: " + matricula + " Nome: " + nome + " Nota 1: " + nota1 + " Nota 2: " + nota2 + " Idade : " + idade + " Media: " + (nota1 + nota2 )/2 ); } } 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 25 • Monitoria: – Sexta-feira de 16:00 às 18:00hs (A325) Monitor: Luis Antônio – Quarta-feira de 10:00 às 11:00hs (A304) e de 17:00 às 18:00hs (A326) Monitor: Túlio 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 26 06/10/2016 14 Fim da Parte II 06/10/2016 Profª. Drª. Adriana Aparicio - Prof. Dr. Engº Carlos Sicsú 27
Compartilhar