Programação Java: Livro: Java Como Programar 8ª Ed. 2010, HARVEY M. DEITEL & PAUL J. DEITEL

Linguagem Java , Programação Java, Java Curso gratis.

Qual o melhor livro de Java
O Java Oracle vai analisar agora um dos livros mais importantes sobre Java, o livro: Java Como Programar, 8ª Ed, criado por Paul Deitel e Harvey Deitel.

Este livro é, sem dúvida, é um dos melhores e mais famosos livros de Java para iniciantes.

Estudar esse livro é garantia que você irá aprender Java como poucos. Em nossa opinião, esse é o melhor e mais completo livro sobre Java no mercado.

Garanta já seu Livro!


O livro  Java Como Programar 8ª Ed. 2010 é bom?

Características:

Não perca tempo! Clique e obtenha já esse livro: 

<p>
  <span style="color: black; font-size: large;"> Java Como Programar 8ª Ed. 2010, Deitel Prentice Hall Br </span>
</p>

<h2>
  <span style="font-size: x-large;">Índice de assuntos que você irá encontrar no <span style="color: red;">Java: Como Programar HARVEY M. DEITEL & PAUL J. DEITEL</span></span>
</h2>

<p>
  Prefácio XV<br />Antes de começar XXXIII
</p>

<h3>
  <b>1 Introdução aos computadores, à Internet e à World Wide Web 1</b> 
</h3>

<p>
  1.1 Introdução 2<br />1.2 O que é um computador? 3<br />1.3 Organização do computador 3<br />1.4 Primeiros sistemas operacionais 4<br />1.5 Computação pessoal, distribuída e cliente/servidor 4<br />1.6 Internet e World Wide Web 5<br />1.7 Linguagens de máquina, linguagens assembly e linguagens de alto nível 5<br />1.8 História do C e do C++ 6<br />1.9 História do Java 6<br />1.10 Bibliotecas de classe do Java 7<br />1.11 FORTRAN, COBOL, Pascal e Ada 7<br />1.12 BASIC, Visual Basic, Visual C++, C# e .NET 8<br />1.13 Ambiente de desenvolvimento Java típico 8<br />1.14 Notas sobre o Java e este livro 11<br />1.15 Test-drive de um aplicativo Java 11<br />1.16 Estudo de caso de engenharia de software: Introdução à tecnologia de objetos e UML (obrigatório) 14<br />1.17 Conclusão 17<br />1.18 Recursos da Web 18
</p>

<p>
</p>

<h3>
  <b>2 Introdução aos aplicativos Java 24</b> 
</h3>

<p>
  2.1 Introdução 25<br />2.2 Primeiro programa Java: imprimindo uma linha de texto 25<br />2.3 Modificando nosso primeiro programa Java 30<br />2.4 Exibindo texto com printf 31<br />2.5 Outros aplicativos Java: adicionando inteiros 32<br />2.6 Conceitos de memória 36<br />2.7 Aritmética 36<br />2.8 Tomada de decisão: operadores de igualdade e operadores relacionais 39<br />2.9 (Opcional) Estudo de caso de engenharia de software: Examinando o documento de requisitos 42<br />2.10 Conclusão 48
</p>

<p>
</p>

<h3>
  <b>3 Introdução a classes e objetos 57 </b>
</h3>

<p>
  3.1 Introdução 58<br />3.2 Classes, objetos, métodos e variáveis de instância 58<br />3.3 Declarando uma classe com um método e instanciando um objeto de uma classe 59<br />3.4 Declarando um método com um parâmetro 62<br />3.5 Variáveis de instância, métodos set e get 64<br />3.6 Tipos primitivos versus tipos por referência 68<br />3.7 Inicializando objetos com construtores 68<br />3.8 Números de ponto flutuante e tipo double 70<br />3.9 (Opcional) Estudo de caso de GUIs e imagens gráficas: Utilizando caixas de diálogo 74<br />3.10 (Opcional) Estudo de caso de engenharia de software: Identificando classes em um documento de requisitos 76<br />3.11 Conclusão 81
</p>

<p>
</p>

<h3>
  <b>4 Instruções de controle: parte 1 86 </b>
</h3>

