Introdução a programação I

50 %
50 %
Information about Introdução a programação I

Published on January 26, 2016

Author: ClertonLeal

Source: slideshare.net

1. UMA INTRODUÇÃO A LÓGICA DE PROGRAMAÇÃO COM JAVA. CLÊRTON LEAL

2. UM POUCO SOBRE MIM. ▸ Desenvolvedor de software com alguns anos de mercado. ▸ Com o tempo acabei me tornando um especialista em Android. ▸ Sou maluco pro desenvolvimento de software. ▸ E doido por novas linguagens. ▸ Atualmente trabalhando no Instituto atlântico.

3. VAMOS FALAR SOBRE O JAVA.

4. JAVA. UMA LINGUAGEM ANTI ERROS. ‣ TIPAGEM FORTE E ESTATICA. ‣ ORIENTAÇÃO A OBJETOS. ‣ GARBAGE COLLECTOR. ‣ EXCEPTIONS OBRIGATORIAMENTE TRATADAS. ‣ ERROS TRATADOS EM TEMPO DE COMPILAÇÃO.

5. IDE?

6. NÃO USE ECLIPSE.

7. INTELLIJ

8. INTELLIJ. UMA IDE SIMPLES E COMPLETA PARA PROGRAMAR. ‣ IDE ADOTADA PELO GOOGLE PARA DESENVOLVIMENTO ANDROID. ‣ SIMPLES DE CONFIGURAR. ‣ GRATIS PARA JAVA E ANDROID. ‣ GRANDES FERRAMENTAS DE AJUDA NA HORA DE PROGRAMAR.

9. CLASSE MAIN.

10. CLASSE MAIN. TUDO TEM UM INÍCIO. ‣ É O PONTO DE ENTRADA PARA QUALQUER APLICAÇÃO JAVA DESKTOP. ‣
 public class Main {
 
 public static void main(String[] args) {
 // write your code here
 } ‣
 }

11. VARIÁVEIS.

12. DECLARANDO VARIÁVEIS. TUDO VARIA, MENOS O TIPO… ‣ VARIÁVEIS SEMPRE TEM UM TIPO. ‣ O TIPO DE UMA VARIÁVEL NUNCA MUDA. ‣ ESSA É UMA DAS MAIORES ARMAS DO JAVA CONTRAS OS ERROS DE ESCRITA DE CÓDIGO.

13. TIPOS PRIMITIVOS E OUTROS TIPOS. ‣ TIPOS PRIMITIVOS SÃO OS ÚNICOS TIPOS NÃO OBJETOS DO JAVA. ‣ INT, LONG, FLOAT, DOUBLE, BOOLEAN, CHAR, SHORT E BYTE. ‣ ESSES CARAS EXISTEM APENAS POR LEGADO DE ANTIGAS VERSÕES.

14. TIPOS ‣ INTEGER, DOUBLE, LONG, FLOAT, STRING E BOOLEAN. public static void main(String[] args) {
 int a; Integer a1;
 char b; String b1;
 double c; Double c1;
 long d; Long d1;
 float e; Float e1;
 boolean f; Boolean f1;
 }

15. CODE IT!!!

16. MÉTODOS/ FUNÇÕES.

17. MÉTODOS. A CHAVE DO REUSO DE CÓDIGO. ‣ MÉTODO É UM BLOCO DE CÓDIGO QUE PODE SER CHAMADO REPETIDAS VEZES. ‣ NORMALMENTE CRIADO PARA REALIZAR UMA AÇÃO/VERBO. public class MinhaClasse {
 
 private Integer meuNumero = 5;
 
 public void qualMeuNumero() {
 System.out.println("Meu numero é " + meuNumero);
 }
 
 }

