Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login

Guia de Referência Linguagem Java

Neste Guia de Referência você encontrará todo o conteúdo que precisa para começar a programar com a linguagem Java, a sua caixa de ferramentas base para criar aplicações com Java.

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (33)  (0)

Introdução ao Java

Todo bom programador precisa ter uma ampla “caixa de ferramentas”. Quanto mais opções você tiver nessa “caixa”, mais fácil e com mais maturidade você conseguirá criar soluções confiáveis, eficientes e fáceis de manter e evoluir. Quando lidamos com Java, a caixa de ferramentas base é a linguagem Java. Portanto, aprender sobre ela é o primeiro passo. Acompanhá-lo nesta etapa é o objetivo dos cursos abaixo:

Caso você tenha começado a programar com C/C++ e agora está começando a aprender Java, acesse o seguinte post:

Além desses, você também pode utilizar os seguintes posts para ter o primeiro contato com a linguagem Java:

Recursos básicos do Java

A linguagem Java possui uma série de recursos que precisam ser compreendidos pelo programador para dar os primeiros passos de maneira mais consistente. Alguns deles são apresentados a seguir:

Entrada e saída de dados

Saber apresentar dados na tela e ler dados do teclado é um passo fundamental no aprendizado da programação. Lembre-se que o principal objetivo de um programa é processar os dados do usuário e exibir os resultados. Para isso temos os recursos de Entrada/Saída, ou In/Out da linguagem. Aprenda sobre eles nos posts abaixo:

Strings

A manipulação de texto é algo bastante comum no desenvolvimento de aplicações. Em Java, a estrutura principal para isso é a classe String, que nos fornece vários métodos para sua manipulação. Nos posts abaixo você encontrará conteúdos que abordam desde os métodos básicos, até outras opções para que possa manipular texto da maneira mais adequada para sua solução.

Além da classe String, temos também as classes StringBuilder e StringBuffer. Para aprender sobre elas e as diferenças em relação à String, acesse:

Estruturas de condição e repetição no Java

Conhecidos os recursos básicos, duas ferramentas importantes e presentes na lógica de programação de qualquer código são as estruturas de condição e repetição (Figura 1). A estrutura de condição nos permite criar um bloco código a ser executado apenas se determinada condição for atendida. Já a estrutura de repetição nos permite criar um bloco de código que pode ser executado várias vezes, enquanto a condição especificada for verdadeira.

Estruturas de condição e repetição
Figura 1. Estruturas de condição e repetição

Aprenda sobre sobre essas estruturas nos posts abaixo:

Módulos do código Java

Saber como organizar o código é fundamental para sua manutenção e reutilização. Em Java, o código é organizado em pacotes, classes e métodos. Dominado esses conceitos, e utilizando modificadores de acesso, podemos controlar como cada classe ou método poderá ser reaproveitado pelos demais. Para aprender sobre isso, acesse o conteúdo abaixo:

Estrutura de Dados

Ao começar a desenvolver sistemas um pouco mais avançados, você se deparará com a necessidade de organizar os dados que são manipulados no código. Para isso, é comum o uso de estruturas de dados, que, como o nome indica, fornecem uma estrutura padrão para agrupar e simplificar a gerência de dados com características em comum. Os links abaixo trazem um conteúdo que possibilitará um detalhamento sobre esse tema:

Tratamento de exceções

É comum a ocorrência de exceções durante a execução de um programa. O que não é comum é não nos prepararmos para elas. Uma exceção é um evento diferente daquilo que normalmente o software espera que aconteça. Quando não tratamos exceções, o software fica sem saber o que fazer com ela e como continuar sua execução, o que normalmente leva à paralisação do sistema. Para aprender a tratar exceções, acesse:

Serialização e fluxo de dados

Logo você poderá se perguntar: Como salvar os dados que utilizo em minha aplicação para que consiga utilizá-los posteriormente? A resposta é simples: Serialização. Quando serializamos um objeto, estamos o transformando em um array de bytes, formato utilizado para salvar arquivos, como mostra a Figura 2.

Serialização e desserialização em Java
Figura 2. Serialização e desserialização em Java

Os artigos abaixo o ensinarão a fazer isso:

Agora, se você deseja aprender como salvar os dados em um banco de dados, calma, vamos chegar lá… :)

Sockets

Caso seu interesse seja aprender como enviar e receber dados e arquivos pela rede, saber programar com Sockets é fundamental. Compreender sockets é a primeira etapa para iniciar na programação distribuída. Para dominar esse assunto, acesse:

Threads

Com a multiplicação do número de núcleos presentes em um processador, saber como programar com threads é algo de grande relevância para fornecer sistemas com alto desempenho, que explorem ao máximo o poder computacional de servidores e desktops. Aprenda sobre esse assunto com os links abaixo:

Outros recursos básicos

Você estava pensando que a linguagem Java é só isso? Estruturas de condição, repetição, exceções, arquivos …? Chegou a hora do: “Agora a coisa ficou séria!” :) Para possibilitar a programação de sistemas com um código mais limpo, com recursos que simplifiquem o reuso e agilize o desenvolvimento, ferramentas mais avançadas foram criadas. Sobre elas, separamos os links a seguir:

Generics

Generics é uma importante funcionalidade da linguagem Java que foi criada para facilitar o reuso do código e tornar a implementação mais segura e menos propensa a erros. Generics são bastante utilizados quando lidamos com coleções, por exemplo, e sua declaração é feita com os caracteres ‘<>’.

Assim, quando declaramos uma lista, podemos especificar que essa lista somente poderá receber objetos de um tipo. Com isso, caso o programador tente inserir um objeto de tipo diferente, o erro será identificado em tempo de compilação, e não mais em tempo de execução. Para aprender sobre Generics, acesse:

Collections

Neste momento é bem provável que você já tenha tido o primeiro contato com as coleções, afinal, uma coleção é uma estrutura de dados. Mas, por que só agora falar delas? É importante compreender os fundamentos por trás de um conceito antes de começar a utilizar algo mais avançado, com um nível mais alto de abstração.

De forma simples, uma coleção é uma lista de objetos. Como quando lidamos com dados é comum nos depararmos com diferentes necessidades de organização dos mesmos, o Java facilita esse trabalho nos fornecendo diferentes opções para mantê-los - de listas que se precupam apenas em armazenar os dados em memória, a listas que evitam dados repetidos e os mantém ordenados.

Nos links abaixo você aprenderá como e quando adotar cada uma:

Reflection

O Java também dispõe de um recurso conhecido como Reflection. Com ele podemos obter os atributos e métodos de uma classe em tempo de execução, chamar esses métodos, entre outras opções, o que nos permite, por exemplo, estender determinadas funcionalidades.

Esse é um poderoso recurso do Java que é bastante utilizado por IDEs e no desenvolvimento de frameworks. Para aprender a respeito, acesse:

Streams

Com o intuito de aprimorar a forma como manipulamos coleções de dados, o Java 8 trouxe a Streams API, conjunto de classes e interfaces que faz uso de conceitos da programação funcional e das expressões lambda para que escrevamos código mais claro e em menor quantidade.

Para isso, obtemos uma stream, a partir de uma coleção, por exemplo, e, sem nos preocuparmos com a forma como os dados serão percorridos, programamos algum tipo de processamento sobre os dados, como filtros, mapeamentos, entre outros, já fornecidos pela API.

Para aprender mais sobre esse assunto:

Expressões Lambda

Um dos recursos mais jovens da linguagem Java agrega um toque de programação funcional a ela. Uma definição simples e um pouco abstrata é entender que uma expressão lambda é uma opção para programar uma função sem que para isso seja necessário declarar um nome e um tipo de retorno. Em geral, a expressão lambda é declarada no mesmo lugar em que será utilizada e possibilita um código menor e mais simples de manter. Para se aprofundar nesse assunto:

Máquina Virtual Java

Na máquina virtual Java, ou JVM, é onde a sua aplicação será executada. É ela, também, a responsável pela característica multiplataforma do Java. Um programa escrito nessa linguagem será executado em qualquer plataforma que possua uma máquina virtual Java implementada.

Algumas vezes, a depender da proposta de sua aplicação, pode ser necessário fazer customizações na JVM visando melhoria na performance. Para aprender sobre isso, acesse:

Um dos recursos mais conhecidos da JVM é o Garbage Collection. É ele que é acionado com certa frequência para limpar da memória objetos que não estão sendo utilizados, evitando desperdício de espaço e que sua aplicação deixe de funcionar por falta dela. Para se aprofundar neste assunto preparamos os seguintes artigos:

Documentação

Nesta seção você encontrará documentações criadas com o intuito de apresentar conceitos e recursos fundamentais da linguagem Java. Utilize esse material para consulta rápida:

Boas práticas

O aprendizado da linguagem Java precisa ser constante. Somente programando você conseguirá implementar códigos melhores. Os links abaixo te ajudarão a enriquecer esse conhecimento e agregar valor e qualidade às suas soluções:

Ao prosseguir com a busca pelo código de qualidade, em algum momento você se deparará com o termo Clean Code. Mas, o que é isso? O Clean Code, ou Código Limpo, reúne uma série de práticas a serem aplicadas para obter um código fácil de compreender e evoluir.

A qualidade do código também influencia na performance. Para conhecer algumas opções que te ajudarão a aprimorar o desempenho de suas aplicações, acesse:

Próximos passos

Você chegou até aqui e continua programando em Java de forma estruturada, não é mesmo? Está na hora de mudar de paradigma. Lembre-se que a linguagem Java tem como um dos seus pilares a Orientação a Objetos. Para aprender sobre Orientação a Objetos em Java, acesse o Guia de Referência:

Caminho longo, mas com cada passo muito bem planejado, não é mesmo? Lembra que falamos sobre persistência de dados em outro momento? Pois bem, chegou a hora de avançar mais um pouco no desenvolvimento de sistemas Java. Está na hora de começar a persistir e acessar informações em banco de dados. Acesse o Guia de Referência Persistência de dados em Java para continuar seus estudos:

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Ajude-nos a evoluir: você gostou do post?  (33)  (0)

Para avaliar você precisa ser um assinante MVP :)

Ficou com alguma dúvida?