Tecnologia em Sistemas para Internet - Programação Orientada a Objetos

Tamanho: px
Começar a partir da página:

Download "Tecnologia em Sistemas para Internet - Programação Orientada a Objetos"

Transcrição

1 Plataforma Introdução à Linguagem Java Referências Tecnologia em Sistemas para Internet - Programação Orientada a Objetos Manoel Campos da Silva Filho Mestre em Engenharia Elétrica / UnB Instituto Federal de Educação, Ciência e Tecnologia do Tocantins (IFTO/Palmas) 8 de novembro de / 79

2 Plataforma Introdução à Linguagem Java Referências Roteiro I 1 Plataforma Java Apresentação Edições Linguagens Desenvolvimento e Execução Instalação em Linux Linguagem Java Características Ambientes de Desenvolvimento (IDE s) 2 Introdução à Linguagem Java 2 / 79

3 Plataforma Introdução à Linguagem Java Referências Roteiro II Tipo boolean Classe String Classe StringBuilder Vetores, For e For Avançado Argumentos de Linha de Comando Conversão de Tipos Tratamento de Exceções Métodos sobrecarregados javadoc Entrada de Dados em aplicações console Interface Gráfica Tópicos 3 Referências 3 / 79

4 Plataforma Introdução à Linguagem Java Referências Apresentação Linguagem Plataforma Java - Apresentação Multi-linguagem. Tem como principal a linguagem Java Permite que aplicações desenvolvidas sejam executadas em diferentes hardwares e sistema operacionais (SO) Necessidade de uma Máquina Virtual Java (Java Virtual Machine - JVM/Java Runtime Environment - JRE) para execução de aplicações JVM específica para cada hardware e SO 4 / 79

5 Plataforma Introdução à Linguagem Java Referências Apresentação Linguagem Plataforma Java - Apresentação Bytecodes (.class): interpretados pela JVM. Compilados a partir dos arquivos fonte (normalmente arquivos.java) Just In Time Compiler (JIT): compilação de bytecodes para código de máquina na primeira execução Imagem: 5 / 79

6 Plataforma Introdução à Linguagem Java Referências Apresentação Linguagem Plataforma Java - Edições Java Standard Edition - JSE (antiga J2SE): plataforma base para o desenvolvimento de aplicações de uso geral em Java, como aplicações console ou desktop. Java Enterprise Edition - JEE (antiga J2EE): plataforma para o desenvolvimento de aplicações de Web Java Micro Edition - JME (antiga J2ME): plataforma para o desenvolvimento de aplicações para sistemas embarcadas (como celulares, smartphones e TV s). Perdeu mercado p/ novas plataformas (iphone, Android, Windows Phone...) Java Card: plataforma para desenvolvimento de aplicações embarcadas em cartões (como cartões de crédito com chip, SIM Cards, etc) e dispositivos extremamente restritos de recursos de hardware. 6 / 79

7 Plataforma Introdução à Linguagem Java Referências Apresentação Linguagem Plataforma Java - Linguagens Não restrita ao uso da linguagem Java. Algumas linguagens que podem ser utilizadas: Groovy Ruby (usando JRuby) Python (usando Jython) JavaScript (usando Rhino) 7 / 79

8 Plataforma Introdução à Linguagem Java Referências Apresentação Linguagem Plataforma Java - Linguagens Código Fonte 1: Exemplo de Código JavaScript usando bibliotecas da plataforma Java (por meio do Rhino). Adaptado de 1 // E q u i v a l e n t e à d e c l a r a ç ã o Java i m p o r t j a v a. i o. ; 2 importpackage ( j a v a. i o ) ; 3 importpackage ( j a v a. l a n g ) ; 4 5 / i n é uma p a l a v r a r e s e r v a d a em J a v a S c r i p t 6 Logo, o System. i n em Java deve s e r a c e s s a d o 7 em J a v a S c r i p t por System [ in ] 8 / 9 v a r r e a d e r = 10 new B u f f e r e d R e a d e r ( 11 new I n p u t S t r e a m R e a d e r ( System [ i n ] ) ) ; System. out. p r i n t ( D i g i t e um t e x t o e p r e s s i o n e ENTER : ) ; 14 v a r s = r e a d e r. r e a d L i n e ( ) ; 15 System. out. p r i n t l n ( s. touppercase ( ) ) ; 8 / 79

9 Plataforma Introdução à Linguagem Java Referências Apresentação Linguagem Plataforma Java - Desenvolvimento e Execução Java Development Kit (JDK): contém ferramentas básicas para desenvolvimento de aplicações Java. Alguns itens do JDK: javac Compilador bytecode java Interpretador de bytecodes (.class) javadoc Geração de documentação (em HTML) de aplicações Java jar Empacotador de aplicações Java javap Descompilador de arquivos.class javaws Java Web Start para execução de aplicações JNLP Java Runtime Environment (JRE): contém a JVM para execução de aplicações desenvolvidas para a plataforma Java 9 / 79

10 Plataforma Introdução à Linguagem Java Referências Apresentação Linguagem Plataforma Java - Desenvolvimento e Execução Devido às suas especificações livres, surgiram implementações da comunidade: Open JDK / Open JRE GNU Compiler for Java: GCJ 10 / 79

11 Plataforma Introdução à Linguagem Java Referências Apresentação Linguagem Plataforma Java - Instalação em Linux Automatizada (via ferramentas console ou gráficas) ou manual (download a partir do site oficial) Dependendo da versão do SO, usando a forma automatizada de instalação, o nome do pacote oficial de instalação pode incluir a palavra Sun ou Oracle. 11 / 79

12 Plataforma Introdução à Linguagem Java Referências Apresentação Linguagem Linguagem Java - Características Desenvolvida inicialmente pela Sun Microsystems (atual Oracle) Alto Nível Fortemente Tipada Case Sensitive Multiplataforma. Slogan inicial: Write once run anywhere Desenvolvimento Desktop, Web e Mobile Orientada a Objetos: dados e funções em um mesmo lugar Linguagem de uso livre, totalmente Open Source a partir de 2007 Amplamente utilizada: Garbage Collection (Coleta de Lixo) 12 / 79

13 Plataforma Introdução à Linguagem Java Referências Apresentação Linguagem Linguagem Java - Ambientes de Desenvolvimento Integrated Development Environment - IDE (Ambiente Integrado de Desenvolvimento): ambientes profissionais e livres Eclipse: Netbeans: 13 / 79

14 Introdução à Linguagem Java Tipo boolean: diferente de C, existe um tipo específico para valores lógicos, possuindo os valores true e false. 14 / 79

15 Classe String Classe utilizada para armazenar e manipular cadeias de caracteres. Diferente da linguagem C, Java possui este tipo (classe) específico para tratar Strings. 15 / 79

16 Classe String Alguns métodos equals: comparar Strings equalsignorecase: compara Strings ignorando maiúsculas / minúsculas contains: verifica se uma String contém um determinado texto endswith: verifica se uma String termina c/ determinado texto startswith: verifica se uma String inicia c/ determinado texto length: obter o tamanho da String substring: obter um trecho determinado da String tolowercase: retorna uma String em minúsculas touppercase: retorna uma String em maiúsculas 16 / 79

17 Classe String: Procurar texto Código Fonte 2: Procurar um determinado texto dentro de uma String 1 / Exemplos de uso da c l a s s e S t r i n g em Java. 2 Mostra como p r o c u r a r um d e t e r m i n a d o t e x t o d e n t r o 3 de uma S t r i n g. 4 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 6 / 7 p u b l i c c l a s s S t r i n g s 1 { 8 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 9 S t r i n g nome = Manoel Campos da S i l v a F i l h o ; 10 System. out. p r i n t l n ( nome é + nome ) ; 11 i f ( nome. c o n t a i n s ( Campos ) ) 12 System. out. p r i n t l n ( nome contém a p a l a v r a Campos ) ; 13 e l s e 14 System. out. p r i n t l n ( nome NÃO contém Campos ) ; 15 } 16 } 17 / 79

18 Classe String: Aninhando chamadas de métodos em uma String I Alguns metodos da classe String, como o tolowercase, retornam uma nova String, assim, a partir da chamada de um método destes, pode-se chamar outro método na mesma linha. Por exemplo, string1.tolowercase().substring(0, 6); Código Fonte 3: Aninhando chamadas de métodos em uma String 1 / Exemplos de uso da c l a s s e S t r i n g em Java. 2 Mostra a l g u n s métodos b á s i c o s da c l a s s e S t r i n g 3 e como a n i n h a r chamadas de métodos em uma S t r i n g. 4 A p r e s e n t a os métodos touppercase, tolowercase, 5 s u b s t r i n g e i n d e x O f 6 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 8 / 9 p u b l i c c l a s s S t r i n g s 2 { 18 / 79

19 Classe String: Aninhando chamadas de métodos em uma String II 10 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 11 S t r i n g nome = Manoel Campos da S i l v a F i l h o ; 12 System. out. p r i n t l n ( Nome o r i g i n a l : +nome ) ; 13 / Nas 2 l i n h a s abaixo, a s t r i n g o r i g i n a l 14 não é a l t e r a d a / 15 System. out. p r i n t l n ( M i n ú s c u l a : +nome. tolowercase ( ) ) ; 16 System. out. p r i n t l n ( M a i ú s c u l a : +nome. touppercase ( ) ) ; 17 System. out. p r i n t l n ( Nome o r i g i n a l : +nome ) ; 18 / C o n v e r t e a s t r i n g para m i n ú s c u l a s 19 e a t r i b u i o v a l o r c o n v e r t i d o para a p r ó p r i a s t r i n g, 20 a l t e r a n d o a mesma. 21 Alguns métodos da c l a s s e S t r i n g ( como o tolowercase ) 22 retornam uma nova S t r i n g / 23 nome = nome. tolowercase ( ) ; 24 System. out. p r i n t l n ( Nome d e p o i s de a l t e r a d o : +nome ) ; // 27 / Pegar o p r i m e i r o nome em m a i ú s c u l a 28 do modo t r a d i c i o n a l de programar / 19 / 79

20 Classe String: Aninhando chamadas de métodos em uma String III 29 S t r i n g primeironome = nome. s u b s t r i n g ( 0, 6) ; 30 primeironome = primeironome. touppercase ( ) ; 31 System. out. p r i n t l n ( Olá + primeironome ) ; // Usando as f a c i l i d a d e s da OO 34 System. out. p r i n t l n ( 35 Olá + nome. s u b s t r i n g ( 0, 6 ). touppercase ( ) ) ; 36 // 37 / Tornando d i n â m i c a a d e s c o b e r t a de onde t e r m i n a 38 o p r i m e i r o nome / // P rocura a p o s i ç ã o do p r i m e i r o e s p a ç o 41 i n t i = nome. i n d e x O f ( ) ; 42 System. out. p r i n t l n ( 43 Olá + nome. s u b s t r i n g ( 0, i ). touppercase ( ) ) ; 44 System. out. p r i n t l n ( 45 T o t a l de c a r a c t e r e s de + nome + 46 : +nome. l e n g t h ( ) ) ; 47 } 20 / 79

21 Classe String: Aninhando chamadas de métodos em uma String IV 48 } 21 / 79