18. PARAMETROS DE MÉTODOS ‣ MÉTODOS PODEM REALIZAR AÇÕES DE ACORDO COM PARÂMETROS PASSADOS NA CAMADA. ‣ CADA CHAMADA AGIRÁ DIFERENTE, DE ACORDO COM O PARÂMETRO PASSADO. public class MinhaClasse {
 
 public void qualMeuNumero(Integer meuNumero) {
 System.out.println("Meu numero é " + meuNumero);
 }
 
 }

19. RETORNO DE MÉTODO. ‣ MÉTODOS PODEM RETORNAR UM VALOR PARA O SEU INVOCADOR. ‣ UM MÉTODO PODE CALCULAR UM VALOR DE ACORDO COM O PARÂMETRO PASSADO E RETORNAR ESSE VALOR. public class MinhaClasse {
 
 public Integer meuNumeroAoQuadrado(Integer meuNumero) {
 return meuNumero * meuNumero;
 }
 
 }

20. CÓDIGO!!!!!

21. TAVA NO FLUXO…

22. TAVA NO FLUXO ‣ CONTROLE DE FLUXO DE CÓDIGO É O PRINCIPAL CONCEITO DE QUALQUER LINGUAGEM DE PROGRAMAÇÃO. ‣ NEM TODAS AS LINHAS DE CÓDIGO DEVEM SER EXECUTADAS. IF E ELSE RESOLVEM ESSE PROBLEMA. ‣ IF E ELSE PRECISAM DE UM BOOLEAN PARA FUNCIONAR.

23. IF E ELSE. É OU NÃO É. ‣ OS COMPARADORES: >, <, >=, <=, == E != GERAL BOOLEANS QUE PODEM SER USADOS EM IF/ELSE. public class MinhaClasse {
 
 public boolean numeroENegativo(Integer meuNumero) {
 if (meuNumero < 0) {
 return true;
 } else {
 return false;
 }
 }
 
 }

24. CÓDIGO!!!!!

25. REPETIÇÃO!!!

26. FOR E WHILE. REPETIÇÃO É VIDA. ‣ LAÇOS DE REPETIÇÃO IRÃO EXECUTAR CONTINUAMENTE ATÉ QUE UMA CONDIÇÃO SEJA ATENDIDA. ‣ É EXTREMAMENTE USADO PARA ITERAÇÃO COM LISTAS.

27. JAVA TEM CENTENAS DE TIPOS DE LISTAS. ‣ ARRAY, ABSTRACTCOLLECTION, ABSTRACTLIST, ABSTRACTQUEUE, ABSTRACTSEQUENTIALLIST, ABSTRACTSET, ARRAYBLOCKINGQUEUE, ARRAYDEQUE, ARRAYLIST, ATTRIBUTELIST, BEANCONTEXTSERVICESSUPPORT, BEANCONTEXTSUPPORT, CONCURRENTLINKEDDEQUE, CONCURRENTLINKEDQUEUE, CONCURRENTSKIPLISTSET, COPYONWRITEARRAYLIST, COPYONWRITEARRAYSET, DELAYQUEUE, ENUMSET, HASHSET, JOBSTATEREASONS, LINKEDBLOCKINGDEQUE, LINKEDBLOCKINGQUEUE, LINKEDHASHSET, LINKEDLIST, LINKEDTRANSFERQUEUE, PRIORITYBLOCKINGQUEUE, PRIORITYQUEUE, ROLELIST, ROLEUNRESOLVEDLIST, STACK, SYNCHRONOUSQUEUE, TREESET, VECTOR.

28. TIME IS MONEY ‣ COMO TEMOS POUCO TEMPO. VAMOS NOS CONCENTRAR APENAS NOS ARRAYS. ‣ PODEMOS CRIAR UM ARRAY DE QUALQUER TIPO COM ESSAS SINTAXES. public static void main(String[] args) {
 Integer[] meusNumeros = new Integer[8];
 } public static void main(String[] args) {
 Integer[] meusNumeros = {2, 4, 5, 7, 1, 9};
 }

29. ACESSANDO UM ARRAY