<p>
  4.1 Introdução 87<br />4.2 Algoritmos 87<br />4.3 Pseudocódigo 87<br />4.4 Estruturas de controle 88<br />4.5 A instrução de uma única seleção if 89<br />4.6 A instrução de seleção dupla if…else 90<br />4.7 A instrução de repetição while 93<br />4.8 Formulando algoritmos: repetição controlada por contador 94<br />4.9 Formulando algoritmos: repetição controlada por sentinela 98<br />4.10 Formulando algoritmos: instruções de controle aninhadas 104<br />4.11 Operadores de atribuição compostos 108<br />4.12 Operadores de incremento e decremento 108<br />4.13 Tipos primitivos 110<br />4.14 (Opcional) Estudo de caso de GUIs e imagens gráficas: Criando desenhos simples 111<br />4.15 (Opcional) Estudo de caso de engenharia de software: Identificando atributos de classe 114<br />4.16 Conclusão 117
</p>

<p>
</p>

<h3>
  <b>5 Instruções de controle: parte 2 126 </b>
</h3>

<p>
  5.1 Introdução 127<br />5.2 Princípios básicos de repetição controlada por contador 127<br />5.3 A instrução de repetição for 128<br />5.4 Exemplos com a estrutura for 131<br />5.5 A estrutura de repetição do…while 135<br />5.6 A estrutura de seleção múltipla switch 136<br />5.7 Instruções break e continue 142<br />5.8 Operadores lógicos 143<br />5.9 Resumo de programação estruturada 147<br />5.10 (Opcional) Estudo de caso de GUIs e imagens gráficas: Desenhando retângulos e ovais 151<br />5.11 (Opcional) Estudo de caso de engenharia de software: Identificando estados e atividades dos objetos 153<br />5.12 Conclusão 157
</p>

<p>
</p>

<h3>
  6 Métodos: um exame mais profundo 164 
</h3>

<p>
  6.1 Introdução 165<br />6.2 Módulos de programa em Java 165<br />6.3 Métodos static, campos static e classe Math 166<br />6.4 Declarando métodos com múltiplos parâmetros 168<br />6.5 Notas sobre a declaração e utilização de métodos 171<br />6.6 Pilha de chamadas de método e registros de ativação 172<br />6.7 Promoção e coerção de argumentos 172<br />6.8 Pacotes da API do Java 173<br />6.9 Estudo de caso: Geração de números aleatórios 174<br />6.10 Estudo de caso: Um jogo de azar (introdução a enumerações) 178<br />6.11 Escopo das declarações 181<br />6.12 Sobrecarga de método 184<br />6.13 (Opcional) Estudo de caso de GUIs e imagens gráficas: Cores e formas preenchidas 186<br />6.14 (Opcional) Estudo de caso de engenharia de software: Identificando operações de classe 188<br />6.15 Conclusão 193
</p>

<p>
</p>

<h3>
  <b>7 Arrays 203 </b>
</h3>

<p>
  7.1 Introdução 204<br />7.2 Arrays 204<br />7.3 Declarando e criando arrays 205<br />7.4 Exemplos que utilizam arrays 206<br />7.5 Estudo de caso: Simulação de embaralhamento e distribuição de cartas 213<br />7.6 A estrutura for aprimorada 216<br />VIII Sumário<br />7.7 Passando arrays para métodos 217<br />7.8 Estudo de caso: Classe GradeBook utilizando um array para armazenar notas 219<br />7.9 Arrays multidimensionais 223<br />7.10 Estudo de caso: Classe GradeBook utilizando um array bidimensional 227<br />7.11 Listas de argumentos de comprimento variável 232<br />7.12 Utilizando argumentos de linha de comando 233<br />7.13 (Opcional) Estudo de caso de GUIs e imagens gráficas: Desenhando arcos 235<br />7.14 (Opcional) Estudo de caso de engenharia de software: Colaboração entre objetos 237<br />7.15 Conclusão 242
</p>

<p>
</p>

<h3>
  8 Classes e objetos: um exame mais profundo 256 
</h3>

