4. Introdução à linguagem de programação Java – Fundamentos de Programação

1.829 visualizações

Publicada em

Fundamentos da Programação 4:
• Introdução à linguagem de programação Java

Apresentação 4 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.

Publicada em: Educação
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.829
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1.153
Ações
Compartilhamentos
0
Downloads
67
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

4. Introdução à linguagem de programação Java – Fundamentos de Programação

  1. 1. Introdução à linguagem de programação Java
  2. 2.  Algoritmos implementados em Snap!  Variáveis  Instruções de selecção  Instruções de iteração  Funções  Listas 2013/2014 Fundamentos de Programação 2
  3. 3.  Especificar problema [humano]  Desenvolver algoritmo que o resolva [humano]  Concretizar algoritmo na linguagem de programação [humano]  Traduzir programa para linguagem máquina [compilador, numa máquina]  Executar programa para caso particular [máquina física ou virtual] 2013/2014 Fundamentos de Programação 33
  4. 4.  Linguagem de programação  Orientada por objectos  (e também imperativa, procedimental e estruturada)  Independente da plataforma: programas executáveis em diferentes sistemas operativos  Muito utilizada na indústria 2013/2014 Fundamentos de Programação 4
  5. 5. 2013/2014 Fundamentos de Programação 5 Fonte: http://trendyskills.com/
  6. 6. JVM Compilador de Java (javac.exe) Código em bytecode Java (linguagem máquina para JVM) (Greeter.class) Código fonte em Java (e.g., Greeter.java) 2013/2014 Fundamentos de Programação 6 JavaVirtual Machine (MáquinaVirtual Java) Significa “texto escrito na linguagem Java”… Interpretador de linguagem máquina para a JVM (java.exe) Processador
  7. 7.  Declaração e inicialização obrigatórias!  Declaração indica nome e tipo (conjunto dos valores)  Inicialização indica valor inicial  Utilizadas para guardar valores  Atribuição altera valor de variável 2013/2014 Fundamentos de Programação 7
  8. 8. Snap! Java Observações - int i = 1; Declaração com inicialização. int gcd; if (m < n) gcd = m; else gcd = n; Declaração sem inicialização seguida de duas inicializações alternativas. prime = 2; Atribuição (se prime estiver já inicializada). i = i + 1; Incrementação (há melhores formas…). n = temporary; 2013/2014 Fundamentos de Programação 8 Não existe em Snap!, pelo que usa declaração e atribuição.
  9. 9.  Declarar tão próximo quanto possível da primeira utilização  Declarar de modo a minimizar âmbito da variável  Inicializar logo que possível  Não inicializar apenas “para calar o compilador” 2013/2014 Fundamentos de Programação 9
  10. 10. Tipo Descrição Bits Exemplos int Subconjunto dos inteiros. 32 int numberOfStudents; double Vírgula flutuante. Subconjunto dos racionais. 64 double averageGrade; boolean Booleanos ou lógicos. 8 boolean isPrime; char Caracteres. 16 char response; String Texto, cadeias de caracteres. - String studentName; 2013/2014 Fundamentos de Programação 10 Há mais!
  11. 11. Tipo Descrição Bits byte Pequeno subconjunto dos inteiros. 8 short Subconjunto dos inteiros, entre byte e int. 16 long Subconjunto dos inteiros, maior que int. 64 float Vírgula flutuante. Subconjunto dos racionais , menor gama e menor precisão que double. 32 2013/2014 Fundamentos de Programação 11
  12. 12.  Nomes de variáveis são identificadores  Identificadores não podem ser repetidos no mesmo contexto 2013/2014 Fundamentos de Programação 12
  13. 13.  Constituídos por  letras (a, À, ε, …)  dígitos (0 a 9)  _  $  Primeiro caractere não pode ser dígito  Maiúsculas e minúsculas são distinguidas  Não podem ser palavras-chave do Java (e.g., for, while, int, if ou for) 2013/2014 Fundamentos de Programação 13
  14. 14.  Primeira palavra em minúsculas  Restantes palavras com maiúscula inicial  Exemplo: numberOfStudents 2013/2014 Fundamentos de Programação 14
  15. 15.  Em língua natural  Sem abreviaturas  Gramática correcta  Adequados à entidade que identificam  Claros  Significativos  Expressivos  Para variáveis, são continuação de «This variable stores the …» 2013/2014 Fundamentos de Programação 15 Há excepções, nomeadamente as que nos chegam do domínio da matemática e que ganharam estatuto de expressões idiomáticas nas linguagens de programação: i, j, m, n, x, y e algumas outras, sempre em casos muito particulares.
  16. 16. Snap! Java Significado Tipo && e Booleano || ou Booleano ! não Booleano < menor Relacional <= menor ou igual Relacional > maior Relacional >= maior ou igual Relacional == igual Comparação != diferente Comparação 2013/2014 Fundamentos de Programação 16
  17. 17. Snap! Java if (m < n) { gcd = m; } else { gcd = n; } if (grade < 10) { … } else if (grade < 12) { … } else { … } 2013/2014 Fundamentos de Programação 17 Pode-se omitir as chavetas quando contêm apenas uma instrução.
  18. 18. Snap! Java initialization while (guard) { action progress } initialization do { action progress } while (guard); 2013/2014 Fundamentos de Programação 18 Pode-se omitir as chavetas quando contêm apenas uma instrução.
  19. 19. Snap! Java System.out.print(something); System.out.println(something); 2013/2014 Fundamentos de Programação 19 Passa para a linha seguinte depois de escrever.
  20. 20. Snap! Java public static int minimumOf(final int m, final int n) { if (m < n) return m; else return n; } int number = minimumOf(5, 7); 2013/2014 Fundamentos de Programação 20 A ver mais tarde…A ver mais tarde… Constante, inalterável.
  21. 21.  Podem ser funções ou procedimentos  Funções – calculam e devolvem algum valor  Procedimentos – realizam uma dada acção 2013/2014 Fundamentos de Programação 21 A ver mais tarde…
  22. 22.  Em programação orientada para objectos as rotinas são conhecidas por métodos  Podem ser de classe ou de instância  Métodos de classe – com static  Métodos de instância – sem static, a ver mais tarde 2013/2014 Fundamentos de Programação 22 Mais tarde distinguir-se-á operações e métodos. A ver mais tarde…
  23. 23. public class Greeter { public static void main(final String[] arguments) { System.out.println("Hello world!"); } }  Ficheiro com o código fonte de classe tem de ter mesmo nome que classe e extensão .java  Método principal main(...) é um procedimento e é o primeiro método a ser invocado ao se executar um programa 2013/2014 Fundamentos de Programação 23
  24. 24. public class GcdTester { // Precondition: m ≥ 0 and n ≥ 0 and either m ≠ 0 or n ≠ 0. public static int gcd(int m, int n) { while (m != 0) { final int temporary = m; m = n % m; n = temporary; } return n; } public static void main(final String[] arguments) { final int firstValue = 25; final int secondValue = 30; final int gcd = gcd(firstValue, secondValue); System.out.println("The GCD is " + gcd + "."); // or simply: // System.out.println("The GCD is " + gcd(25, 30) + "."); } } 2013/2014 Fundamentos de Programação 24
  25. 25.  Java ignora  texto entre // e o fim da linha e  texto entre /* e */  Usados para  Comentar – clarificar código menos claro  Documentar – gerar documentação  Comentários Java iniciados com /** são documentação, que veremos mais tarde 2013/2014 Fundamentos de Programação 25
  26. 26.  Usar para documentação  Evitar usar para comentar código menos claro 2013/2014 Fundamentos de Programação 26
  27. 27.  Java  Variáveis  Instrução de selecção if-else  Instruções de iteração while e do-while  Rotinas: funções e procedimentos  Rotinas e métodos  Métodos de classe (static) vs. métodos de instância  Escrita no ecrã com System.out.println(…)  Método principal main(…)  Comentários e documentação 2013/2014 Fundamentos de Programação 27
  28. 28.  Introdução à linguagem de programação Java 2013/2014 Fundamentos de Programação 28

×