22 Classe String: Vetor de String e concatenação I Strings em Java são imutáveis, assim, cada concatenação cria uma nova versão da String em memória. Como normalmente faz-se a concatenação e atribui-se o resultado a uma variável, as versões intermediárias da String serão liberadas pelo coletor de lixo. No entanto, em ambientes de recursos restritos, como celulares, a concatenação de muitas Strings (por exemplo em um laço de repetição) pode ser um problema. Código Fonte 4: Vetor de String e concatenação 1 / Exemplos de uso da c l a s s e S t r i n g em Java. 2 Mostra como c r i a r um v e t o r de S t r i n g s, 3 como c o n c a t e n a r S t r i n g s e o problema 4 de uso de memória que i s t o causa. 5 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 7 / 22 / 79

23 Classe String: Vetor de String e concatenação II 8 p u b l i c c l a s s S t r i n g s 3 { 9 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 10 / C r i a um v e t o r de s t r i n g s 11 Note que não é e s p e c i f i c a d o um tamanho, 12 o tamanho é d e f i n i d o p e l o t o t a l de e l e m e n t o s 13 e n t r e as c h a v e s / 14 S t r i n g v e t o r C i d [ ] = { Palmas, P a r a i s o, Porto } ; S t r i n g c i d a d e s = ; 17 i n t i ; / Toda função, i n d e p e n d e n t e de t e r parâmetro 20 ou não, p r e c i s a de p a r e n t e s e s. 21 Logo, o l e n g h t a b a i x o não é uma f u n ç ã o 22 é uma v a r i á v e l e x i s t e n t e em v e t o r e s em Java / / S t r i n g s em j a v a são i m u t á v e i s, 25 logo, ao a l t e r a r uma S t r i n g, 26 na v e r d a d e é c r i a d a uma nova 27 v e r s ã o da mesma. 28 Assim, cada c o n c a t e n a ç ã o c r i a uma 23 / 79

24 Classe String: Vetor de String e concatenação III 29 nova v e r s ã o da S t r i n g na memória, 30 mantendo as v e r s õ e s a n t e r i o r e s / 31 f o r ( i = 0 ; i < v e t o r C i d. l e n g t h ; i ++) 32 c i d a d e s = c i d a d e s + v e t o r C i d [ i ] + \n ; System. out. p r i n t l n ( c i d a d e s ) ; 35 } 36 } No for acima, cada vez que ele executa eh criada uma versão nova da String. Assim, ao final teremos as Strings abaixo na memória, sendo que a variável cidades estará apotando para a última versão da String: Palmas Palmas\nParaiso Palmas\nParaiso\nPorto 24 / 79

25 Classe String: Comparando Strings I A comparação de Strings usando o operador de igualdade é possível e Java. Código Fonte 5: Comparando Strings 1 / Exemplos de uso da c l a s s e S t r i n g em Java. 2 Mostra como comparar S t r i n g s c o n s i d e r a n d o 3 m a i ú s c u l a s e m i n ú s c u l a s e não c o n s i d e r a n d o. 4 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 6 / 7 p u b l i c c l a s s S t r i n g s 4 { 8 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 9 S t r i n g nome1 = Manoel, nome2 = manoel ; 10 S t r i n g nome3 = Marcos, nome4 = Manoel ; / A comparacao n e s t e caso, s e r a f a l s a p o i s c o n s i d e r a 13 a d i f e r e n c a de m a i u s c u l a s e m i n u s c u l a s 14 / 25 / 79

26 Classe String: Comparando Strings II 15 i f ( nome1==nome2 ) 16 System. out. p r i n t l n ( 17 Usando ==, +nome1+ é i g u a l a +nome2 ) ; 18 e l s e 19 System. out. p r i n t l n ( 20 Usando ==, +nome1+ NÃO é i g u a l a +nome2 ) ; //Em c, a comparacao 23 i f ( nome1==nome3 ) 24 System. out. p r i n t l n ( 25 Usando ==, +nome1+ é i g u a l a +nome3 ) ; 26 e l s e 27 System. out. p r i n t l n ( 28 Usando ==, +nome1+ NÃO é i g u a l a +nome3 ) ; i f ( nome1==nome4 ) 31 System. out. p r i n t l n ( 32 Usando ==, +nome1+ é i g u a l a +nome4 ) ; 33 e l s e 34 System. out. p r i n t l n ( 35 Usando ==, +nome1+ NÃO é i g u a l a +nome4 ) ; 26 / 79

27 Classe String: Comparando Strings III / A comparacao s e r a f a l s a p o i s c o n s i d e r a a d i f e r e n c a 38 de m a i u s c u l a s e m i n u s c u l a s / 39 i f ( nome1. e q u a l s ( nome2 ) ) 40 System. out. p r i n t l n ( 41 Usando e q u a l s, +nome1+ é i g u a l a +nome2 ) ; 42 e l s e 43 System. out. p r i n t l n ( 44 Usando e q u a l s, +nome1+ NÃO é i g u a l a +nome2 ) ; / A comparacao s e r a v e r d a d e i r a p o i s NAO c o n s i d e r a 47 a d i f e r e n c a de m a i u s c u l a s e m i n u s c u l a s / 48 i f ( nome1. e q u a l s I g n o r e C a s e ( nome2 ) ) 49 System. out. p r i n t l n ( 50 Usando e q u a l s I g n o r e C a s e, +nome1+ é i g u a l a + nome2 ) ; 51 e l s e 52 System. out. p r i n t l n ( 53 Usando e q u a l s I g n o r e C a s e, +nome1+ NÃO é i g u a l a +nome2 ) ; 54 } 27 / 79

28 Classe String: Comparando Strings IV 55 } 28 / 79

29 Classe String: Procurando texto em String ignorando Case Considerando que não há um método containsignorecase, com base no exemplo anterior, como é possível procurar um texto dentro de uma String não diferenciando maiúsculas de minúsculas? 29 / 79

30 Classe String: Procurando texto em String ignorando Case I Código Fonte 6: Procurando texto em String ignorando Case 1 / Mostra como p r o c u r a r um d e t e r m i n a d o t e x t o 2 d e n t r o de uma S t r i n g, i g n o r a n d o d i f e r e n ç a 3 de m a i ú s c u l a s e m i n ú s c u l a s. 4 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 6 / 7 p u b l i c c l a s s S t r i n g s 5 { 8 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 9 S t r i n g nome = Manoel Campos da S i l v a F i l h o ; 10 System. out. p r i n t l n ( O nome é + nome ) ; 11 i f ( nome. tolowercase ( ). c o n t a i n s ( campos ) ) 12 System. out. p r i n t l n ( 13 O nome contém a p a l a v r a campos ) ; 14 e l s e 15 System. out. p r i n t l n ( 30 / 79

31 Classe String: Procurando texto em String ignorando Case II 16 O nome NÃO contém a p a l a v r a campos ) ; 17 } 18 } 31 / 79

32 Classe StringBuilder I Como Strings em Java são imutáveis, cada concatenação cria uma nova versão da mesma em memória (como visto no Código Fonte 4). Para resolver tal problema, usa-se a classe StringBuilder. A classe (assim como a String), está no pacote java.lang. Este pacote é incluído automaticamente. Código Fonte 7: Usando StringBuilder para concatenar Strings 1 / Mostra como c o n c a t e n a r S t r i n g s f a z e n d o um 2 uso e f i c i e n t e da memória. 3 Como S t r i n g s em Java são i m u t á v e i s, 4 cada c o n c a t e n a ç ã o g e r a uma nova v e r s ã o da S t r i n g 5 na memória. Com o uso de S t r i n g B u i l d e r 6 i s t o não o c o r r e. 7 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 9 / 10 p u b l i c c l a s s S t r i n g B u i l d e r 1 { 32 / 79

33 Classe StringBuilder II 11 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 12 / Uma v a r i á v e l de uma c l a s s e é chamada de o b j e t o. 13 Um o b j e t o é como um p o n t e i r o, vc p r e c i s a 14 a l o c a r memória para u s a r. 15 A l i n h a abaixo, d e c l a r a um o b j e t o da c l a s s e 16 S t r i n g B u i l d e r e a l o c a memória para e l e, 17 que é chamado de i n s t a n c i a r o o b j e t o. / / C r i a um o b j e t o S t r i n g B u i l d e r v a z i o 20 ( sem nenhuma S t r i n g d e n t r o ) / 21 S t r i n g B u i l d e r c i d a d e s = new S t r i n g B u i l d e r ( ) ; S t r i n g v e t o r C i d [ ] = { Palmas, P a r a í s o, Porto } ; i n t i ; 26 f o r ( i = 0 ; i < v e t o r C i d. l e n g t h ; i ++) { 27 / O método append, a d i c i o n a um v a l o r 28 ( o b r i g a t o r i a m e n t e uma s t r i n g ) 29 ao f i n a l da S t r i n g B u i l d e r / 30 c i d a d e s. append ( v e t o r C i d [ i ] ) ; 31 c i d a d e s. append ( \n ) ; 33 / 79

34 Classe StringBuilder III 32 } / Neste ponto, as S t r i n g s c o n t i d a s 35 na S t r i n g B u i l d e r são c o n c a t e n a d a s sem 36 g e r a r d i v e r s a s v e r s õ e s ( como o c o r r e u no 37 exemplo S t r i n g s 3. j a v a ) / 38 System. out. p r i n t l n ( c i d a d e s ) ; 39 } 40 } A instrução StringBuilder cidades = new StringBuilder() aloca memória para o objeto cidades, como fazemos com alocação de memória em C. Apenas objetos de classes como String e de outras classes derivadas de tipos primitivos (como Integer e Double) não precisam explicitamente alocar memória para o objeto, (em OO chamamos de instanciar o objeto). 34 / 79