30. CÓDIGO!!!!!

31. VOLTANDO AO WHILE ‣ UM LAÇO DE WHILE IRA EXECUTAR ATÉ QUE SUA CONDIÇÃO SEJA ATENDIDA. public static void main(String[] args) {
 Integer meuNumero = 0;
 
 while(meuNumero < 5) {
 System.out.println(meuNumero);
 meuNumero = meuNumero + 1;
 }
 }

32. VOLTANDO AO FOR ‣ FOR É UMA LAÇO ESPECIALIZADO EM TRABALHAR COM LISTAS. public static void main(String[] args) {
 Integer[] meusNumeros = {1, 3, 5, 7, 9, 20};
 
 for (int x = 0; x < meusNumeros.length; x++) {
 Integer meuNumero = meusNumeros[x];
 System.out.println(meuNumero);
 }
 }

33. FOREACH ‣ FOREACH É UMA ESPECIALIZAÇÃO DO FOR QUE DEVE SER USADA SEMPRE QUE FOR PRECISO ITERAR SOBRE TODA A LISTA. public static void main(String[] args) {
 Integer[] meusNumeros = {1, 3, 5, 7, 9, 20};
 
 for (Integer meuNumero : meusNumeros) {
 System.out.println(meuNumero);
 }
 }

34. CÓDIGO!!!!!

35. OBRIGADO

36. CLERTONLEAL@GMAIL.COM @CLERTONLEAL Precisando falar comigo.

37. UMA INTRODUÇÃO A LÓGICA DE PROGRAMAÇÃO COM JAVA. CLÊRTON LEAL

38. UM POUCO SOBRE MIM. ▸ Desenvolvedor de software com alguns anos de mercado. ▸ Com o tempo acabei me tornando um especialista em Android. ▸ Sou maluco pro desenvolvimento de software. ▸ E doido por novas linguagens. ▸ Atualmente trabalhando no Instituto atlântico.

39. VAMOS FALAR SOBRE ORIENTAÇÃO A OBJETOS.

40. RECAPITULANDO O QUE NÓS VIMOS ATÉ AQUI

41. TIPOS

42. CLASSES

43. O QUE SIGNIFICA CLASSE ‣ CATEGORIA ‣ CASTA ‣ CLASSIFICAÇÃO

44. CLASSE. OU VOCÊ TEM OU VOCÊ NÃO TEM. ‣ CLASSE É A DESCRIÇÃO DE UM TIPO DE UMA VARIÁVEL. ‣ DESCREVE TODOS OS COMPORTAMENTOS QUE UM OBJETO TERÁ. ‣ É A BASE PARA A ORIENTAÇÃO A OBJETOS.

45. CLASSE

46. TEXTO

47. OBJETOS

48. OBJETOS TEM CLASSE ‣ OBJETOS SÃO A INSTANCIA/CONSTRUÇÃO DE UMA CLASSE. ‣ E TEM TODOS OS COMPORTAMENTOS DESCRITOS NA MESMA. public static void main(String[] args) {
 MinhaClasse minhaClasse = new MinhaClasse();
 }

49. VAMOS CRIAR NOSSA PROPRIA CLASSE.

50. TEXTO

51. COMPORTAMENTOS DE CLASSE ‣ VARIÁVEIS ‣ MÉTODOS

52. VAMOS ADICIONAR COMPORTAMENTOS. =D

53. MODIFICADORES DE ACESSO.

54. PRIVADO OU PUBLICO. MUDANDO O ACESSO. ‣ VARIÁVEIS E MÉTODOS DE CLASSE PODEM TER UM MODIFICADOR DE ACESSO. ‣ PUBLIC SIGNIFICA QUE QUALQUER UM PODE ACESSAR A VARIÁVEL A PARTIR DO OBJETO. ‣ PRIVATE INDICA QUE NINGUÉM ALÉM DO PRÓPRIO OBJETO PODE TER ACESSO A VARIÁVEL.