<p>
  8.1 Introdução 257<br />8.2 Estudo de caso da classe Time 257<br />8.3 Escopo de classe 260<br />8.4 Referenciando membros do objeto atual com a referência this 261<br />8.5 Estudo de caso da classe Time: Construtores sobrecarregados 263<br />8.6 Construtores-padrão e sem argumentos 267<br />8.7 Notas sobre os métodos Set e Get 268<br />8.8 Composição 269<br />8.9 Enumerações 271<br />8.10 Coleta de lixo e o método finalize 273<br />8.11 Membros da classe static 274<br />8.12 Import static 278<br />8.13 Variáveis de instância final 278<br />8.14 Capacidade de reutilização de software 280<br />8.15 Abstração de dados e encapsulamento 281<br />8.16 Estudo de caso da classe Time: Controlando o acesso a membros 282<br />8.17 Acesso de pacote 286<br />8.18 (Opcional) Estudo de caso de GUIs e imagens gráficas: Utilizando objetos com imagens gráficas 286<br />8.19 (Opcional) Estudo de caso de engenharia de software: Começando a programar as classes do sistema ATM 290<br />8.20 Conclusão 294
</p>

<p>
</p>

<h3>
  9 Programação orientada a objetos: herança 300 
</h3>

<p>
  9.1 Introdução 301<br />9.2 Superclasses e subclasses 302<br />9.3 Membros protected 303<br />9.4 Relacionamento entre superclasses e subclasses 303<br />9.5 Construtores em subclasses 323<br />9.6 Engenharia de software com herança 328<br />9.7 Classe Object 329<br />9.8 (Opcional) Estudo de caso de GUIs e imagens gráficas: Exibindo texto e imagens utilizando rótulos 330<br />9.9 Conclusão 332
</p>

<p>
</p>

<h3>
  10 Programação orientada a objetos: polimorfismo 335 
</h3>

<p>
  10.1 Introdução 336<br />10.2 Exemplos de polimorfismo 337<br />10.3 Demonstrando um comportamento polimórfico 338<br />10.4 Classes e métodos abstratos 340<br />10.5 Estudo de caso: Sistema de folha de pagamento utilizando polimorfismo 341<br />10.6 Métodos e classes final 353<br />10.7 Estudo de caso: Criando e utilizando interfaces 353<br />10.8 (Opcional) Estudo de caso de GUIs e imagens gráficas: Desenhando com polimorfismo 363<br />10.9 (Opcional) Estudo de caso de engenharia de software: Incorporando herança ao sistema ATM 364<br />10.10 Conclusão 369
</p>

<p>
</p>

<h3>
  11 Componentes GUI: parte 1 372 
</h3>

<p>
  11.1 Introdução 373<br />11.2 Entrada/saída baseada em GUI simples com JOptionPane 374<br />11.3 Visão geral de componentes Swing 376<br />11.4 Exibição de texto e imagens em uma janela 378<br />11.5 Campos de texto e uma introdução ao tratamento de eventos com classes aninhadas 381<br />11.6 Tipos comuns de eventos GUI e interfaces ouvintes 386<br />11.7 Como o tratamento de evento funciona 388<br />11.8 Jbutton 389<br />11.9 Botões que mantêm o estado 392<br />11.10 JComboBox e utilização de uma classe interna anônima para tratamento de evento 397<br />11.11 Jlist 399<br />11.12 Listas de seleção múltipla 401<br />11.13 Tratamento de evento de mouse 404<br />11.14 Classes adaptadoras 407<br />11.15 Subclasse JPanel para desenhar com o mouse 410<br />11.16 Tratamento de eventos de teclado 413<br />11.17 Gerenciadores de layout 415<br />11.18 Utilizando painéis para gerenciar layouts mais complexos 423<br />11.19 JTextArea 424<br />11.20 Conclusão 427
</p>

<p>
</p>

<h3>
  12 Imagens gráficas e Java 2D™ 437 
</h3>

<p>
  12.1 Introdução 438<br />12.2 Contextos gráficos e objetos gráficos 438<br />12.3 Controle de cor 440<br />12.4 Controle de fonte 445<br />12.5 Desenhando linhas, retângulos e ovais 449<br />12.6 Desenhando arcos 452<br />12.7 Desenhando polígonos e polilinhas 454<br />12.8 API do Java 2D 457<br />12.9 Conclusão 462