35 Classe StringBuilder IV O método append possui versões que podem receber outros tipos de dados como int, float, char, char [] e até mesmo outro StringBuilder. 35 / 79

36 Vetores e For básico O código abaixo mostra um for básico, como feito em linguagem C Código Fonte 8: Vetores e For básico 1 / Exemplo de f o r t r a d i c i o n a l 2 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 4 / 5 p u b l i c c l a s s For1 { 6 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 7 S t r i n g c i d a d e s [ ] = { Palmas, P a r a í s o, Porto } ; 8 9 i n t i ; 10 f o r ( i =0; i < c i d a d e s. l e n g t h ; i ++) 11 System. out. p r i n t l n ( c i d a d e s [ i ] ) ; 12 } 13 } 36 / 79

37 Vetores e For estilo Java I O código abaixo mostra um for ao estilo Java, onde a declaração da variável de controle é feita dentro do for, tornando a mesma uma variável local do for, só acessada por ele. Código Fonte 9: Vetores e For ao estilo Java 1 / Exemplo de f o r usando v a r i á v e l 2 d e c l a r a d a d e n t r o do mesmo 3 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 5 / 6 p u b l i c c l a s s For2 { 7 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 8 S t r i n g c i d a d e s [ ] = { Palmas, P a r a i s o, Porto } ; 9 10 / A v a r i á v e l i f o i d e c l a r a d a d e n t r o do f o r 11 Com i s s o, a mesma é uma v a r i a v e l 12 l o c a l do f o r / 13 f o r ( i n t i =0; i < c i d a d e s. l e n g t h ; i ++) 37 / 79

38 Vetores e For estilo Java II 14 System. out. p r i n t l n ( c i d a d e s [ i ] ) ; System. out. p r i n t l n ( \ n C i d a d e s em ordem i n v e r s a ) ; 17 / Como a v a r i á v e l i a n t e r i o r f o i d e c l a r a d a 18 l o c a l m e n t e no f o r, para u s a r o u t r o f o r, d e c l a r a s e 19 o u t r o i para e s t e. 20 N e s t e s casos, a v a r i á v e l t e r á um tempo de v i d a 21 e escopo menor, e x i s t i n d o apenas d e n t r o do f o r 22 e enquanto o mesmo e s t i v e r em e x e c u c a o. 23 Quando o f o r f i n a l i z a r a v a r i á v e l s e r á l i b e r a d a 24 quando o c o l e t o r de l i x o f o r e x e c u t a d o p e l a VM / 25 f o r ( i n t i=c i d a d e s. l e n g t h 1; i >=0; i ) 26 System. out. p r i n t l n ( c i d a d e s [ i ] ) ; 27 } 28 } 38 / 79

39 Vetores e For Avançado I O código abaixo mostra um for avançado. Veja que o código é bem mais simples. O for percorre automaticamente os elementos do vetor, atribuindo, em cada iteração, o valor da posição atual do vetor à variável cidade. Desta forma, não é preciso se preocupar em controlar uma variável i. Código Fonte 10: Vetores e For Avançado 1 / Exemplo de f o r avançado ( enhaced f o r ) 2 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 4 / 5 p u b l i c c l a s s For3 { 6 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 7 S t r i n g c i d a d e s [ ] = { Palmas, P a r a i s o, Porto } ; 8 / P e r c o r r e r o v e t o r c i d a d e s 9 do i n í c i o ao fim, 10 obtendo cada c i d a d e armazenada 39 / 79

40 Vetores e For Avançado II 11 e a t r i b u i n d o à v a r i á v e l l o c a l c i d a d e. 12 Assim, nao é p r e c i s o a c e s s a r 13 d i r e t a m e n t e o v e t o r para 14 o b t e r uma c i d a d e em uma 15 d e t e r m i n a d a p o s i ç ã o. 16 A v a r i á v e l c i d a d e j á t e r á 17 a c i d a d e da p o s i ç ã o a t u a l no v e t o r c i d a d e s. 18 A v a r i á v e l do f o r deve s e r do t i p o do 19 v e t o r ( do o b j e t o sendo p e r c o r r i d o ) 20 / 21 f o r ( S t r i n g c i d a d e : c i d a d e s ) 22 System. out. p r i n t l n ( c i d a d e ) ; 23 } 24 } 40 / 79

41 Argumentos de Linha de Comando I Argumentos (ou parâmetros) de linha de comando são valores passados ao programa no momento de sua execução. Para programas em Java tratarem tais valores, precisa-se apenas declarar um parâmetro do tipo vetor de String no método main. Semelhante como se faz em Linguagem C, porém mais simples. Mesmo que não se pretenda tratar tais argumentos recebidos pela linha de comando, tal parâmetro é obrigatório no main. 41 / 79

42 Argumentos de Linha de Comando II Código Fonte 11: Argumentos de Linha de Comando 1 / Exemplo de argumentos de l i n h a de comando. 2 A programa e x i b e a l i s t a de argumentos 3 r e c e b i d o s. 4 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 6 / 7 p u b l i c c l a s s Argumentos1 { 8 / Método p r i n c i p a l, e x e c u t a d o quando o programa é 9 i n i c i a d o. argumentos Vetor r e s p o n s á v e l por 11 armazenar os argumentos p a s s a d o s ao programa v i a 12 l i n h a de comando. 13 Mesmo que não d e s e j e t r a t a r t a i s argumentos, 14 é o b r i g a t ó r i a a d e c l a r a ç ã o de um parâmetro do t i p o 15 v e t o r de S t r i n g, com o nome que d e s e j a r. 16 Normalmente chama s e e s t e parâmetro de a r g s. / 17 p u b l i c s t a t i c v o i d main ( S t r i n g argumentos [ ] ) { 42 / 79

43 Argumentos de Linha de Comando III 18 f o r ( S t r i n g a r g : argumentos ) 19 System. out. p r i n t l n ( a r g ) ; 20 } 21 } 43 / 79

44 Conversão de Tipos I Mostra como converter valores, neste caso, obtidos a partir da linha de comando. Classe Integer: parseint, tobinarystring, tohexstring Classe Double: parsedouble Código Fonte 12: Conversão de valores obtidos da linha de comando 1 / Exemplo de argumentos de l i n h a de comando 2 com c o n v e r s ã o de t i p o. 3 A programa e x i b e a l i s t a de argumentos 4 r e c e b i d o s e, c o n s i d e r a n d o que t o d o s são numeros 5 i n t e i r o s, r e a l i z a a soma d e s t e s e e x i b e o r e s u l t a d o. 6 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 8 / 9 p u b l i c c l a s s Argumentos2 { 10 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 11 I n t e g e r soma = 0, num ; 44 / 79

45 Conversão de Tipos II 12 f o r ( S t r i n g a r g : a r g s ) { 13 / O método e s t á t i c o p a r s e I n t 14 t e n t a c o n v e r t e r uma s t r i n g para i n t e i r o / 15 num = I n t e g e r. p a r s e I n t ( a r g ) ; 16 soma += num ; 17 System. out. p r i n t l n ( a r g ) ; 18 } 19 System. out. p r i n t l n ( Soma : + soma ) ; 20 } 21 } 45 / 79

46 Conversão de Tipos: Calculadora 1 I Calculadora de linha de comando (para expressões com apenas dois valores) Código Fonte 13: Calculadora de linha de comando 1 / Implementa uma c a l c u l a d o r a para as 4 o p e r a ç õ e s 2 b á s i c a s que f u n c i o n a v i a l i n h a de comando. 3 O u s u á r i o p a s s a a e x p r e s s ã o no formato num1 o p e r a d o r num2 4 e o programa e x i b e o r e s u l t a d o. 5 Onde o p e r a d o r pode s e r +,, x ou / 6 O programa pode g e r a r as s e g u i n t e s e x c e ç õ e s 7 ( que a i n d a não s e r ã o t r a t a d a s ) : 8 1) O u s u á r i o não i n f o r m o u algum dos 3 argumentos o b r i g a t ó r i o s 9 2) Algum dos v a l o r e s não é um número v á l i d o 10 3) Algum dos números não é v á l i d o para a o p e r a ç ã o 11 ( como d i v i s ã o por z e r o ) / 79

47 Conversão de Tipos: Calculadora 1 II <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 14 / 15 p u b l i c c l a s s E x c e c o e s C a l c 1 { 16 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 17 f l o a t num1 = F l o a t. p a r s e F l o a t ( a r g s [ 0 ] ) ; 18 S t r i n g op = a r g s [ 1 ] ; 19 f l o a t num2 = F l o a t. p a r s e F l o a t ( a r g s [ 1 ] ) ; 20 f l o a t r e s =0; s w i t c h ( op. charat ( 0 ) ) { 23 case + : 24 r e s = num1+num2 ; 25 break ; 26 case : 27 r e s = num1 num2 ; 28 break ; 29 case x : 30 r e s = num1 num2 ; 31 break ; 32 case / : 47 / 79

48 Conversão de Tipos: Calculadora 1 III 33 r e s = num1/num2 ; 34 break ; 35 d e f a u l t : 36 System. out. p r i n t l n ( Operador i n v á l i d o. Use +,, x ou / ) ; 37 r e t u r n ; 38 } 39 System. out. p r i n t l n ( num1 + +op+ + num2 + = + r e s ) ; 40 } 41 } 48 / 79