55. SEGUINDO O PADRÃO JAVA. FAZER O QUE….. ‣ O PADRÃO JAVA DEFINE QUE NUNCA DEVEMOS TER UMA VARIÁVEL PUBLIC EM UMA CLASSE. ‣ TODAS AS VARIÁVEIS DEVEM SER PRIVATE. public class MinhaClasse {
 
 public String naoPode = "Não faça isso jovem";
 private String pode = "Faça isso jovem";
 
 }

56. public static void main(String[] args) {
 
 MinhaClasse minhaClasse = new MinhaClasse();
 System.out.println(minhaClasse.pode);
 //Isso não compila pois a variável pode tem o modificador private
 
 } ‣ O PADRÃO JAVA EXIGE QUE AS VARIÁVEIS SEJAM ACESSADAS POR MÉTODOS DE GET E SET. ‣ O PADRÃO GET E SET ESTÃO PRESENTES EM TODAS AS APIS JAVA.

57. GET E SET ‣ ADEQUANDO NOSSO CÓDIGO AO PADRÃO… public class MinhaClasse {
 private String pode = "Faça isso jovem";
 
 public String getPode() {
 return pode;
 }
 
 public void setPode(String pode) {
 this.pode = pode;
 }
 } public static void main(String[] args) {
 MinhaClasse minhaClasse = new MinhaClasse();
 System.out.println(minhaClasse.getPode());
 }

58. CODIGO!!!

59. TRATAMENTO DE EXCEÇÕES.

60. EXCEPTIONS. ERROS SÃO SEMPRE ESPERADOS NO MUNDO JAVA. ‣ DURANTE A EXECUÇÃO DE UM MÉTODO, UM ERRO PODE ACONTECER. ‣ DEVEMOS SER SEMPRE CAPAZES DE TRATAR ESSES ERROS. ‣ EM JAVA MÉTODOS PODEM EXPLICITAMENTE INFORMAR QUE PODEM LANÇAR UMA EXCEÇÃO.

61. OI?

62. EXCEPTIONS. ‣ DECLARAR UMA EXCEÇÃO SIGNIFICA INFORMAR QUE UM MÉTODO PODE CAUSAR UM ERRO E EXIGIR QUE ESSE ERRO SEJA EXPLICITAMENTE TRATADO. public void deuRuim(Integer number) throws Exception {
 if (number == 5) {
 System.out.println("Sucesso!!!!!");
 } else {
 throw new Exception("Erro na execução do método");
 }
 }

63. EXCEPTIONS. ‣ TODOS QUE EVOCAREM O MÉTODO PRECISAM TRATAR A EXCEÇÃO. public static void main(String[] args) {
 MinhaClasse minhaClasse = new MinhaClasse();
 minhaClasse.deuRuim(4);
 } ‣ O CÓDIGO ACIMA NÃO COMPILA. OCORRE UM ERRO DE COMPILAÇÃO DEVIDO A EXISTÊNCIA DE UMA EXCEÇÃO NÃO TRATADA.

64. TRY CATCH. TENTA EXECUTAR PARA MIM. ‣ PARA COMPILAR O CÓDIGO É NECESSÁRIO TRATAR A EXCEÇÃO. public static void main(String[] args) {
 MinhaClasse minhaClasse = new MinhaClasse();
 try {
 minhaClasse.deuRuim(4);
 } catch (Exception e) {
 System.out.println(e.getMessage());
 }
 } ‣ CASO O MÉTODO JOGUE UMA EXCEÇÃO, O BLOCO CATCH SERÁ CHAMADO.

65. CODIGO!!!

66. BIBLIOTECAS DE TERCEIROS