</p>

<p>
</p>

<h3>
  13 Tratamento de exceção 469 
</h3>

<p>
  13.1 Introdução 470<br />13.2 Visão geral do tratamento de exceções 471<br />13.3 Exemplo: Divisão por zero sem tratamento de exceções 471<br />13.4 Exemplo: Tratando ArithmeticExceptions e InputMismatchExceptions 473<br />13.5 Quando utilizar o tratamento de exceções 476<br />13.6 Hierarquia de exceções em Java 477<br />13.7 Bloco finally 479<br />13.8 Desempilhamento de pilha 482<br />13.9 printStackTrace, getStackTrace e getMessage 483<br />13.10 Exceções encadeadas 486<br />13.11 Declarando novos tipos de exceção 487<br />13.12 Precondições e pós-condições 488<br />13.13 Assertivas 488<br />13.14 Conclusão 489
</p>

<p>
</p>

<h3>
  14 Arquivos e fluxos 494 
</h3>

<p>
  14.1 Introdução 495<br />14.2 Hierarquia de dados 496<br />14.3 Arquivos e fluxos 497<br />14.4 Classe File 498<br />14.5 Arquivos de texto de acesso seqüencial 501<br />14.6 Serialização de objeto 514<br />X Sumário<br />14.7 Arquivos de acesso aleatório 522<br />14.8 Classes java.io adicionais 539<br />14.9 Abrindo arquivos com JFileChooser 540<br />14.10 Conclusão 543
</p>

<p>
</p>

<h3>
  15 Recursão 551 
</h3>

<p>
  15.1 Introdução 552<br />15.2 Conceitos de recursão 553<br />15.3 Exemplo que utiliza recursão: Fatoriais 553<br />15.4 Exemplo que utiliza recursão: Série de Fibonacci 555<br />15.5 Recursão e a pilha de chamadas do método 557<br />15.6 Recursão versus iteração 558<br />15.7 Permutações de string 560<br />15.8 Torres de Hanói 563<br />15.9 Fractais 565<br />15.10 Retorno recursivo 574<br />15.11 Conclusão 574<br />15.12 Internet e recursos Web 575
</p>

<p>
</p>

<h3>
  16 Pesquisa e classificação 582 
</h3>

<p>
  16.1 Introdução 583<br />16.2 Algoritmos de pesquisa 583<br />16.3 Algoritmos de classificação 591<br />16.4 Invariantes 602<br />16.5 Conclusão 603
</p>

<p>
</p>

<h3>
  17 Estruturas de dados 607 
</h3>

<p>
  17.1 Introdução 608<br />17.2 Classes empacotadoras de tipo para tipos primitivos 608<br />17.3 Autoboxing e auto-unboxing 609<br />17.4 Classes auto-referenciais 609<br />17.5 Alocação dinâmica de memória 610<br />17.6 Listas vinculadas 610<br />17.7 Pilhas 618<br />17.8 Filas 622<br />17.9 Árvores 624<br />17.10 Conclusão 629
</p>

<p>
</p>

<h3>
  18 Genéricos 645 
</h3>

<p>
  18.1 Introdução 646<br />18.2 Motivação para métodos genéricos 646<br />18.3 Métodos genéricos: implementação e tradução em tempo de compilação 648<br />18.4 Questões adicionais da tradução em tempo de compilação: métodos que utilizam um parâmetro de tipo como o tipo<br />de retorno 650<br />18.5 Sobrecarregando métodos genéricos 653<br />18.6 Classes genéricas 653<br />18.7 Tipos brutos 661<br />18.8 Curingas em métodos que aceitam parâmetros de tipo 662<br />18.9 Genéricos e herança: notas 668<br />18.10 Conclusão 668<br />18.11 Internet e recursos da Web 668
</p>

<p>
</p>

<h3>
  19 Coleções 672 
</h3>