49 Tratamento de Exceções: Calculadora 2 I Tratamento de exceções em uma função. Código Fonte 14: Calculadora de linha de comando 1 / Implementa uma c a l c u l a d o r a para as 4 o p e r a ç õ e s 2 b á s i c a s que f u n c i o n a v i a l i n h a de comando. 3 O u s u á r i o p a s s a a e x p r e s s ã o no formato num1 o p e r a d o r num2 4 e o programa e x i b e o r e s u l t a d o. 5 Onde o p e r a d o r pode s e r +,, x ou / 6 Esta v e r s ã o f a z o t r a t a m e n t o de e x c e ç õ e s d i r e t a m e n t e 7 no main. 8 O programa pode g e r a r as s e g u i n t e s e x c e ç õ e s : 9 1) O u s u á r i o não i n f o r m o u algum dos 3 argumentos o b r i g a t ó r i o s 10 2) Algum dos v a l o r e s não é um número i n t e i r o v á l i d o 11 3) Algum dos números não é v á l i d o para a o p e r a ç ã o 12 ( como d i v i s ã o por z e r o ). 13 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 49 / 79

50 Tratamento de Exceções: Calculadora 2 II 15 / 16 p u b l i c c l a s s E x c e c o e s C a l c 2 { 17 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 18 t r y { 19 f l o a t num1 = F l o a t. p a r s e F l o a t ( a r g s [ 0 ] ) ; 20 S t r i n g op = a r g s [ 1 ] ; 21 f l o a t num2 = F l o a t. p a r s e F l o a t ( a r g s [ 2 ] ) ; 22 f l o a t r e s =0; s w i t c h ( op. charat ( 0 ) ) { 25 case + : 26 r e s = num1+num2 ; 27 break ; 28 case : 29 r e s = num1 num2 ; 30 break ; 31 case x : 32 r e s = num1 num2 ; 33 break ; 34 case / : 35 r e s = num1/num2 ; 50 / 79

51 Tratamento de Exceções: Calculadora 2 III 36 break ; 37 d e f a u l t : 38 System. out. p r i n t l n ( Operador i n v á l i d o. Use +,, x ou / ) ; 39 r e t u r n ; 40 } 41 System. out. p r i n t l n ( num1 + +op+ + num2 + = +r e s ) ; 42 } catch ( A r r a y I n d e x O u t O f B oundsexception e ) { 43 System. out. p r i n t l n ( É p r e c i s o i n f o r m a r 3 argumentos sendo : num1 o p e r a d o r num2 ) ; 44 } catch ( NumberFormatException e ) { 45 System. out. p r i n t l n ( Algum dos v a l o r e s i n f o r m a d o s é i n v á l i d o ) ; 46 } catch ( A r i t h m e t i c E x c e p t i o n e ) { 47 System. out. p r i n t l n ( Não f o i p o s s í v e l r e a l i z a r a o p e r a ç ã o. Se f o r d i v i s ã o, o d i v i s o r não pode s e r z e r o ) ; 48 } 49 } 50 } 51 / 79

52 Tratamento de Exceções: Calculadora 2 IV 52 / 79

53 Tratamento de Exceções: Calculadora 3 I Gerando uma exceção em uma função. Código Fonte 15: Calculadora de linha de comando 1 / Implementa uma c a l c u l a d o r a para as 4 o p e r a ç õ e s 2 b á s i c a s que f u n c i o n a v i a l i n h a de comando. 3 O u s u á r i o p a s s a a e x p r e s s ã o no formato num1 o p e r a d o r num2 4 e o programa e x i b e o r e s u l t a d o. 5 Onde o p e r a d o r pode s e r +,, x ou / 6 Esta v e r s ã o p o s s u i um método e s p e c í f i c o 7 para r e s o l v e r a e x p r e s s ã o e mostra 8 como g e r a r uma e x c e ç ã o em um método e c a p t u r a r ( t r a t a r ) 9 d e n t r o do método que chamou. 10 O programa pode g e r a r as s e g u i n t e s e x c e ç õ e s : 11 1) O u s u á r i o não i n f o r m o u algum dos 3 argumentos o b r i g a t ó r i o s 12 2) Algum dos v a l o r e s não é um número i n t e i r o v á l i d o 13 3) Algum dos números não é v á l i d o para a o p e r a ç ã o 14 ( como d i v i s ã o por z e r o ) / 79

54 Tratamento de Exceções: Calculadora 3 II <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 17 / 18 p u b l i c c l a s s E x c e c o e s C a l c 3 { 19 p u b l i c s t a t i c f l o a t c a l c ( f l o a t num1, char op, f l o a t num2 ) throws E x c e p t i o n { 20 s w i t c h ( op ) { 21 case + : 22 r e t u r n num1+num2 ; 23 case : 24 r e t u r n num1 num2 ; 25 case x : 26 r e t u r n num1 num2 ; 27 case / : 28 r e t u r n num1/num2 ; 29 d e f a u l t : 30 throw new E x c e p t i o n ( Operador i n v á l i d o. Use +,, x ou / ) ; 31 } 32 } / 79

55 Tratamento de Exceções: Calculadora 3 III 34 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 35 t r y { 36 f l o a t num1 = F l o a t. p a r s e F l o a t ( a r g s [ 0 ] ) ; 37 char op = a r g s [ 1 ]. charat ( 0 ) ; 38 f l o a t num2 = F l o a t. p a r s e F l o a t ( a r g s [ 2 ] ) ; 39 f l o a t r e s=c a l c ( num1, op, num2 ) ; System. out. p r i n t l n ( num1 + +op+ + num2 + = +r e s ) ; 42 } catch ( A r r a y I n d e x O u t O f B oundsexception e ) { 43 System. out. p r i n t l n ( É p r e c i s o i n f o r m a r 3 argumentos sendo : num1 o p e r a d o r num2 ) ; 44 } catch ( NumberFormatException e ) { 45 System. out. p r i n t l n ( Algum dos v a l o r e s i n f o r m a d o s é i n v á l i d o ) ; 46 } catch ( A r i t h m e t i c E x c e p t i o n e ) { 47 System. out. p r i n t l n ( Não f o i p o s s í v e l r e a l i z a r a o p e r a ç ã o. Se f o r d i v i s ã o, o d i v i s o r não pode s e r z e r o ) ; 48 } catch ( E x c e p t i o n e ) { 49 System. out. p r i n t l n ( e. getmessage ( ) ) ; 55 / 79

56 Tratamento de Exceções: Calculadora 3 IV 50 } 51 } 52 } 56 / 79

57 Tratamento de Exceções: Calculadora 4 I Resolvendo expressão com qualquer quantidade de valores (sem considerar ordem de precedência de operadores). Código Fonte 16: Calculadora de linha de comando 1 / Implementa uma c a l c u l a d o r a para as 4 o p e r a ç õ e s 2 b á s i c a s que f u n c i o n a v i a l i n h a de comando. 3 O u s u á r i o p a s s a a e x p r e s s ã o no formato 4 num1 o p e r a d o r num2 o p e r a d o r num3 o p e r a r a d o r numn 5 e o programa e x i b e o r e s u l t a d o. 6 Esta v e r s ã o c a l c u l a uma e x p r e s s ã o com q u a l q u e r 7 q u a n t i d a d e de o p e r a n d o s e o p e r a d o r e s, 8 chamando o método c a l c v á r i a s v e z e s no main 9 para r e s o l v e r a e x p r e s s ã o p a s s o a passo, 10 de sub e x p r e s s ã o em sub e x p r e s s ã o. 11 A c a l c u l a d o r a não obedece a ordem de p r e c e d ê n c i a dos o p e r a d o r s. 12 Os v a l o r e s são c a l c u l a d o s sempre da e s q u e r d a pra d i r e t a. 13 Onde o p e r a d o r pode s e r +,, x ou / 57 / 79

58 Tratamento de Exceções: Calculadora 4 II 14 Esta v e r s ã o f a z o t r a t a m e n t o de e x c e ç õ e s. 15 O programa pode g e r a r as s e g u i n t e s e x c e ç õ e s : 16 1) O u s u á r i o não i n f o r m o u algum dos 3 argumentos o b r i g a t ó r i o s 17 2) Algum dos v a l o r e s não é um número i n t e i r o v á l i d o 18 3) Algum dos números não é v á l i d o para a o p e r a ç ã o 19 ( como d i v i s ã o por z e r o ) 20 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 22 / 23 p u b l i c c l a s s E x c e c o e s C a l c 4 { 24 p r i v a t e s t a t i c i n t s t e p = 0 ; p u b l i c s t a t i c f l o a t c a l c ( f l o a t num1, char op, f l o a t num2 ) throws E x c e p t i o n { 27 f l o a t r e s ; 28 s w i t c h ( op ) { 29 case + : 30 r e s = num1+num2 ; 31 break ; 58 / 79

59 Tratamento de Exceções: Calculadora 4 III 32 case : 33 r e s = num1 num2 ; 34 break ; 35 case x : 36 r e s = num1 num2 ; 37 break ; 38 case / : 39 r e s = num1/num2 ; 40 break ; 41 d e f a u l t : 42 throw new E x c e p t i o n ( Operador i n v á l i d o. Use +,, x ou / ) ; 43 } 44 System. out. p r i n t l n (++s t e p + ) + num1 + + op + + num2 + = + r e s ) ; 45 r e t u r n r e s ; 46 } p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 49 t r y { 50 f l o a t num1=0, num2=0, r e s =0; 59 / 79

60 Tratamento de Exceções: Calculadora 4 IV 51 i n t i = 0 ; 52 char op= ; 53 f o r ( S t r i n g a r g : a r g s ) { 54 // System. out. p r i n t l n ( a r g + i + ) + a r g ) ; i f ( t r u e ) c o n t i n u e ; 55 i f ( i ==0) 56 num1 = F l o a t. p a r s e F l o a t ( a r g ) ; 57 e l s e i f ( i ==1) 58 op = a r g. charat ( 0 ) ; 59 e l s e i f ( i ==2) { 60 num2 = F l o a t. p a r s e F l o a t ( a r g ) ; 61 r e s=c a l c ( num1, op, num2 ) ; 62 num1 = r e s ; 63 / V o l t a o i pra 0 p o i s o v a l o r de r e s s e r á usado 64 como num1 para acumular o r e s u l t a d o da o p e r a ç ã o 65 a n t e r i o r para poder c a l c u l a r a próxima. 66 Assim, ao i t e r a r novamente, 67 o programa e n t r a r á no segundo i f 68 ( p o i s a ú l t i m a l i n h a do f o r é i ++, 60 / 79

61 Tratamento de Exceções: Calculadora 4 V 69 a s s i m e l e p a s s a r á pra 1) 70 / 71 i =0; 72 } 73 i ++; 74 } System. out. p r i n t ( \ n R e s u l t a d o : ) ; 77 f o r ( S t r i n g a r g : a r g s ) 78 System. out. p r i n t ( a r g + ) ; 79 System. out. p r i n t l n ( = + r e s ) ; 80 } catch ( A r r a y I n d e x O u t O f B o u n d s E x c e p t i o n e ) { 81 System. out. p r i n t l n ( É p r e c i s o i n f o r m a r p e l o menos 3 argumentos sendo : num1 o p e r a d o r num2 ) ; 82 } catch ( NumberFormatException e ) { 83 System. out. p r i n t l n ( Algum dos v a l o r e s i n f o r m a d o s é i n v á l i d o ) ; 84 } catch ( A r i t h m e t i c E x c e p t i o n e ) { 85 System. out. p r i n t l n ( Não f o i p o s s í v e l r e a l i z a r a o p e r a ç ã o. Se f o r d i v i s ã o, o d i v i s o r não pode s e r z e r o ) ; 61 / 79

62 Tratamento de Exceções: Calculadora 4 VI 86 } catch ( E x c e p t i o n e ) { 87 System. out. p r i n t l n ( e. getmessage ( ) ) ; 88 } 89 } 90 } 62 / 79

