ebook img

Java - Como Programar PDF

970 Pages·2016·20.52 MB·Portuguese
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Java - Como Programar

H P Programação Java™: A A C R U o V L Comentários dos revisores das últimas edições m E D (cid:31)Traz aos novos programadores o conhecimento proveniente de muitos anos de experiência no desenvolvimento de softwares!(cid:30) p Y E —Edward F. Gehringer, North Carolina State University u D IT t E E (cid:31)Java: como programar introduz noções de boas práticas de projetos e metodologias desde o começo. É um excelente ponto de partida para o a IT L desenvolvimento de aplicações Java robustas e de alta qualidade.(cid:30)—Simon Ritter, Oracle Corporation ç E ã L (cid:31)Os exemplos do mundo real podem ser usados com Java SE 7 ou 8, permitindo fl exibilidade aos alunos e professores; ótimos estudos de caso o / em que os professores podem se basear para desenvolver mais.(cid:30)—Khallai Taylor, Triton College and Lonestar College—Kingwood P r (cid:31)Uma excelente visão geral de como a concorrência pode ajudar os desenvolvedores; é de leitura agradável e concentra-se em alavancar os o processadores multiprocessados.(cid:30)—Johan Vos, LodgON and Java Champion g r (cid:31)Um ótimo livro-texto com uma enorme variedade de exemplos de diversos domínios de aplicações — excelente para um curso de ciência da a computação.(cid:30)—William E. Duncan, Louisiana State University m (cid:31)Este livro é maravilhoso se você quer aprender a programar em Java SE 8.(cid:30)—Jorge Vargas, Yumbling and a Java Champion a ç (cid:31)Excelente introdução [opcional] à programação funcional com lambdas e fl uxos!(cid:30)—Manfred Riem, Java Champion ã o (cid:31)Excelente capítulo sobre JavaFX. O primeiro capítulo sobre JavaFX fornece uma ótima introdução — o sucessor do Swing. Um tratamento muito impressionante é dado a muitos conceitos JavaFX, desde desenvolver um aplicativo simples sem escrever nenhum código até o desenvolvimento de um aplicativo que contém uma grande variedade de elementos de interface gráfi ca do usuário.(cid:30)—James L. Weaver, Oracle Java Evangelist and author of Pro JavaFX 2 Milhões de alunos e profi ssionais aprenderam programação e desenvolvimento de software com os livros Deitel®. Java: como programar, 10a edição, fornece uma introdução clara, simples, envolvente e divertida à programação Java com ênfase inicial em objetos. Destaques incluem: • Rica cobertura dos fundamentos com exemplos reais. • Conjunto de exercícios Fazendo a diferença. • Apresentação com ênfase inicial em classes e objetos. • Tratamento de exceções integrado. • Uso com Java™ SE 7, Java™ SE 8 ou ambos. • Arquivos, fl uxos e serialização de objetos. • Concorrência para melhor desempenho com • Java™ SE 8 abordado em seções modulares multiprocessamento. opcionais. • O livro contém o conteúdo principal para cursos • Lambdas, fl uxos e interfaces funcionais usando introdutórios. métodos padrão e estáticos do Java SE 8. • Outros tópicos: recursão, pesquisa, classifi cação, • Swing e GUI do JavaFX: elementos gráfi cos e coleções genéricas, estruturas de dados, multimídia. multithreading, banco de dados (JDBC ™ e JPA). sv.pearson.com.br A Sala Virtual oferece, para professores, apresentações em PowerPoint, manual de soluções (em inglês) e atividades experimentais (em inglês). Para estudantes, código-fonte dos exemplos apresentados no livro, apêndices e capítulos complementares (em inglês). 10a EDIÇÃO Este livro também está disponível para compra em formato e-book. Para adquiri-lo, acesse nosso site. ISBN 978-85-430-0479-2 loja.pearson.com.br 9788543004792 CVR_DEIT4792_10_CVR.indd All Pages 29/06/2016 10:49:13 0jhtp.indb 1 07/07/2016 15:17:59 0jhtp.indb 2 07/07/2016 15:17:59 Paul Deitel Deitel & Associates, Inc. Harvey Deitel Deitel & Associates, Inc. Tradutor: Edson Furmankiewicz Docware Traduções Técnicas Revisão técnica: Fábio Luis Picelli Lucchini Bacharel em Ciência da Computação pelo Centro Universitário Padre Anchieta Mestre em Engenharia da Computação pela Unicamp (FEEC) Professor Universitário do Centro Universitário Padre Anchieta 0jhtp.indb 3 07/07/2016 15:18:00 ©2017 by Pearson Education do Brasil Ltda. Copyright © 2015, 2012, 2009 by Pearson Education, Inc. Todos os direitos reservados. Nenhuma parte desta publicação poderá ser reproduzida ou transmitida de qualquer modo ou por qualquer outro meio, eletrônico ou mecânico, incluindo fotocópia, gravação ou qualquer outro tipo de sistema de armazenamento e transmissão de informação, sem prévia autorização, por escrito, da Pearson Education do Brasil. Muitas das designações utilizadas por fabricantes e vendedores para distinguir seus produtos são protegidas como marcas comerciais. Onde essas aparecem no livro, e a editora estava ciente de uma proteção de marca comercial, as designações foram impressas com a primeira letra ou todas as letras maiúsculas. Os nomes de empresas e produtos mencionados neste livro são marcas comerciais ou registradas de seus respectivos proprietários. DIRETORA DE PRODUTOS Gabriela Diuana SUPERVISORA Silvana Afonso COORDENADOR Vinícius Souza EDITORA DE TEXTO Sabrina Levensteinas EDITORA ASSISTENTE Karina Ono PREPARAÇÃO Ana Mendes e Sérgio Nascimento REVISÃO Márcia Nunes CAPA Solange Rennó, sobre o projeto original de Paul Deitel, Harvey Deitel, Abbey Deitel, Barbara Deitel e Laura Gardner PROJETO GRÁFICO E DIAGRAMAÇÃO Docware Traduções Técnicas Dados Internacionais de Catalogação na Publicação (CIP) (Câmara Brasileira do Livro, SP, Brasil) Deitel, Paul Java: como programar / Paul Deitel, Harvey Deitel; tradução Edson Furmankiewicz; revisão técnica Fabio Lucchini. -- São Paulo: Pearson Education do Brasil, 2017. Título original: Java: how to program 10. ed. norte-americana. Bibliografia ISBN 978-85-4301-905-5 1. Java (Linguagem de programação para computador) I. Deitel, Harvey. II . Título. 16-01233 CDD-005.133 Índice para catálogo sistemático: 1. Java : Linguagem de programação: computadores: Processamento de dados 005.133 2016 Direitos exclusivos para a língua portuguesa cedidos à Pearson Education do Brasil Ltda., uma empresa do grupo Pearson Education Avenida Santa Marina, 1193 CEP 05036-001 - São Paulo - SP - Brasil Fone: 11 3821-3542 [email protected] 0jhtp.indb 4 07/07/2016 15:18:00 Para Brian Goetz, (cid:36)(cid:85)(cid:84)(cid:88)(cid:76)(cid:87)(cid:72)(cid:87)(cid:82)(cid:3)(cid:71)(cid:72)(cid:3)(cid:79)(cid:76)(cid:81)(cid:74)(cid:88)(cid:68)(cid:74)(cid:72)(cid:80)(cid:3)(cid:45)(cid:68)(cid:89)(cid:68)(cid:3)(cid:72)(cid:3)(cid:79)(cid:174)(cid:71)(cid:72)(cid:85)(cid:3)(cid:71)(cid:68)(cid:3)(cid:72)(cid:86)(cid:83)(cid:72)(cid:70)(cid:76)(cid:349)(cid:70)(cid:68)(cid:168)(cid:164)(cid:82)(cid:3)(cid:71)(cid:82)(cid:3) projeto Lambda do Java SE 8 da Oracle: (cid:54)(cid:88)(cid:68)(cid:3)(cid:82)(cid:85)(cid:76)(cid:72)(cid:81)(cid:87)(cid:68)(cid:168)(cid:164)(cid:82)(cid:3)(cid:81)(cid:82)(cid:86)(cid:3)(cid:68)(cid:77)(cid:88)(cid:71)(cid:82)(cid:88)(cid:3)(cid:68)(cid:3)(cid:73)(cid:68)(cid:93)(cid:72)(cid:85)(cid:3)(cid:88)(cid:80)(cid:3)(cid:79)(cid:76)(cid:89)(cid:85)(cid:82)(cid:3)(cid:80)(cid:72)(cid:79)(cid:75)(cid:82)(cid:85)(cid:17)(cid:3) (cid:50)(cid:69)(cid:85)(cid:76)(cid:74)(cid:68)(cid:71)(cid:82)(cid:3)(cid:83)(cid:82)(cid:85)(cid:3)(cid:76)(cid:81)(cid:86)(cid:76)(cid:86)(cid:87)(cid:76)(cid:85)(cid:3)(cid:83)(cid:68)(cid:85)(cid:68)(cid:3)(cid:84)(cid:88)(cid:72)(cid:3)(cid:349)(cid:93)(cid:170)(cid:86)(cid:86)(cid:72)(cid:80)(cid:82)(cid:86)(cid:3)(cid:68)(cid:3)(cid:70)(cid:82)(cid:76)(cid:86)(cid:68)(cid:3)(cid:70)(cid:72)(cid:85)(cid:87)(cid:68)(cid:17) Paul e Harvey Deitel 0jhtp.indb 5 07/07/2016 15:18:00 0jhtp.indb 6 07/07/2016 15:18:00 Sumário Apresentação xix Prefácio xxi Antes de começar xxxi 1 Introdução a computadores, internet e Java 1 1.1 Introdução 2 1.2 Hardware e software 3 1.2.1 Lei de Moore 4 1.2.2 Organização do computador 4 1.3 Hierarquia de dados 5 1.4 Linguagens de máquina, assembly e de alto nível 7 1.5 Introdução à tecnologia de objetos 8 1.5.1 O automóvel como um objeto 8 1.5.2 Métodos e classes 9 1.5.3 Instanciação 9 1.5.4 Reutilização 9 1.5.5 Mensagens e chamadas de método 9 1.5.6 Atributos e variáveis de instância 9 1.5.7 Encapsulamento e ocultamento de informações 9 1.5.8 Herança 9 1.5.9 Interfaces 10 1.5.10 Análise e projeto orientados a objetos (OOAD) 10 1.5.11 A UML (unified modeling language) 10 1.6 Sistemas operacionais 10 1.6.1 Windows — um sistema operacional proprietário 10 1.6.2 Linux — um sistema operacional de código-fonte aberto 11 1.6.3 Android 11 1.7 Linguagens de programação 11 1.8 Java 13 1.9 Um ambiente de desenvolvimento Java típico 13 1.10 Testando um aplicativo Java 16 1.11 Internet e World Wide Web 20 1.11.1 A internet: uma rede de redes 20 1.11.2 A World Wide Web: tornando a internet amigável ao usuário 21 1.11.3 Serviços web e mashups 21 1.11.4 Ajax 22 1.11.5 A internet das coisas 22 1.12 Tecnologias de software 22 1.13 Mantendo-se atualizado com as tecnologias da informação 23 0jhtp.indb 7 07/07/2016 15:18:00 viii Java: como programar 2 Introdução a aplicativos Java – entrada/saída e operadores 27 2.1 Introdução 28 2.2 Nosso primeiro programa Java: imprimindo uma linha de texto 28 2.3 Modificando nosso primeiro programa Java 33 2.4 Exibindo texto com printf 35 2.5 Outra aplicação: adicionando inteiros 36 2.5.1 Declarações import 37 2.5.2 Declarando a classe Addition 37 2.5.3 Declarando e criando um Scanner para obter entrada do usuário a partir do teclado 37 2.5.4 Declarando variáveis para armazenar números inteiros 38 2.5.5 Solicitando entrada ao usuário 38 2.5.6 Obtendo um int como entrada do usuário 39 2.5.7 Solicitando e inserindo um segundo int 39 2.5.8 Usando variáveis em um cálculo 39 2.5.9 Exibindo o resultado do cálculo 39 2.5.10 Documentação da Java API 40 2.6 Conceitos de memória 40 2.7 Aritmética 41 2.8 Tomada de decisão: operadores de igualdade e operadores relacionais 43 2.9 Conclusão 47 3 Introdução a classes, objetos, métodos e strings 55 3.1 Introdução 56 3.2 Variáveis de instância, métodos set e métodos get 56 3.2.1 Classe Account com uma variável de instância, um método set e um método get 56 3.2.2 Classe AccountTest que cria e usa um objeto da classe Account 59 3.2.3 Compilação e execução de um aplicativo com múltiplas classes 61 3.2.4 Diagrama de classe UML de Account com uma variável de instância e os métodos set e get 61 3.2.5 Notas adicionais sobre a classe AccountTest 62 3.2.6 Engenharia de software com variáveis de instância private e métodos set e get public 63 3.3 Tipos primitivos versus tipos por referência 64 3.4 Classe Account: inicialização de objetos com construtores 64 3.4.1 Declaração de um construtor Account para inicialização de objeto personalizado 64 3.4.2 Classe AccountTest: inicialização de objetos Account quando eles são criados 65 3.5 A classe Account com um saldo; números de ponto flutuante 66 3.5.1 A classe Account com uma variável de instância balance do tipo double 67 3.5.2 A classe AccountTest para utilizar a classe Account 68 3.6 (Opcional) Estudo de caso de GUIs e imagens gráficas: utilizando caixas de diálogo 70 3.7 Conclusão 73 4 Instruções de controle: parte 1; operadores de atribuição ++ e -- 79 4.1 Introdução 80 4.2 Algoritmos 80 4.3 Pseudocódigo 80 4.4 Estruturas de controle 81 4.5 A instrução de seleção única if 82 4.6 Instrução de seleção dupla if…else 83 4.7 Classe Student: instruções if…else aninhadas 87 4.8 Instrução de repetição while 89 4.9 Formulando algoritmos: repetição controlada por contador 90 4.10 Formulando algoritmos: repetição controlada por sentinela 93 4.11 Formulando algoritmos: instruções de controle aninhadas 98 4.12 Operadores de atribuição compostos 102 0jhtp.indb 8 07/07/2016 15:18:00 Sumário ix 4.13 Operadores de incremento e decremento 102 4.14 Tipos primitivos 105 4.15 (Opcional) Estudo de caso de GUIs e imagens gráficas: criando desenhos simples 105 4.16 Conclusão 108 5 Instruções de controle: parte 2; operadores lógicos 119 5.1 Introdução 120 5.2 Princípios básicos de repetição controlada por contador 120 5.3 Instrução de repetição for 121 5.4 Exemplos com a estrutura for 125 5.5 Instrução de repetição do…while 128 5.6 A estrutura de seleção múltipla switch 130 5.7 Estudo de caso da classe AutoPolicy: Strings em instruções switch 134 5.8 Instruções break e continue 137 5.9 Operadores lógicos 138 5.10 Resumo de programação estruturada 143 5.11 (Opcional) Estudo de caso de GUIs e imagens gráficas: desenhando retângulos e ovais 147 5.12 Conclusão 149 6 Métodos: um exame mais profundo 157 6.1 Introdução 158 6.2 Módulos de programa em Java 158 6.3 Métodos static, campos static e classe Math 160 6.4 Declarando métodos com múltiplos parâmetros 161 6.5 Notas sobre a declaração e utilização de métodos 164 6.6 Pilhas de chamadas de método e quadros de pilha 165 6.7 Promoção e coerção de argumentos 165 6.8 Pacotes de Java API 166 6.9 Estudo de caso: geração segura de números aleatórios 167 6.10 Estudo de caso: um jogo de azar; apresentando tipos enum 171 6.11 Escopo das declarações 175 6.12 Sobrecarga de método 176 6.13 (Opcional) Estudo de caso de GUIs e imagens gráficas: cores e formas preenchidas 178 6.14 Conclusão 181 7 Arrays e ArrayLists 191 7.1 Introdução 192 7.2 Arrays 192 7.3 Declarando e criando arrays 194 7.4 Exemplos que utilizam arrays 195 7.4.1 Criando e inicializando um array 195 7.4.2 Utilizando um inicializador de array 195 7.4.3 Calculando os valores para armazenar em um array 196 7.4.4 Somando os elementos de um array 197 7.4.5 Utilizando gráficos de barras para exibir dados de array graficamente 198 7.4.6 Utilizando os elementos de um array como contadores 199 7.4.7 Utilizando os arrays para analisar resultados de pesquisas 200 7.5 Tratamento de exceções: processando a resposta incorreta 201 7.5.1 A instrução try 202 7.5.2 Executando o bloco catch 202 7.5.3 O método toString do parâmetro de exceção 202 7.6 Estudo de caso: simulação de embaralhamento e distribuição de cartas 202 0jhtp.indb 9 07/07/2016 15:18:00

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.