<p>
  19.1 Introdução 673<br />19.2 Visão geral das coleções 673<br />19.3 Classe Arrays 674<br />Sumário XI<br />19.4 Interface Collection e classe Collections 676<br />19.5 Listas 677<br />19.6 Algoritmos de coleções 686<br />19.7 Classe Stack do pacote java.util 697<br />19.8 Classe PriorityQueue e Interface Queue 699<br />19.9 Conjuntos 700<br />19.10 Mapas 703<br />19.11 Classe Properties 706<br />19.12 Coleções sincronizadas 709<br />19.13 Coleções não-modificáveis 709<br />19.14 Implementações abstratas 709<br />19.15 Conclusão 710
</p>

<p>
</p>

<h3>
  20 Introdução aos applets Java 715 
</h3>

<p>
  20.1 Introdução 716<br />20.2 Applets de exemplo fornecidas com o JDK 716<br />20.3 Applet Java simples: desenhando uma string 719<br />20.4 Métodos de ciclo de vida de applet 722<br />20.5 Inicializando uma variável de instância com o método init 723<br />20.6 Modelo de segurança da caixa de areia 724<br />20.7 Conclusão 725<br />20.8 Internet e recursos da Web 725
</p>

<p>
</p>

<h3>
  21 Multimídia: applets e aplicativos 728 
</h3>

<p>
  21.1 Introdução 729<br />21.2 Carregando, exibindo e dimensionando imagens 730<br />21.3 Animação de uma série de imagens 732<br />21.4 Mapas de imagem 735<br />21.5 Carregando e reproduzindo clipes de áudio 736<br />21.6 Reproduzindo vídeo e outros tipos de mídia com o Java Media Framework 740<br />21.7 Conclusão 744<br />21.8 Internet e recursos da Web 744
</p>

<p>
</p>

<h3>
  22 Componentes GUI: parte 2 749 
</h3>

<p>
  22.1 Introdução 750<br />22.2 JSlider 750<br />22.3 Windows: notas adicionais 753<br />22.4 Utilizando menus com frames 754<br />22.5 JPopupMenu 760<br />22.6 Aparência e comportamento plugáveis 763<br />22.7 JDesktopPane e JInternalFrame 767<br />22.8 JTabbedPane 770<br />22.9 Gerenciadores de layout: BoxLayout e GridBagLayout 771<br />22.10 Conclusão 782
</p>

<p>
</p>

<h3>
  23 Multithreading 786 
</h3>

<p>
  23.1 Introdução 787<br />23.2 Estados de thread: Classe Thread 788<br />23.3 Prioridades de thread e agendamento de thread 789<br />23.4 Criando e executando threads 791<br />23.5 Sincronização de thread 793<br />23.6 Relacionamento entre produtor e consumidor sem sincronização 795<br />23.7 Relacionamento entre produtor e consumidor com sincronização 800<br />23.8 Relacionamento de produtor/consumidor: Buffer circular 805<br />23.9 Relacionamento de produtor/consumidor: ArrayBlockingQueue 811<br />23.10 Multithreading com GUI 813<br />23.11 Outras classes e interfaces em java.util.concurrent 818<br />23.12 Monitores e bloqueios de monitor 818<br />23.13 Conclusão 823
</p>

<p>
</p>

<h3>
  24 Redes 827 
</h3>

<p>
  24.1 Introdução 828<br />24.2 Manipulando URLs 829<br />24.3 Lendo um arquivo em um servidor Web 833<br />24.4 Estabelecendo um servidor simples utilizando sockets de fluxo 836<br />24.5 Estabelecendo um cliente simples utilizando sockets de fluxo 837<br />24.6 Interação cliente/servidor com conexões de socket de fluxo 837<br />24.7 Interação cliente/servidor sem conexão com datagramas 848<br />24.8 Jogo-da-velha cliente/servidor que utiliza um servidor com multithread 854<br />24.9 Segurança e redes 867<br />24.10 Estudo de caso: Servidor e cliente DeitelMessenger 867<br />24.11 Conclusão 888
</p>

<p>
</p>

<h3>
  25 Acesso a bancos de dados com o JDBC 894 
</h3>