63 Métodos sobrecarregados: Calculadora 5 I Usando método sobrecarregado para resolver expressão aritmética. Código Fonte 17: Calculadora de linha de comando 1 / Implementa uma c a l c u l a d o r a para as 4 o p e r a ç õ e s 2 b á s i c a s que f u n c i o n a v i a l i n h a de comando. 3 O u s u á r i o p a s s a a e x p r e s s ã o no formato 4 num1 o p e r a d o r num2 o p e r a d o r num3 o p e r a r a d o r numn 5 e o programa e x i b e o r e s u l t a d o. 6 Esta v e r s ã o mostra como c r i a r um método s o b r e c a r r e g a d o, 7 ou s e j a, um método que p o s s u i d i f e r e n t e s v e r s õ e s : 8 uma para r e s o l v e r uma e x p r e s s ã o com 2 o p e r a n d o s 9 e o u t r a para chamar r e p e t i d a m e n t e a p r i m e i r a 10 para r e s o l v e r uma e x p r e s s ã o com quantos 11 o p e r a n d o s ( e o p e r a d o r e s ) d e s e j a r m o s. 12 Assim, no main, r e d u z i m o s a q u a n t i d a d e de código, 13 f a z e n d o apenas uma chamada de f u n ç ã o. 14 A c a l c u l a d o r a não obedece a ordem de p r e c e d ê n c i a dos o p e r a d o r s. 15 Os v a l o r e s são c a l c u l a d o s sempre da e s q u e r d a pra d i r e t a. 63 / 79

64 Métodos sobrecarregados: Calculadora 5 II 16 Onde o p e r a d o r pode s e r +,, x ou / 17 Esta v e r s ã o f a z o t r a t a m e n t o de e x c e ç õ e s. 18 O programa pode g e r a r as s e g u i n t e s e x c e ç õ e s : 19 1) O u s u á r i o não i n f o r m o u algum dos 3 argumentos o b r i g a t ó r i o s 20 2) Algum dos v a l o r e s não é um número i n t e i r o v á l i d o 21 3) Algum dos números não é v á l i d o para a o p e r a ç ã o ( como d i v i s ã o por z e r o ) 22 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 24 / 25 p u b l i c c l a s s E x c e c o e s C a l c 5 { 26 p u b l i c s t a t i c I n t e g e r c a l c ( S t r i n g a r g s [ ] ) 27 throws E x c e p t i o n { 28 I n t e g e r num1=0, num2=0, r e s =0; 29 i n t i = 0 ; 30 char op= ; 31 f o r ( S t r i n g a r g : a r g s ) { 32 i f ( i ==0) 33 num1 = I n t e g e r. p a r s e I n t ( a r g ) ; 64 / 79

65 Métodos sobrecarregados: Calculadora 5 III 34 e l s e i f ( i ==1) 35 op = a r g. charat ( 0 ) ; 36 e l s e i f ( i ==2) { 37 num2 = I n t e g e r. p a r s e I n t ( a r g ) ; 38 r e s=c a l c ( num1, op, num2 ) ; 39 num1 = r e s ; 40 / V o l t a o i pra 0 p o i s o v a l o r de r e s s e r á usado 41 como num1 para acumular o r e s u l t a d o da o p e r a ç ã o 42 a n t e r i o r para poder c a l c u l a r a próxima. 43 Assim, ao i t e r a r novamente, 44 o programa e n t r a r á no segundo i f 45 ( p o i s a ú l t i m a l i n h a do f o r é i ++, 46 a s s i m e l e p a s s a r á pra 1) 47 / 48 i =0; 49 } 50 i ++; 51 } 52 r e t u r n r e s ; 65 / 79

66 Métodos sobrecarregados: Calculadora 5 IV 53 } p u b l i c s t a t i c I n t e g e r c a l c ( I n t e g e r num1, char op, I n t e g e r num2 ) 56 throws A r i t h m e t i c E x c e p t i o n, E x c e p t i o n { 57 I n t e g e r r e s =0; 58 t r y { 59 s w i t c h ( op ) { 60 case + : 61 r e s = num1+num2 ; 62 break ; 63 case : 64 r e s = num1 num2 ; 65 break ; 66 case x : 67 r e s = num1 num2 ; 68 break ; 69 case / : 70 r e s = num1/num2 ; 71 break ; 72 d e f a u l t : 66 / 79

67 Métodos sobrecarregados: Calculadora 5 V 73 throw new E x c e p t i o n ( Operador i n v á l i d o. Use +,, x ou / ) ; 74 } 75 } 76 catch ( A r i t h m e t i c E x c e p t i o n e ) { 77 i f ( op == / && num2 == 0) { 78 throw new A r i t h m e t i c E x c e p t i o n ( 79 Não é p o s s í v e l r e a l i z a r d i v i s ã o por z e r o ) ; 80 } } 83 r e t u r n r e s ; 84 } p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 87 t r y { 88 I n t e g e r r e s = c a l c ( a r g s ) ; 89 System. out. p r i n t ( \ n R e s u l t a d o : ) ; 90 f o r ( S t r i n g a r g : a r g s ) 91 System. out. p r i n t ( a r g + ) ; 67 / 79

68 Métodos sobrecarregados: Calculadora 5 VI 92 System. out. p r i n t l n ( = + r e s ) ; 93 } catch ( A r r a y I n d e x O u t O f B o u n d s E x c e p t i o n e ) { 94 System. out. p r i n t l n ( É p r e c i s o i n f o r m a r p e l o menos 3 argumentos sendo : num1 o p e r a d o r num2 ) ; 95 } catch ( NumberFormatException e ) { 96 System. out. p r i n t l n ( Algum dos v a l o r e s i n f o r m a d o s é i n v á l i d o ) ; 97 } catch ( A r i t h m e t i c E x c e p t i o n e ) { 98 System. out. p r i n t l n ( 99 Não f o i p o s s í v e l r e a l i z a r a o p e r a ç ã o Se f o r d i v i s ã o, o d i v i s o r não pode s e r z e r o ) ; 101 } catch ( E x c e p t i o n e ) { 102 System. out. p r i n t l n ( e. getmessage ( ) ) ; 103 } 104 } 105 } 68 / 79

69 javadoc Gerar documentação HTML a partir dos comentários no código fonte: javadoc: javadoc *.java -d../doc -author -charset utf-8 69 / 79

70 Entrada de Dados em aplicações console I Mostra como obter valores de um tipo específico, a partir da entrada padrão (o teclado), em uma aplicação console. Código Fonte 18: Entrada de dados em aplicações console 1 import j a v a. u t i l. ; 2 3 / R e a l i z a n d o e n t r a d a de dados com a c l a s s e j a v a. u t i l. Scanner 4 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 6 / 7 p u b l i c c l a s s Entrada1 { 8 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 9 // I n s t a n c i a um o b j e t o da c l a s s e Scanner para f a z e r e n t r a d a de dados 10 Scanner s c = new Scanner ( System. i n ) ; 11 System. out. p r i n t ( D i g i t e a I d a d e : ) ; 12 i n t i d a d e = s c. n e x t I n t ( ) ; 70 / 79

71 Entrada de Dados em aplicações console II System. out. p r i n t l n ( I d a d e : + i d a d e ) ; System. out. p r i n t ( D i g i t e sua a l t u r a : ) ; 18 f l o a t a l t u r a = s c. n e x t F l o a t ( ) ; 19 System. out. p r i n t l n ( A l t u r a : + a l t u r a ) ; 20 } 21 } 71 / 79

72 Entrada de Dados em aplicações console: tratando exceções I Mostra como obter valores de um tipo específico, a partir da entrada padrão (o teclado), em uma aplicação console, tratando exceções e solicitando que o usuário digite novamente um valor até digitar um valor válido. Código Fonte 19: Entrada de dados em aplicações console 1 //O i m p o r t é como o i n c l u d e do C 2 3 // Importa t o d a s as c l a s s e s do p a c o t e u t i l, 4 // assim, t o d a s e l a s poderão s e r u s a d a s no c ó d i g o 5 import j a v a. u t i l. ; 6 7 // Importa apenas a c l a s s e Scanner que s e r á usada 8 // i m p o r t j a v a. u t i l. Scanner ; / 79