67. BIBLIOTECAS DE TERCEIROS ‣ SÃO CÓDIGOS FEITOS POR OUTRAS PESSOAS E DISPONIBILIZADOS PARA USO LIVRE OU NÃO. ‣ NORMALMENTE CHAMADOS DE FRAMEWORKS. ‣ TEM O INTUITO DE FACILITAR/POSSIBILITAR A EXECUÇÃO DE TAREFAS COMPLEXAS.

68. TEXTO ‣ SELENIUM ‣ JUNIT ‣ JASMINE ‣ ESPRESSO ‣ CALABASH ‣ PROTRACTOR ‣ CUCUMBER

69. NO FINAL TUDO É CÓDIGO

70. ADICIONANDO UMA BIBLIOTECA.

71. TEXTO DESAFIO ▸ Quero acessar uma pagina da internet. ▸ Vamos fazer uma requisição HTTP a um site publico. ▸ Vamos exibir o conteúdo textual desse site.

72. É UMA BOA HORA PARA USAR UM FRAMEWORK.

73. OKHTTP

74. TEXTO ‣ COM A ADIÇÃO DESSA BIBLIOTECA TEMOS ACESSO A NOVAS CLASSES E MÉTODOS. ‣ E PODEMOS CRIAR UM MÉTODO EM NOSSA CLASSE QUE FAZ REQUISIÇÕES A INTERNET. public class MinhaClasse {
 
 public String request(String url) throws IOException {
 OkHttpClient okHttpClient = new OkHttpClient();
 Request request = new Request.Builder().url(url).build();
 Response response = okHttpClient.newCall(request).execute();
 return response.body().string();
 }
 
 }

75. TEXTO E PODEMOS CHAMAR ESSE MÉTODO EM NOSSA CLASSE MAIN. public static void main(String[] args) {
 try {
 MinhaClasse minhaClasse = new MinhaClasse();
 String resultado = minhaClasse.request("http://square.github.io/okhttp/");
 System.out.println(resultado);
 } catch (IOException e) {
 System.out.println(e.getMessage());
 }
 }

76. OBRIGADO

77. CLERTONLEAL@GMAIL.COM @CLERTONLEAL Precisando falar comigo.

Add a comment

Related pages

Introdução à programação - Wikilivros

Esta página foi modificada pela última vez à(s) 13h53min de 14 de janeiro de 2014. Este texto é disponibilizado nos termos da licença Creative Commons ...
Read more

Introdução a programação em java - I - YouTube

Want to watch this again later? Sign in to add this video to a playlist. Nerte vídeo iremos parender sobre jdk, jre, arquitetura de Jhon Von ...
Read more

Aula 13 - Introdução à Programação (parte I de II ...

... Introdução a Programação de Computadores com Visual Studio 2012 - Duration: 30:47. TreinamentosTI 20,179 views. 30:47 Aula 08 - ...
Read more

Introdução à Programação Interativa em Python (Parte ...

Introdução à Programação Interativa em Python (Parte 1) from Universidade Rice. This two-part course is designed to be a fun introduction to the ...
Read more

Introdução à programação/Pseudo-código - Wikilivros

Pseudocódigo é uma forma genérica de escrever um algoritmo, utilizando uma linguagem simples (nativa a quem o escreve, de forma a ser entendido por ...
Read more

Introdução à Programação

Introdução à Programação INF 1005 e INF1004 - Programação I by marciodorimar4515 in Types > Presentations
Read more

Introdução à Programação - Departamento de Informática

INF1005 – Programação 1 Aula 02: 03/01/2012 – Algoritmos e Ciclo de Desenvolvimento 2012.1 1 1 Introdução à Programação INF 1005 e INF1004 ...
Read more

Introdução à Lógica de Programação | Udemy

Aprenda os conceitos da lógica de programação, imprescindíveis para começar a trabalhar com qualquer linguagem.
Read more

Aula 01 - Programação I - Introdução a Lógica

Primeira aula de introcução à lógica de programação usando a linguagem python. by tdepassagem in Types > School Work, python e programação
Read more