<p>
  25.1 Introdução 895<br />25.2 Bancos de dados relacionais 896<br />25.3 Visão geral de banco de dados relacional: o banco de dados books 896<br />25.4 SQL 899<br />25.5 Instruções para instalar o MySQL e o MySQL Conector/J 905<br />25.6 Instruções para a configuração da conta de usuário do MySQL 905<br />25.7 Criando banco de dados books no MySQL 906<br />25.8 Manipulando bancos de dados com o JDBC 906<br />25.9 Procedures armazenadas 919<br />25.10 Interface RowSet 919<br />25.11 Conclusão 922<br />25.12 Internet e recursos da Web 922
</p>

<p>
</p>

<h3>
  26 Servlets 928 
</h3>

<p>
  26.1 Introdução 929<br />26.2 Visão geral e arquitetura de servlets 930<br />26.3 Configurando o servidor Apache Tomcat 933<br />26.4 Tratando solicitações get de HTTP 935<br />26.5 Tratando solicitações get de HTTP contendo dados 941<br />26.6 Tratando solicitações post de HTTP 943<br />26.7 Redirecionando solicitações para outros recursos 946<br />26.8 Aplicativos de múltiplas camadas: utilizando JDBC a partir de um servlet 949<br />26.9 Arquivos welcome 952<br />26.10 Conclusão 955<br />26.11 Internet e recursos Web 955
</p>

<p>
</p>

<h3>
  27 JavaServer Pages (JSP) 959 
</h3>

<p>
  27.1 Introdução 960<br />27.2 Visão geral das JavaServer Pages 960<br />27.3 Primeiro exemplo de JSP 961<br />27.4 Objetos implícitos 963<br />27.5 Script 964<br />27.6 Ações-padrão 967<br />27.7 Diretivas 977<br />27.8 Estudo de caso: Livro de visitas 980<br />27.9 Conclusão 989<br />27.10 Internet e recursos da Web 989
</p>

<p>
</p>

<h3>
  28 Saída formatada 993 
</h3>

<p>
  28.1 Introdução 994<br />28.2 Fluxos 994<br />28.3 Formatando a saída com printf 994<br />28.4 Imprimindo inteiros 995<br />28.5 Imprimindo números de ponto flutuante 996<br />28.6 Imprimindo strings e caracteres 997<br />28.7 Imprimindo datas e horas 997<br />28.8 Outros caracteres de conversão 999<br />28.9 Imprimindo com larguras e precisões de campos 1000<br />28.10 Utilizando flags na string de formato printf 1001<br />28.11 Imprimindo com índices de argumento 1005<br />28.12 Imprimindo literais e seqüências de escape 1005<br />28.13 Formatar a saída com a classe Formatter 1005<br />28.14 Conclusão 1007
</p>

<p>
</p>

<h3>
  29 Strings, caracteres e expressões regulares 1011 
</h3>

<p>
  29.1 Introdução 1012<br />29.2 Fundamentos de caracteres e strings 1012<br />29.3 Classe String 1013<br />29.4 Classe StringBuffer 1022<br />29.5 Classe Character 1029<br />29.6 Classe StringTokenizer 1032<br />29.7 Expressões regulares, classe Pattern e classe Matcher 1034<br />29.8 Conclusão 1040
</p>

<p>
  A Tabela de precedência de operadores 1048<br />A.1 Precedência de operadores 1048<br />B Conjunto de caracteres ASCII 1050<br />C Palavras-chave e palavras reservadas 1051<br />D Tipos primitivos 1052<br />E (No CD) Sistemas de numeração 1053<br />F (No CD) Unicode® 1054<br />G Utilizando a documentação da API do Java 1055<br />G.1 Introdução 1055<br />G.2 Navegando pela API do Java 1055<br />H (No CD) Criando documentação com o javadoc 1062<br />I (No CD) Manipulação de bit 1063<br />J (No CD) Código para o estudo de caso do ATM 1064<br />K (No CD) Instruções break e continue rotuladas 1065<br />L (No CD) UML 2: Tipos de diagramas adicionais 1066<br />M (No CD) Padrões de projeto 1067<br />N (No CD) Utilizando o depurador 1068
</p>

 <b>Adquirir pelo melhor preço: </b></span>
</div>

<p>
  <span style="color: black; font-size: large;"> Java Como Programar 8ª Ed. 2010, Deitel Prentice Hall Br </span>
</p>

Tags: java, linguagem java