73 Entrada de Dados em aplicações console: tratando exceções II 11 / R e a l i z a n d o e n t r a d a de dados com a c l a s s e j a v a. u t i l. Scanner 12 e t r a t a m e n t o de e x c e ç õ e s. 13 <a h r e f = h t t p : / / manoelcampos. com >Manoel Campos </a> 15 / 16 p u b l i c c l a s s Entrada2 { 17 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) { 18 // I n s t a n c i a um o b j e t o da c l a s s e Scanner 19 // para c a p t u r a dados da e n t r a d a padrão ( System. i n ), 20 // ou s e j a, do t e c l a d o 21 //O o p e r a d o r new a l o c a memória para o o b j e t o 22 Scanner s c = new Scanner ( System. i n ) ; 23 System. out. p r i n t ( D i g i t e seu nome : ) ; 24 //o método n e x t é usado para c a p t u r a r s t r i n g s 25 // d i g i t a d a s p e l o u s u á r i o 26 S t r i n g nome = s c. n e x t ( ) ; 27 F l o a t a l t u r a=new F l o a t ( 0 ) ; 73 / 79

74 Entrada de Dados em aplicações console: tratando exceções III 28 f o r ( ; ; ) { 29 t r y { 30 System. out. p r i n t ( D i g i t e sua a l t u r a : ) ; 31 a l t u r a = s c. n e x t F l o a t ( ) ; // s e c h e g a r aqui, é pq o v a l o r é v á l i d o 34 // e a s s i m s a i do l a ç o 35 break ; 36 } 37 catch ( I n p u t M i s m a t c h E x c e p t i o n e ) { 38 System. out. p r i n t l n ( A a l t u r a d i g i t a d a é i n v á l i d a ) ; 39 / obtém e d e s c a r t a o v a l o r i n v á l i d o d i g i t a d o 40 a n t e r i o r m e n t e p e l o u s u á r i o 41 para poder a g u a r d a r um novo v a l o r 42 na próxima chamada de método de s c / 43 s c. n e x t ( ) ; 44 } 45 } 74 / 79

75 Entrada de Dados em aplicações console: tratando exceções IV System. out. p r i n t l n ( Olá + nome ) ; 49 System. out. p r i n t l n ( Sua a l t u r a é + a l t u r a ) ; } 52 } 75 / 79

76 Tópicos I Interfaces gráficas com Swing: JLabel, JTextBox, JButton, JComboBox Executando ação ao clicar em um botão: Interface ActionListener: método actionperformed(actionevent e) forma direta com classe anônima Executando ação ao clicar em um botão: forma extensa Capturando detalhes do evento click de um botão: operadores bitwise (operações sobre bits) Layouts: FlowLayout, GridLayout, BorderLayout, etc. Layout MigLayout: Netbeans: plugin Matisse Eclipse: plugin WindowBuilder / 79

77 Tópicos II Look And Feel s: configurando um Look And Feel: UIManager.setLookAndFeel(lookAndFeelClassName) selecionando dinamicamente um Look And Feel descobrindo Look And Feel s instalados no sistema: UIManager.LookAndFeelInfo lafs[] = UIManager.getInstalledLookAndFeels(); 77 / 79

78 Tópicos I Classes: this Herança (extends): definição, this(), super(). Exemplo: projeto VoceAluga Encapsulamento: definição, public, private, protected, package Polimorfismo: definição, uso. Exemplo: Interface (implements): definição, uso 78 / 79

79 Plataforma Introdução à Linguagem Java Referências Referências Bibliográficas I 79 / 79

AULA 1 INTRODUÇÃO AO JAVA

AULA 1 INTRODUÇÃO AO JAVA AULA 1 INTRODUÇÃO AO JAVA Ao término dessa aula você terá aprendido: História e características do Java Ambientes e plataformas Java O Java é a base para praticamente todos os tipos de aplicações em rede

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada

Leia mais

INTRODUÇÃO A LINGUAGEM JAVA

INTRODUÇÃO A LINGUAGEM JAVA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A LINGUAGEM JAVA Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso Técnico

Leia mais

Nosso Primeiro Programa Java

Nosso Primeiro Programa Java Java linguagem, jvm, jdk, jre, ide Nosso Primeiro Programa Java Professoras: Ariane Machado Lima Fátima L. S. Nunes 1 Lembrando os objetivos desta disciplina Aprender a programar. Para isso precisamos

Leia mais

Desenvolvimento de Software I

Desenvolvimento de Software I Desenvolvimento de Software I Prof. Arnaldo Martins Hidalgo Junior arnaldo@flash.tv.br http://aulashidalgo.wordpress.com 5 h/a (2 aulas semanais) http://aulashidalgo.wordpress.com 1 Competências Avaliar

Leia mais

Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans

Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans Objetivos da aula: Introduzir conceitos da linguagem Java Apresentar um histórico da linguagem Apresentar

Leia mais

Esta é a única declaração da aplicação

Esta é a única declaração da aplicação Esta é a única declaração da aplicação A classe de usuário Olamundo O método público main, com seu argumento, obrigatório em qualquer aplicação. É dentro deste método que você inicia sua aplicação, não

Leia mais

Algoritmos I Aula 12 Linguagem de Programação Java

Algoritmos I Aula 12 Linguagem de Programação Java Algoritmos I Aula 12 Linguagem de Programação Java Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Linguagem de Programação Histórico Em 1991, em uma empresa filiada a

Leia mais

Instituto Superior de Engenharia de Lisboa

Instituto Superior de Engenharia de Lisboa Instituto Superior de Engenharia de Lisboa Introdução à Programação (PG) Docente: Pedro Viçoso Fazenda (pfazenda@cedet.isel.ipl.pt) Professor Responsável: Pedro Alexandre Pereira (palex@cc.isel.ipl.pt)

Leia mais

Desenvolvendo aplicações Java

Desenvolvendo aplicações Java José Roberto Madureira Junior Adaní Cusin Sacilotti Adriana Rodrigues Reginaldo Sacilotti Desenvolvendo aplicações Java Primeira Edição São Paulo 2017 Sumário 1 INTRODUÇÃO AO JAVA... 1 1.1 A PLATAFORMA

Leia mais

Aula 1 POO 1 Prática. Profa. Elaine Faria UFU

Aula 1 POO 1 Prática. Profa. Elaine Faria UFU Aula 1 POO 1 Prática Profa. Elaine Faria UFU - 2019 Introdução Java Linguagem de programação poderosa Utiliza o paradigma Orientado a Objetos Muito utilizada em aplicativos para Internet e para redes Difundida

Leia mais

JAVA. Professor: Bruno Toledo

JAVA. Professor: Bruno Toledo JAVA Professor: Bruno Toledo Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 2 Visão Geral da Tecnologia Java Aplicação Hello World! Operadores e

Leia mais

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli Técnico em Informática Web JavaScript Profª Ana Paula Mandelli anapaula_mandelli@hotmail.com Para o JavaScript - NetBeans O NetBeans é um ambiente de desenvolvimento integrado (IDE) Java desenvolvido pela

Leia mais

Java Standard Edition (JSE)

Java Standard Edition (JSE) Java Standard Edition (JSE) Capítulo 01. Introdução à tecnologia JAVA Esp. Márcio Palheta MSN: marcio.palheta@hotmail.com 1 Agenda Apresentação: Formação, graduação, certificação, área de atuação; Apresentação

Leia mais

Programação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação. Prof. Bruno Moreno

Programação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação. Prof. Bruno Moreno Programação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Motivação Por que existe mais de uma LP? Propósitos diferentes; Avanços tecnológicos;

Leia mais

A linguagem Java foi projetada tendo em vista os seguintes objetivos:

A linguagem Java foi projetada tendo em vista os seguintes objetivos: Java Disciplina: Programação II Professora: Mai-Ly Vanessa Histórico do Java Em 1991 a Sun Microsystems financiou uma pesquisa sobre o que seria a nova onda digital. Desta pesquisa resultou a criação da

Leia mais

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB Noçõ ções básicas b da linguagem Java Profs. Marcel Hugo e Jomi Fred Hübner Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB Introduçã ção Origem Funcionamento Vantagens Linguagem

Leia mais

[Desenvolvimento OO com Java] O que é Java?

[Desenvolvimento OO com Java] O que é Java? Centro Tecnológico Departamento de Informática Prof. Vítor E. Silva Souza http://www.inf.ufes.br/~vitorsouza [Desenvolvimento OO com Java] O que é Java? Este obra está licenciada com uma licença Creative

Leia mais

[Desenvolvimento OO com Java] O que é Java?

[Desenvolvimento OO com Java] O que é Java? Centro Tecnológico Departamento de Informática Prof. Vítor E. Silva Souza http://www.inf.ufes.br/~vitorsouza [Desenvolvimento OO com Java] O que é Java? Este obra está licenciada com uma licença Creative

Leia mais

Laboratório 01 NetBeans

Laboratório 01 NetBeans Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 2o. Semestre de 2017 Prof. Renato Pimentel Atividade individual. Laboratório 01 NetBeans 1 Introdução Os

Leia mais

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão

Leia mais

(Características fundamentais de Codificação de programas)

(Características fundamentais de Codificação de programas) Curso: Análise e Desenvolvimento de Sistemas Disciplina Algoritmos e Programação (Características fundamentais de Codificação de programas) Prof. Wagner Santos C. de Jesus wsantoscj@gmail.com Histórico

Leia mais

AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK)

AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK) AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK) Ø LP Java. Estrutura de um programa em Java. Ø Conjunto de caracteres utilizado. Ø Identificadores. Ø Variáveis e constantes. Ø Tipos

Leia mais

Cronograma de Aulas - Mococa 1º Módulo 23/05/2009 a 27/06/2009

Cronograma de Aulas - Mococa 1º Módulo 23/05/2009 a 27/06/2009 Atualização Técnica e Pedagógica para Professores de Informática - JAVA Cronograma de Aulas - Mococa 1º Módulo 23/05/2009 a 27/06/2009 Responsável: Luis Eduardo Fernandes Gonzalez Professor Responsável

Leia mais

O AMBIENTE DE DESENVOLVIMENTO

O AMBIENTE DE DESENVOLVIMENTO Módulo 9 O AMBIENTE DE DESENVOLVIMENTO P S I 1 1 - C P T G P S I SUMÁRIO Instalação do Java JDK - Kit de Desenvolvimento Java Download do JDK Instalação do JDK Configuração da Variável de ambiente (Path)

Leia mais

Algoritmos I Aula 13 Linguagem de Programação Java

Algoritmos I Aula 13 Linguagem de Programação Java Algoritmos I Aula 13 Linguagem de Programação Java Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação IDE Eclipse IDE (Integrated development environment) Criar um projeto

Leia mais

Introdução ao IDE Netbeans (Programação Java)

Introdução ao IDE Netbeans (Programação Java) Universidade Federal do ABC Disciplina: Processamento da Informação (BC-05045) Assunto: Introdução ao IDE Netbeans Introdução ao IDE Netbeans (Programação Java) Conteúdo 1. Introdução... 1 1.1. Programas

Leia mais

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java. P. Fazendeiro & P. Prata POO FP0/1 ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java. 0 Iniciar o ambiente de desenvolvimento integrado

Leia mais

Introdução ao ambiente Java

Introdução ao ambiente Java Introdução ao ambiente Java Programação Orientada a Objetos Prof. Tulio Alberton Ribeiro Instituto Federal de Santa Catarina IFSC campus São José tulio.alberton@ifsc.edu.br 30 de julho de 2014 1 / 25 História

Leia mais

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo Linguagem Java Introdução Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Tópicos abordados Histórico da Linguagem Caracterização da Linguagem Criação de Programa Java inicial Entrada e Saída

Leia mais

Linguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação

Linguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação Linguagem de Programação II Programação Orientada a Objetos Ambientes de Programação Prof. Alessandro Borges 2 Tópicos Prompt de comando JDK IDE NetBeans Eclipse Jbuilder Visual Café Visual J++ NetBeans

Leia mais

Organização de programas em Java

Organização de programas em Java Organização de programas em Java Leonardo Gresta Paulino Murta leomurta@ic.uff.br Vamos programar em Java! Mas... Como um programa é organizado? Quais são os Cpos de dados disponíveis? Como variáveis podem

Leia mais

Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático

Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático Java Básico Objetivo: Os assuntos apresentados no decorrer do curso Java Básico incluem os conceitos gerais desta linguagem assim como a definição e utilização de seus recursos diversos, tais como: tipos

Leia mais

PROGRAMAÇÃO I A LINGUAGEM DE PROGRAMAÇÃO JAVA I

PROGRAMAÇÃO I A LINGUAGEM DE PROGRAMAÇÃO JAVA I PROGRAMAÇÃO I A LINGUAGEM DE PROGRAMAÇÃO JAVA I Prof. Dr. Daniel Caetano 2017-1 Objetivos Conhecer os tipos de dados, constantes e como declarar variáveis Conhecer os operadores e expressões Conhecer e

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Palavras Reservadas da Linguagem Java

Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de

Leia mais

Sintaxe Básica do Java. João Paulo Q. dos Santos

Sintaxe Básica do Java. João Paulo Q. dos Santos Sintaxe Básica do Java João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Plano de Aula Introdução; Método Main; Variáveis: Tipos primitivos; Referências para Objetos; Operadores; Estruturas: Condicionais

Leia mais

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli Programa de computador sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; Linguagem de programação método para a criação

Leia mais

No final deste curso, saberás criar programas através da linguagem de programação Java.

No final deste curso, saberás criar programas através da linguagem de programação Java. Programação em Java Programação Formato: Mentored - Online Preço: 415 ( Os valores apresentados não incluem IVA. Oferta de IVA a particulares e estudantes. ) Horário: Flexível das 24h/24h Duração: ~45h

Leia mais

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da Java Laboratório Aula 1 Programação orientada a objetos Profa. Renata e Cristiane Introdução a Plataforma Java O que é Java? Tecnologia Linguagem de Programação Ambiente de Execução (JVM) Tudo isso é a

Leia mais

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java Linguagem Java Objetivos????? ADAPTAR O TEXTO ABAIXO????? Aprender a sintaxe da Estrutura de Repetição ENQUANTO-FAÇA na linguagem PORTUGOL Aprender a resolver problemas que requeiram o uso de ESTRUTURAS

Leia mais

1) DADOS DA OBRA: Programando em Java 2 Teoria e Aplicações Rui Rossi dos Santos 2004 Axcel Books (

1) DADOS DA OBRA: Programando em Java 2 Teoria e Aplicações Rui Rossi dos Santos 2004 Axcel Books ( 1) DADOS DA OBRA: Título: Programando em Java 2 Teoria e Aplicações Autor: Rui Rossi dos Santos Ano: 2004 Editora: Axcel Books (http://www.axcel.com.br) Páginas: 580 Encadernação: Capa dura 2) DESCRIÇÃO

Leia mais

Professor: José Ronaldo Leles Júnior Curso: Sistemas de Informação

Professor: José Ronaldo Leles Júnior   Curso: Sistemas de Informação Professor: José Ronaldo Leles Júnior Email: juniorleles80@gmail.com Curso: Sistemas de Informação Universidade Estadual de Goiás - Câmpus Posse Ano 2016/1 Uma breve história do Java 1991-1994 O Green (um

Leia mais

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade Linguagem Java de Desenvolvimento Máquina Virtual Um código intermediário, chamado de bytecode, é gerado quando um programa Java é compilado. Este bytecode é interpretado pelas máquinas virtuais java (JVMs)

Leia mais

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos. AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos

Leia mais

Introdução. PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa

Introdução. PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Introdução PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Resumo Funcionamento da cadeira Intuição sobre programação orientada-a-objectos A linguagem Java: história

Leia mais

09/05/2017. Técnicas Avançadas de Programação APRESENTAÇÃO

09/05/2017. Técnicas Avançadas de Programação APRESENTAÇÃO APRESENTAÇÃO Técnicas Avançadas de Programação Técnica: Secretária Escolar(FDR) Graduação: Bacharelado em Sistemas de Informação(FIED) Pós-Graduação: Especialização em Engenharia de Software(FGF) MBA em

Leia mais

Algoritmia e Programação APROG. Tecnologia JAVA. IDE Netbeans. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Algoritmia e Programação APROG. Tecnologia JAVA. IDE Netbeans. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 APROG Algoritmia e Programação Tecnologia JAVA IDE Netbeans Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 Tecnologia Java Sumário Tecnologia Java Desenvolvimento de Programas Ambientes de Desenvolvimento

Leia mais

Programação I Curso: Sistemas de Informação

Programação I Curso: Sistemas de Informação Ementa Programação I Curso: Sistemas de Informação Prof.: José Ronaldo Leles Júnior Email.: juniorleles80@gmail.com Introdução à plataforma de desenvolvimento JAVA; Conceitos básicos e pilares do paradigma

Leia mais

Pág. 1 de 6

Pág. 1 de 6 String www.tiexpert.net Pág. 1 de 6 Strings são utilizadas frequentemente em várias linguagens de programação, não apenas Java. Embora Strings sejam uma sequência de caracteres em Java, e não um array

Leia mais

Introdução à plataforma Java

Introdução à plataforma Java Introdução à plataforma Java Apresentação: Professor: Galvez Gonçalves prof.gago@gmail.com O que estudaremos 1. Os conceitos de programação orientada a objetos através de uma linguagem de programação que

Leia mais

ESQUEMA AULA PRÁTICA 1

ESQUEMA AULA PRÁTICA 1 P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente JBuilder Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado JBuilder. Start

Leia mais

ESQUEMA AULA PRÁTICA 1

ESQUEMA AULA PRÁTICA 1 P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente JBuilder Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado JBuilder. Start

Leia mais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

A Linguagem Java. Prof. Vicente Paulo de Camargo

A Linguagem Java. Prof. Vicente Paulo de Camargo A Linguagem Java Prof. Vicente Paulo de Camargo História do Java Em 992 a Sun Microsystems cria um time conhecido com Green Team, para desenvolver inovações tecnológicas, liderado por James Gosling (Pai

Leia mais

Linguagem de programação Strings

Linguagem de programação Strings Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Strings Professor: Saulo Henrique Cabral Silva STRINGS 2 String - Fundamentos Um Literal (char) é um valor inteiro representado

Leia mais

POO Programação Orientada a Objetos. Classes e Objetos 2

POO Programação Orientada a Objetos. Classes e Objetos 2 + POO Programação Orientada a Objetos Classes e Objetos 2 +Roteiro 2 Criando objetos Operador new A heap e variáveis que referenciam objetos Manipulando objetos Chamando métodos Destruição de objetos O

Leia mais

Introdução a linguagem Java

Introdução a linguagem Java Introdução a linguagem Java Prof. Me. Leo Larback E-mail: leo@larback.com.br Fortemente baseado na apresentação do professor Thiago Moreira - ttrmoreira@gmail.com Disponível em http://www.larback.com.br

Leia mais

Organização de programas em Java

Organização de programas em Java Organização de programas em Java Leonardo Gresta Paulino Murta leomurta@ic.uff.br Vamos programar em Java! Mas... Como um programa é organizado? Quais são os Cpos de dados disponíveis? Como variáveis podem

Leia mais

Alguns conceitos, regras, convenções, preparação do ambiente, primeiro programa.

Alguns conceitos, regras, convenções, preparação do ambiente, primeiro programa. Módulo I Alguns conceitos, regras, convenções, preparação do ambiente, primeiro programa. :: Introdução Neste módulo faremos a apresentação de alguns conceitos Java e a preparação do ambiente de programação.

Leia mais

JAVA. Tópicos Especiais de Programação Orientada a Objetos. sexta-feira, 24 de agosto de 12

JAVA. Tópicos Especiais de Programação Orientada a Objetos. sexta-feira, 24 de agosto de 12 JAVA Tópicos Especiais de Programação Orientada a Objetos 1 HISTÓRIA O Java é uma linguagem baseada no C++, seu desenvolvimento teve inicio em 1991 com a Sun Microsystems em um projeto de codinome Green.

Leia mais

Organização de programas em Java

Organização de programas em Java Organização de programas em Java Leonardo Gresta Paulino Murta leomurta@ic.uff.br Vamos programar em Java! Mas... Como um programa é organizado? Quais são os tipos de dados disponíveis? Como variáveis

Leia mais

Introdução a Linguagem

Introdução a Linguagem Introdução a Linguagem Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 03 Introdução a Linguagem Java 1 Linguagem Java Java é uma linguagem de programação orientada a objeto, desenvolvida na década

Leia mais

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações

Leia mais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com

Leia mais

Prof. MsC Vicente Paulo de Camargo PUCGO. Conteúdo baseado no livro Lógica de programação e estrutura de dados - Java - Sandra Puga

Prof. MsC Vicente Paulo de Camargo PUCGO. Conteúdo baseado no livro Lógica de programação e estrutura de dados - Java - Sandra Puga AED II Algoritmos e Estrutura de Dados II Prof. MsC Vicente Paulo de Camargo PUCGO Conteúdo baseado no livro Lógica de programação e estrutura de dados - Java - Sandra Puga BITS são a base da linguagem

Leia mais

FIC-POO. Aula 1.2 Introdução a Java e POO. Prof. Dr. Bruno Moreno

FIC-POO. Aula 1.2 Introdução a Java e POO. Prof. Dr. Bruno Moreno FIC-POO Aula 1.2 Introdução a Java e POO Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Introdução O que é Java? Linguagem de programação OO Surgiu na década de 90 Criada pela Sun Microsystems É multiplataforma:

Leia mais

Linguagem Técnica I. Prof. Jonatas Bastos

Linguagem Técnica I. Prof. Jonatas Bastos Linguagem Técnica I Prof. Jonatas Bastos Email: jonatasfbastos@gmail.com 1 Objetivo da Disciplina p Entender os conceitos da programação orientada a objetos; p Aplicar conceitos básicos relativos a objetos

Leia mais

DE TREINAMENTO PROFISSIONAL -

DE TREINAMENTO PROFISSIONAL - I - 1 OCJA Módulo CENTRO DE TREINAMENTO PROFISSIONAL TREINAMENTO@KEES.COM.BR - WWW.KEES.COM.BR I - 2 PREPARATÓRIO PARA A CERTIFICAÇÃO SCJP Oracle Certified Java Associate Éver Santoro OCA, OCP, SCJA, SCJP,

Leia mais

Desenvolvimento OO com Java O que é Java

Desenvolvimento OO com Java O que é Java Desenvolvimento OO com Java O que é Java Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo

Leia mais

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C#

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C# Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina POO -2017 Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C# http://www1.univap.br/~wagner Prof.

Leia mais

Groovy. Cleisson Santos Guterres Lucas Augusto Santos Renato Menezes Machado

Groovy. Cleisson Santos Guterres Lucas Augusto Santos Renato Menezes Machado Groovy Cleisson Santos Guterres Lucas Augusto Santos Renato Menezes Machado Introdução Groovy é uma linguagem de programação orientada a objeto para a plataforma Java. É dinamicamente compilada na JVM,

Leia mais

Grupo de Usuários Java do Noroeste Paulista. Introdução à tecnologia Java

Grupo de Usuários Java do Noroeste Paulista. Introdução à tecnologia Java Grupo de Usuários Java do Noroeste Paulista Introdução à tecnologia Java Referências http://www.java.sun.com; Ivan Luiz Marques Ricarte, Faculdade de Engenharia Elétrica e de Computação-UNICAMP (http://www.dca.fee.unicamp.br/~ricarte/welcome.html);

Leia mais

Linguagem de programação Strings

Linguagem de programação Strings Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Strings Professor: Saulo Henrique Cabral Silva STRINGS 2 String - Fundamentos Um Literal (char) é um valor inteiro representado

Leia mais

Ambientação com a Sintaxe de Java: parte 1

Ambientação com a Sintaxe de Java: parte 1 Ambientação com a Sintaxe de Java: parte 1 Prof. Gustavo Wagner FATEC-PB Programas em Java Texto do programa: arquivo com extensão.java Arquivo contém ao menos uma classe Nome do arquivo deve ser IGUAL

Leia mais

Java e Orientação a Objetos (aula 2) Prof. Sérgio Ricardo

Java e Orientação a Objetos (aula 2) Prof. Sérgio Ricardo Java e Orientação a Objetos (aula 2) Prof. Sérgio Ricardo Paradigma de Orientação a Objetos A orientação a objetos (OO) é um paradigma de análise, projeto e programação de sistemas de software baseado

Leia mais

Sintaxe da linguagem Java

Sintaxe da linguagem Java Sintaxe da linguagem Java (PG) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Classe pública com método main Uma classe pública com nome A tem

Leia mais

PROGRAMAÇÃO JAVA. Parte 2

PROGRAMAÇÃO JAVA. Parte 2 PROGRAMAÇÃO JAVA Parte 2 Características interessantes do JAVA: Verificação automática de ortografia Recolha automática do lixo (GC) Simplificação de ponteiros de memória Acesso à rede simplificado Multi-threading

Leia mais

Revisão NT Editora e Figuramundo. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora e Figuramundo. Capa NT Editora

Revisão NT Editora e Figuramundo. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora e Figuramundo. Capa NT Editora L I NGUAGE M DE PROGRAMAÇÃOJ AVA I NF ORMAÇÃOECOMUNI CAÇÃO J os éj e s s egonç a l v e s Autor José Jesse Gonçalves Graduado em Licenciatura em Matemática pela Universidade Estadual de São Paulo - UNESP,

Leia mais

Lição 4 Fundamentos da programação

Lição 4 Fundamentos da programação Lição 4 Fundamentos da programação Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Identificar as partes básicas de um programa em Java Reconhecer as diferenças

Leia mais

Introdução ao C# com o Microsoft Visual Studio Community 2015

Introdução ao C# com o Microsoft Visual Studio Community 2015 José Roberto Madureira Junior Adaní Cusin Sacilotti Adriana Rodrigues Reginaldo Sacilotti Introdução ao C# com o Microsoft Visual Studio Community 2015 Primeira Edição São Paulo 2016 Sumário 1 INTRODUÇÃO

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

Módulo 1. Introdução. Programação Orientada a Objetos I Java (Rone Ilídio)

Módulo 1. Introdução. Programação Orientada a Objetos I Java (Rone Ilídio) Módulo 1 Introdução Programação Orientada a Objetos I Java (Rone Ilídio) Dados Importantes E-mail: rone@ufsj.edu.br Página: www.ronepage.com Deitel, H. M., Deitel, T. J., Java, editora Bookman, 6ª edição

Leia mais

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida Programação Orientada a Objetos II Java Segunda aula 1 Programação Orientada a Objeto II Tipos de Dados e Variáveis Operadores Operadores aritméticos Operadores relacionais Operadores lógicos Operadores

Leia mais

Linguagem Java - Introdução

Linguagem Java - Introdução Linguagem Java - Introdução Identificadores válidos resultado teste01 _numeroclientes $fortuna Identificadores Identificadores inválidos 101dalmatas 34 #x Palavras reservadas abstract assert*** boolean

Leia mais

String. Demonstrar a utilização e manipulação com os métodos da classe String.

String. Demonstrar a utilização e manipulação com os métodos da classe String. String 1. Objetivos Demonstrar a utilização e manipulação com os métodos da classe String. 2. Strings 2.1. O que são Strings? Em Java, String é uma seqüência de caracteres utilizada para representação

Leia mais

EXPRESSÕES BOOLEANAS. Ex: boolean b = false; // declara uma variável do tipo boolean e atribui false

EXPRESSÕES BOOLEANAS. Ex: boolean b = false; // declara uma variável do tipo boolean e atribui false Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 4 EXPRESSÕES BOOLEANAS O tipo primitivo boolean É um tipo de dados primitivo em Java que possui

Leia mais

CURSO JAVA NA PRÁTICA

CURSO JAVA NA PRÁTICA CURSO JAVA NA PRÁTICA Módulo I Alguns conceitos, regras, convenções, preparação do ambiente, primeiro programa. Módulo II Noções de Orientação a Objetos, classes, métodos, variáveis, parâmetros, tipos

Leia mais

Apostila - Desenvolvimento web com PHP

Apostila - Desenvolvimento web com PHP José Roberto Madureira Junior Adaní Cusin Sacilotti Reginaldo Sacilotti Apostila - Desenvolvimento web com PHP Primeira Edição São Paulo 2017 Sumário 1 INTRODUÇÃO AO PHP... 1 1.1 PREPARAÇÃO DO AMBIENTE

Leia mais

Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes

Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes Histórico Desenvolvida em 2012 por Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman Gratuita, Open Source e licenciada sob a Licença

Leia mais

AULA 02 DADOS PRIMITIVOS E EXERCÍCIOS

AULA 02 DADOS PRIMITIVOS E EXERCÍCIOS AULA 02 DADOS PRIMITIVOS E EXERCÍCIOS Ao término desse capítulo você terá aprendido: Tipos de dados e suas conversões; Operadores; Criação de projetos, pacotes e classes no NetBeans; Variáveis, cálculos

Leia mais

Programação Orientada a Objetos II

Programação Orientada a Objetos II Programação Orientada a Objetos II Introdução Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Introdução ao Desenvolvimento

Leia mais

Java para Desktop. Introdução à Plataforma Java JSE

Java para Desktop. Introdução à Plataforma Java JSE Introdução à Plataforma Java JSE Aécio Costa aeciovc@gmail.com @aeciovc Objetivos Sintaxe Java; Programação Orientada à Objetos; Interfaces Gráficas Swing; JDBC; Gerador de Relatórios IReport; Projeto

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 2 A tecnologia Java Uma ideia base da linguagem JAVA é a de que, um programa em JAVA deve poder ser executado em qualquer tipo de computador sem ter que ser alterado ou compilado novamente. Em Java o código

Leia mais