Institucional

  • Sobre nós
  • Trabalhe Conosco
  • Para Empresas
  • Para Escolas
  • Política de Privacidade
  • Compromisso de Integridade
  • Termos de Uso
  • Canal de Ética
  • Código de Ética
  • Fale Conosco
  • Documentos Institucionais
  • Status
Institucional
  • Sobre nós
  • Trabalhe Conosco
  • Para Empresas
  • Para Escolas
  • Política de Privacidade
  • Compromisso de Integridade
  • Termos de Uso
  • Canal de Ética
  • Código de Ética
  • Fale Conosco
  • Documentos Institucionais
  • Status

A Alura

  • Como Funciona
  • Inteligência Artificial
  • Plataforma
  • Depoimentos
  • Instrutores(as)
  • Dev em <T>
  • Luri, a Inteligência Artificial da Alura
  • IA Conference
  • Cursos Imersivos
  • Perguntas Frequentes
A Alura
  • Como Funciona
  • Inteligência Artificial
  • Plataforma
  • Depoimentos
  • Instrutores(as)
  • Dev em <T>
  • Luri, a Inteligência Artificial da Alura
  • IA Conference
  • Cursos Imersivos
  • Perguntas Frequentes

Conteúdos

  • Alura Cases
  • Imersões
  • Artigos
  • Podcasts
  • Artigos de educação corporativa
Conteúdos
  • Alura Cases
  • Imersões
  • Artigos
  • Podcasts
  • Artigos de educação corporativa
Uma Empresa do GrupoLogo Grupo Alun

Outras empresas do Grupo Alun

  • FIAP
  • STARTSE
  • PM3
  • LUMINA

Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

Redes Sociais & Apps

instagram
youtube
tiktok
x
appStore
googlePlay
Uma Empresa do GrupoLogo Grupo Alun

Outras empresas do Grupo Alun

  • FIAP
  • STARTSE
  • PM3
  • LUMINA

Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

Redes Sociais & Apps

instagram
youtube
tiktok
x
appStore
googlePlay
Alura

Até 38% OFF.

Condição válida até 31/07

00HORAS
:
00MIN
:
00SEG
Comece sua evolução
Comece sua evolução
  • Home

    Escolha seu Plano

    • Plus 2438% OFF
    • Pro 2438% OFF
    • Ultra Lab 2438% OFF

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    CURSOS

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    CURSOS

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    CURSOS

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    CURSOS

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    CURSOS

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    CURSOS

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    CURSOS

    Ver mais cursos de Inovação e Gestão
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    CURSOS

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    CARREIRAS

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    CURSOS

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    CURSOS

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    CURSOS

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    • Plus 2438% OFF
    • Pro 2438% OFF
    • Ultra Lab 2438% OFF

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    • Plus 2438% OFF
    • Pro 2438% OFF
    • Ultra Lab 2438% OFF

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA
  • Artigos
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Carreiras

    Ver todas
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA
    Entrar Ver Planos
  • Área de Interesse

    Entrar Ver Planos
  • Aulas ao Vivo - Skills & Go

    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA
    Entrar Ver Planos
  • Senioridade

    Entrar Ver Planos
  • Eventos Alura

    • IA Conference
    • Alura Signals
    Entrar Ver Planos
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Artigos
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • Plano Pro 24
    • Plano Plus 24
    • Plano Ultra Lab 24
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Back-end
    3. Java: o que é, linguagem e um Guia para iniciar na tecnologia

    Java: o que é, linguagem e um Guia para iniciar na tecnologia

    26 min26 minutos de leitura

    26 min26 minutos de leitura

    Publicado: 10/01/2023

    Última atualização: 7 dias atrás

    1. Introdução
    2. O que é Java?
    3. Um pouco de História
    4. Tecnologia Java
    5. O Java é gratuito?
    6. Como utilizar a Plataforma Java
    7. A Linguagem Java
    8. Sintaxe da Linguagem Java
    9. Android & IoT
    10. Java e Orientação a Objetos
    11. Ferramentas
    12. Certificações
    13. Os melhores livros de tecnologia para ler e se aprofundar
    14. Comunidade
    15. Aprenda mais sobre Java gratuitamente
    16. Portfólio e Carreira em Tecnologia
    17. Conclusão

    Introdução

    O Java é uma das plataformas mais utilizadas para o desenvolvimento de aplicações ao redor do mundo. Além da plataforma, segundo dados da Pesquisa “Tecnologias mais populares de 2022”, realizada pelo StackOverflow, a linguagem Java figura como a 6ª mais utilizada por pessoas desenvolvedoras, correspondendo a 33% do total pesquisado.

    Gráfico de barras com o percentual de utilização de cada linguagem de programação, destacando o Java em 6º lugar na pesquisa realizada pela plataforma StackOverflow em 2022.

    Créditos: “2022 Most popular technologies”, StackOverflow

    Quem está iniciando com essa tecnologia pode encontrar alguma dificuldade para compreender a “quantidade de código” que é necessária para escrever uma mensagem como o famoso “Olá, mundo!”. Mas, não criemos pânico! O Java não é um bicho de 7 cabeças e com este artigo vamos lhe mostrar isso!

    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    O que é Java?

    O Java, como plataforma de programação, nasceu no ano de 1995 dentro dos laboratórios da empresa Sun Microsystem como resultado de uma extensa pesquisa científica e tecnológica. A plataforma Java entrega um ambiente completo para o desenvolvimento e execução de programas, sendo composta por:

    • Uma linguagem de programação de alto nível orientada a objetos;
    • Máquina Virtual (Java Virtual Machine ou JVM), que garante independência de plataforma, pois o código executa na máquina virtual e essa pode ser portada para outras plataformas como Windows ou Linux;
    • Java Runtime Environment ou JRE, que agrega a máquina virtual e alguns recursos para a execução de aplicações Java; e
    • Java Development Kit ou JDK, que é um conjunto de utilitários que oferece suporte ao desenvolvimento de aplicações.

    No Java, os programas são escritos em um arquivo com a extensão .java, que em um processo posterior serão compilados para arquivos com a extensão .class. Esses, por sua vez, contêm os códigos a serem executados na máquina virtual, os bytecodes.

    A imagem mostra, de forma resumida, o processo de compilação de um arquivo MyProgram.java para um MyProgram.class, seguindo para uma máquina virtual JVM até a sua execução em um computador.

    A JVM está disponível para a maioria dos sistemas operacionais do mercado, sendo assim conseguimos rodar a mesma aplicação Java no Windows, macOS, Linux, Solaris, entre outros. Essa funcionalidade implementa um dos conceitos que nasceram forte com o Java:

    • “escreva uma vez e execute em qualquer lugar!”

    O que é o Java? #HipstersPontoTube

    https://www.youtube.com/watch?v=90NcVNsKGik

    Um pouco de História

    No longínquo ano de 1991, iniciou-se o desenvolvimento do que viria a se tornar a plataforma Java como uma parte do programa Green, que agrupava projetos que tinham como objetivo estabelecer a nova geração de softwares inteligentes para dispositivos eletrônicos, como televisores, videocassetes, torradeiras e demais utensílios, para que esses pudessem se comunicar com outros do mesmo tipo e também com computadores.

    Para alcançar esse objetivo, foi decidida a criação de uma plataforma que fosse portável entre diferentes tipos de equipamentos. A linguagem a ser adotada foi o C + + devido a experiência dos desenvolvedores do projeto, porém, observou-se que essa linguagem não permitia realizar de maneira fácil tudo o que eles esperavam.

    Neste momento, um dos líderes do projeto, James Gosling, propôs criar uma nova linguagem que pudesse atender aos requisitos esperados para o projeto e que fosse o mais simples possível. Assim, surge a linguagem Oak (em tradução livre, “Carvalho”), por ser um tipo de árvore que nascia nos arredores do escritório de Gosling. Junto à nova linguagem foi desenvolvido o sistema Green OS.

    Nos idos de 1993, a equipe da Sun Microsystem finalizou um protótipo de dispositivo que ficou conhecido como Star 7, ou simplesmente 7, um PDA (Personal Digital Assistant) que utilizava a nova linguagem. Então, surge a oportunidade de participação de uma concorrência pública para a criação de tecnologia interativa que fosse compatível para TV a cabo, que foi vencida pela Silicon Graphics.

    OK, mas e o Java? Por problemas com copyright, no ano de 1994, foi necessário trocar o nome de Oak para o seu nome definitivo: Java. Impulsionados pelo crescimento da internet, os desenvolvedores Patrick Naughton e Jonathan Payne criaram o WebRunner, um programa para o navegador com a capacidade de download e execução de código Java.

    Em 1995, no evento conhecido como SunWorl’95, a Sun apresenta ao mundo o navegador HotJava e a linguagem Java, que empolgou a comunidade de tecnologia da época. No ano seguinte, a gigante NetScape Corp lança a versão 2 do seu famoso navegador, o Navigator, que incorpora a funcionalidade de executar aplicações Java conhecidas como applets.

    Com a chegada do ano de 1996, a Sun, em uma ação até então inédita, liberou de forma gratuita para a comunidade de software um conjunto de ferramentas para desenvolvimento usando a linguagem Java. Esse conjunto foi o conhecido JDK 1.02, que tinha como foco a plataforma Sun Solaris e o Windows 95/NT.

    Um detalhe importante: a Sun liberou o Java e as ferramentas, mas continuou detentora dos direitos até 2009, quando a empresa foi comprada pela Oracle que continuou com a evolução da linguagem e da plataforma. Mas a aquisição da Sun não gerou impacto para os desenvolvedores Java, pois a linguagem continua gratuita e opera sob a licença GNU.

    Abaixo você pode conferir uma linha do tempo com as versões e as novidades implementadas no Java no decorrer dos anos desde o seu lançamento:

    Linha do tempo com as versões e melhorias e/ou novidades implementadas no Java no decorrer dos anos.

    Você pode conferir a versão acessível da linha do tempo no GitHub.

    Vale a pena destacar também que o Java, em sua evolução, parou de nomear as versões a partir do Java 8, e seu versionamento atualizado é liberado de 6 em 6 meses, adotando as formas Preview e LTS (Long Time Support).

    Ecossistema Java revisitado – Hipsters Ponto Tech #313

    spotify:0Gi0MlOlG4qmNfUFBr9Xh2:episode

    Tecnologia Java

    A plataforma Java é estruturada em um portfólio de produtos para desenvolvimento e execução de aplicações, idealizando que um mesmo programa possa funcionar em diferentes sistemas operacionais e dispositivos. Atualmente a plataforma está dividida em duas grandes áreas:

    • Java Standard Edition ou JavaSE
    • Java Enterprise Edition ou JavaEE

    Java Standard Edition ou JavaSE

    Componente padrão do Java que fornece um ambiente para o desenvolvimento de aplicações de pequeno e médio porte, além de um conjunto de APIs base da plataforma e a JVM padrão.

    Java Enterprise Edition ou JavaEE

    Componente baseado no JavaSE, é focado no desenvolvimento de aplicações empresariais multicamadas de grande porte e provê serviços adicionais, ferramentas e APIs para simplificar a criação de aplicações complexas.

    Java é lento? JIT e Otimizações na Java Virtual Machine | #AluraMais

    https://www.youtube.com/watch?v=rrhO_P0IM3s

    O Java é gratuito?

    Desde o seu lançamento oficial em 1996 até as suas mais recentes versões, o Java sofreu evoluções e melhorias que o permitiram se manter como uma plataforma e linguagem competitiva, o que explica sua grande popularidade.

    Mas uma dúvida muito comum, principalmente para quem está iniciando, é a seguinte: o Java é gratuito? Uma pergunta pertinente, uma vez que a gigante de tecnologia Oracle comprou a Sun e a plataforma Java.

    A resposta para essa pergunta encontramos no site da Oracle. O Java é gratuito para estudo e testes, porém, para uso comercial e suporte você deverá desembolsar um valor para licenciamentos. Mas, e agora?

    Kit de Ferramentas Java: OpenJDK

    Hoje existe também uma versão totalmente gratuita do Java e de suas ferramentas que é mantida pela comunidade, contando também com o apoio da Oracle. Trata-se do OpenJDK, que é o kit de ferramentas para o desenvolvimento Java. Ele existe desde 2006, porém, desde a compra do Java pela Oracle, o kit passou a ganhar ainda mais força.

    Qual a diferença entre o Java Oracle e o OpenJDK?

    Mas, então, existe diferença? O Java Oracle é desenvolvido com base no código oficial do projeto Open e permite uso completo e comercial, sendo diferenciado pelo suporte e a forma de licenciamento, mas tecnicamente ambas as versões são o mesmo Java.

    Para saber mais sobre os custos do Java Oracle acesse a página da Oracle.

    Saiba Mais: Java, Oracle e Cloud

    Java, Oracle e Cloud – Hipsters Ponto Tech #279

    spotify:3SqSrNuM7yaDWxT6SF0i5z:episode

    Como utilizar a Plataforma Java

    O Java como plataforma de computação é muito utilizado, pois existe um grande número de aplicações para computador, sites e aplicativos que dependem do Java para funcionar. Por isso, é muito comum a pergunta: “Eu preciso do Java no meu computador?”.

    Para executar as aplicações Java no nosso computador é necessária a instalação do ambiente de execução do Java ou JRE. Ela é uma camada de aplicação e é instalada no sistema operacional, fornecendo a biblioteca de classes e os recursos necessários para a execução do código Java pela JVM.

    Como exemplo de aplicações que precisam do Java para funcionar, temos o aplicativo do Imposto de Renda de Pessoa Física (IRPF), utilizado pelo Ministério da Fazenda do Brasil. Aliás, muitos aplicativos oficiais do governo brasileiro foram desenvolvidos com o Java, como os utilizados para a Declaração do Imposto de Renda Retido na Fonte (DIRF) e a Relação Anual de Informações Sociais (GDRAIS).

    Para configurar o Java em seu computador, executar aplicativos e componentes criados em Java, você pode baixar a JRE na página oficial da plataforma e efetuar a instalação para o sistema operacional de sua escolha.

    • Visualização da instalação no Windows:
    Menu do site oficial do Java com opções de download, notas de instrução e informações adicionais para instalação do Java no sistema operacional Windows. Entre as opções ofertadas, são exibidos os downloads para Windows Online, Windows Offline e Windows Offline (64-bit).

    Créditos: Oracle

    • Visualização da instalação no Mac OS X:
    Menu do site oficial do Java com uma opção de download, notas de instrução e informações adicionais para instalação do Java no sistema operacional Mac OS X. O download oferecido contempla o sistema Mac OS X na versão 10.7.3 e versões superiores.

    Créditos: Oracle

    • Neste processo de instalação e configuração do Java em seu computador, você pode optar também pela instalação da versão Open:
    Página da OpenJDK em sua versão 19, exibindo informações gerais sobre a documentação, instalação em diferentes sistemas operacionais, instruções de feedback e eventuais restrições de uso internacional.

    Créditos: Oracle

    A Linguagem Java

    O Java, como linguagem de programação, possui algumas características que o destacam das demais linguagens e lhe conferem a popularidade que tem hoje. Vamos elencar abaixo as principais:

    Independência de plataforma

    Os programas escritos em Java não são compilados para uma plataforma específica como Windows, Linux ou Mac; eles são transformados para uma linguagem intermediária, chamada de bytecodes, que é interpretada para uma máquina virtual, e essa sim possui uma versão para os principais sistemas operacionais de mercado.

    Orientação a Objetos

    O Java é uma linguagem orientada a objetos, que é uma forma de programar que possibilita trabalharmos abstração, encapsulamento de código e herança, o que lhe confere também uma curva de aprendizagem bem suave.

    Não usa ponteiros

    Diferentemente de algumas linguagens de programação, o Java torna transparente o uso de ponteiros, pois não permite o acesso direto à memória do computador e o programador não precisa se preocupar em gerenciar os objetos na memória. A plataforma Java traz o coletor de lixo, que se encarrega de limpar a memória de objetos não referenciados.

    Multithread

    A plataforma permite a execução concorrente de várias rotinas de uma aplicação, o que possibilita a construção de aplicações Java robustas e modernas.

    Performance

    Desde o início, o Java foi pensado com foco em ser compacto, independente de plataforma e para funcionar em rede. Na utilização da JVM, durante a evolução da plataforma, foi incorporado o JIT (Just In Time), que converte os bytecodes em código nativo, o que trouxe ainda mais performance em sua utilização.

    Segurança

    Pensando na implementação de aplicações em redes, o Java entrega uma boa solução para segurança das aplicações nele desenvolvidas. Há possibilidade de se especificar o nível de segurança ou determinar que aplicativos como applets sejam seguros ou não.

    Além dessas características, a linguagem Java é bastante robusta e permite o trabalho com tipos numéricos, como inteiro ou ponto flutuante, de acordo com padrões internacionais, além de implementar e incentivar o controle de erros pela aplicação. A Sintaxe da linguagem também é bem simples, o que explica em parte como ela se tornou uma das linguagens orientadas a objetos mais populares do mundo.

    Tire proveito dos recursos da Linguagem Java

    https://www.youtube.com/watch?v=QVMEMpiqAZY

    Sintaxe da Linguagem Java

    Que tal conhecer um pouco mais sobre a linguagem Java? Para isso, vamos falar um pouco sobre a sua sintaxe.

    Para criarmos um programa, podemos dividir o nosso código fonte em diversos arquivos com extensão .java, também conhecidos como unidades de compilação. Usando um editor de códigos, vamos definir o código fonte em Java (.java) para exibir uma mensagem em console, que será compilada em um .class para ser interpretada pela nossa JVM.

    Abaixo temos um exemplo de um código Java para exibir uma mensagem:

    class Hello {
        public static void main(String[] args) {
           System.out.println("Olá, Mundo! Sou o Java.");
        }
    }
    

    Uma aplicação básica Java deve ter o método main, que serve como uma porta de entrada para a execução da aplicação, e é a partir dela que será criado o processo a ser executado pelo processador.

    Para começar a escrever o código Java, é necessário utilizar um editor de texto para salvar pos arquivos .java e o JDK para realizar a compilação com o utilitário javac.

    Para o código que exemplificamos acima, utilizamos o VS Code na plataforma Windows. Você pode conferir mais informações sobre como utilizar o Java no VS Code no nosso super artigo Desenvolvendo aplicações Java com o VS Code.

    Para gerar os bytecodes, navegamos pelo console até o diretório onde se encontra o arquivo com a extensão .java e executamos o comando abaixo:

    javac Hello.java
    

    Um fato importante do Java é que ela é uma linguagem case-sensitive, ou seja, ela faz uma distinção entre letras minúsculas e maiúsculas, como em classe e Classe. Ela também é uma linguagem definida como fortemente tipada, então, na utilização de variáveis e objetos, devemos fornecer um tipo para ele.

    Por exemplo: queremos definir um espaço na memória que iremos nomear como “valor”, sendo que esse recebe 100, que é do tipo inteiro, então escreveremos da seguinte forma:

    int valor = 100;
    System.out.println(valor); // exibe a mensagem no terminal
    

    Na linguagem Java, temos os tipos de dados primitivos (o mesmo que existe em outras linguagens), apresentados de forma sucinta na tabela abaixo, e os tipos complexos (classes), que são definidos por nós.

    CategoriaTipo
    Inteirobyte, short, int, long
    Realfloat, double
    Caracterchar
    Lógicaboolean

    Os tipos complexos, as chamadas classes, são aqueles tipos criados pela pessoa programadora para a resolução de algum problema e que irão representar alguma ideia ou conceito do mundo real, que são a base do paradigma de programação orientada a objetos.

    Para se aprofundar sobre a sintaxe do Java e entender mais fundamentos da linguagem, recomendamos que você acesse:

    • Tech Guide Java - Fundamentos

    Como desenvolver Boas Práticas de Programação?

    https://www.youtube.com/watch?v=GUanHEGlje4

    Android & IoT

    Java e Android

    O Java, desde a sua criação, oferece recursos e suporte para o desenvolvimento de aplicativos móveis. Ele já teve a plataforma JavaME (Java Micro Edition), que foi descontinuada no decorrer dos anos, mas atualmente ainda configura como a principal linguagem de desenvolvimento para o sistema operacional Android.

    Então, se o seu objetivo é trabalhar com o desenvolvimento de aplicativos, o Java é uma ótima opção para estudos, fornecendo ferramentas para escrita de código, depuração e teste.

    Flutter e Java no Serpro – Hipsters On The Road #59

    spotify:4y26FYrnrqDABZEkHbnQCG:episode

    Java e IoT

    A área de Internet das Coisas (IoT), na atualidade, é uma das mais estudadas e é alvo de várias gigantes da indústria de tecnologia. O conceito de IoT é permitir a comunicação entre hardwares (coisas) e pessoas em diversas plataformas (sistemas operacionais).

    Nesse contexto, já existem maneiras de rodar aplicações Java em placas arduino, uma das principais plataformas para desenvolvimento de projetos eletrônicos com base em hardware e software. Além disso, o mais interessante é que todos os arquivos e design de projetos arduinos estão disponíveis de forma gratuita pela Creative Commons Attribution Share-Alike License.

    Para que uma aplicação Java possa se comunicar com placas arduino, podemos recorrer à biblioteca Javino, que possui uma biblioteca para Java e outra para Arduino. Ela foi desenvolvida pelos professores Carlos Pantoja e Nilson Lazarin, do Cefet-RJ, com base na pesquisa A Robotic-agent Platform for Embedding Software Agents Using Raspberry Pi and Arduino Boards.

    No topo da imagem, há uma junção do prefixo de Java (em vermelho) e do sufixo de Arduíno (em verde), formando o nome da biblioteca “Javino”. Abaixo, um ícone representando uma placa de hardware.

    A utilização do Java em projetos de IoT casa muito bem com a proposta inicial da plataforma, que era permitir que equipamentos diversos pudessem interagir por meio de um** sistema operacional** e um software aplicativo.

    Java e Orientação a Objetos

    A Orientação a Objetos é um paradigma de programação, mas, afinal, o que isso quer dizer? Um paradigma é um modelo ou estilo de programação que aplicamos na criação de um software.

    Nesse modelo de programação, a ideia é aproximar os conceitos e ideias do mundo real - traduzindo, por exemplo, um carro, uma pessoa ou mesmo uma conta bancária para o mundo virtual - e fazer com que esses conceitos na forma de objetos de software consigam se comunicar e interagir para executar uma funcionalidade para um sistema.

    Esse paradigma nasceu em 1960, na Noruega, com a proposta da criação de sistemas mais confiáveis, flexíveis e de fácil manutenção. Na década seguinte, em 1970, o matemático, biólogo e desenvolvedor Alan Kay criou a primeira linguagem de programação a implementar esse paradigma, o SmallTalk.

    Apesar de ter nascido a tanto tempo, foi com o Java que esse modelo de programação ganhou popularidade e passou a ser adotado em larga escala pela "indústria” de softwares; e aqui existe uma retroalimentação, pois a popularidade do Java também está muito atrelada ao fato da linguagem adotar esse paradigma.

    Dentre as principais vantagens da adoção da Orientação a Objetos, além de minimizar a curva de aprendizagem, também temos a capacidade de reutilização, que otimiza a produção de uma solução de software, possibilitando maior qualidade, redução de tempo e custo de manutenção de sistemas.

    Classes e Objetos

    Na Orientação a Objetos, temos dois conceitos essenciais, que são:

    • Classes;
    • Objetos.

    Classes

    no mundo real, podemos identificar e classificar diversos objetos que compartilham um conjunto de características em comum. Por exemplo, um livro é um conceito que pode representar vários objetos com características compartilhadas, como capa, autor, número de páginas, ISBN, entre outros; assim, diante de objetos que têm em comum esse conjunto de características, conseguimos classificá-los como livros, certo?

    O que é Classe na Orientação a Objetos?

    Por definição, uma classe serve como um modelo, uma “planta”, um desenho por meio do qual objetos serão criados. No Java, podemos definir uma classe como mostrado na codificação abaixo:

    public class Pessoa {
        public String nome;
        public String email;
        public String cpf;  
    }
    

    Em uma classe, além das características (propriedades) comuns aos objetos, temos também os comportamentos que aquele objeto pode executar. Veja um exemplo:

    public class Pessoa {
        public String nome;
        public String email;
        public String cpf;
    
    public String exibirDados() {
        return "=== Dados da Pessoa ===" + "\n" +
                "Nome: " + this.nome + "\n" +
                "Email: " + this.email + "\n" +
                "CPF: " + this.cpf;
    }
    
    
    

    }

    Então, para a utilização de objetos precisamos definir as classes, por isso alguns defendem que poderíamos chamar de “Programação Orientada a Classes”, o que daria muito certo também!

    Objetos

    Como já demos um spoiler, um objeto é criado a partir da definição de uma classe. Ele representa uma instância específica de um objeto existente em um conjunto de objetos.

    O que é Objeto na Orientação a Objetos?

    Os objetos são essenciais na Programação Orientada a Objetos, pois serão eles que irão interagir e executar as funcionalidades do sistema. Então, tomando como exemplo a definição da classe Pessoa, do exemplo acima, para representar um único objeto do conjunto “pessoas” no Java, escrevemos da seguinte forma:

           //Definindo um objeto pessoa.
            Pessoa andre = new Pessoa();
            andre.nome = "André Silva";
            andre.email = "[email protected]";
            andre.cpf = "1111111-11";
            System.out.println(andre.exibirDados());
    
         //Definindo um outro objeto pessoa.
         Pessoa helen = new Pessoa();
         helen.nome = "Helen Cardoso";
         helen.email = "[email protected]";
         helen.cpf = "2222222-22";
         System.out.println(helen.exibirDados());
    
    
    

    Note que no exemplo definimos dois objetos do tipo Pessoa e ambos possuem as mesmas propriedades: nome, email e cpf, mas cada um possui um conjunto de dados que os tornam diferentes.

    Orientação a objetos com Roberta Arcoverde | #HipstersPontoTube

    https://www.youtube.com/watch?v=jpuJ1qrluoU

    Os pilares da O.O.

    Além dos dois conceitos centrais desse paradigma, apresentados anteriormente, temos alguns outros conceitos que são de extrema importância e que formam os pilares da Programação Orientada a Objetos:

    • Polimorfismo;
    • Herança;
    • Abstração;
    • Encapsulamento.
    Ilustração de quatro pilares sustentando o termo “P.O.O. - Programação Orientada a Objetos”. À esquerda, encontram-se quatro palavras relacionadas a cada um dos pilares exibidos na imagem: Polimorfismo, Herança, Abstração e Encapsulamento.

    Polimorfismo

    Palavra de origem grega e que significa “várias formas”. Por meio da implementação desse conceito, podemos fazer um objeto de uma determinada classe executar um comportamento diferente de acordo com algum parâmetro passado.

    Herança

    É um mecanismo muito importante na Orientação a Objetos, no qual uma classe pode herdar atributos e comportamentos de uma outra classe. Por meio da herança conseguimos reaproveitar o código, podendo facilitar a implementação e a manutenção de classes no futuro.

    public class Producao {
        public int id;
        public String nome;
        public String classificacao;
        public String diretor;
        public String estudio;
        public Date dataLancamento;
    }
    

    Agora vamos fazer uma classe herdar da classe Produção:

    public class Serie extends Producao {
        public int temporadas;
        public Date dataEncerramento;
    }
    

    Em resumo, fizemos a classe Serie herdar de Producao. Mas, o que ela herda? Pela herança, uma classe derivada herda os atributos, então Serie possui agora: id, nome, classificação e também os comportamentos que forem definidos em Producao.

    Abstração

    É um processo mental, é a atividade onde vamos definir o que é importante para ser representado em um sistema. Por exemplo: na definição de um sistema médico para acompanhamento de pacientes, pode ser necessário identificar o nome, CPF, data de nascimento, tipo sanguíneo, etc.

    Já para um sistema de paciente no contexto de uma clínica de beleza, as informações essenciais podem ser: identidade, endereço, telefone de contato e e-mail.

    Este processo de identificar e analisar quais informações deverão ser modeladas em uma classe de um sistema é a abstração.

    Encapsulamento

    Conceitualmente, o encapsulamento é algo bem simples. A ideia aqui é conseguirmos ocultar parte do nosso código para implementar segurança a fim de que a modificação na estrutura de um determinado objeto não afete outros em nosso sistema.

    Se aprofundando em Programação Orientada a Objetos

    Práticas de Orientação a Objetos – Hipsters #129

    spotify:09Aje0Xel86kZp6GasfGyD:episode

    Ferramentas

    Para começar a desenvolver as suas aplicações usando a plataforma Java, o que não pode faltar é o nosso querido JDK e um editor de texto - isso mesmo, um bloco de notas ou similares.

    Mas graças aos deuses da programação, temos uma série de ferramentas, algumas gratuitas e outras proprietárias, que atendem às nossas necessidades. Vamos listar aqui algumas das mais utilizadas no mundo Java, as famosas IDEs (Integrated Development Environment).

    Com uma IDE podemos editar o código, acessar um terminal, executar um script , debugar e compilar usando um único ambiente, o que pode potencializar a produtividade no desenvolvimento de aplicações. Abaixo, trazemos algumas IDEs e editores que podemos usar para o Java.

    Eclipse

    O Eclipse é uma IDE para Java de código aberto e gratuito. Ela agrupa uma série de ferramentas e utilitários para apoiar o desenvolvimento, muito associada ao Java desde a sua criação. Hoje a IDE já permite a sua utilização para programar usando linguagens como JavaScript, PHP, entre outras.

    Página da Eclipse Foundation, exibindo informações e o botão para download da ferramenta Eclipse IDE 2022-09.

    Créditos: Eclipse Foundation

    Baixar o Eclipse

    Para baixar a IDE, você pode acessar a página da Eclipse Foundation, localizando a aba Eclipse IDE Download.

    NetBeans

    Outra IDE muito famosa no mundo Java é a NetBeans, também gratuita e de código aberto. Ela foi projetada de forma reutilizável, visando o reaproveitamento e simplificação com a intenção de aumentar a produtividade. Além disso, a IDE foi completamente escrita em Java.

    Composta por um conjunto de módulos e bibliotecas com a intenção de garantir que as pessoas desenvolvedoras possam escrever software de maneira mais rápida, hoje é disponibilizada em vários idiomas, e com as configurações adequadas você consegue desenvolver usando C, C++, Ruby, PHP, entre outras.

    Página da netbeans.org, exibindo informações sobre a IDE e o link para download da ferramenta Apache NetBeans 15.

    Créditos: Apache NetBeans

    Baixar o NetBeans

    Para baixar a IDE NetBeans, basta acessar a página inicial da Apache NetBeans.

    IntelliJ

    O IntelliJ IDEA, outra ferramenta escrita totalmente em Java, nos permite escrever, além do próprio Java, códigos em Kotlin, Scala e Groovy. Também objetivando otimizar o trabalho da pessoa desenvolvedora, a IDE oferece IntelliSense, ambiente de depuração e uma série de plugins para ajudar no desenvolvimento do código.

    Desenvolvida e mantida pela empresa JetBrains, essa é uma ferramenta proprietária, mas hoje conta com uma versão Community que opera sob a licença Apache 2.0.

    Página da jetbrains.com, exibindo listas de atributos e os links para download da ferramenta IntelliJ IDEA nas versões Ultimate e Community.

    Créditos: IntelliJ IDEA, JetBrains

    Baixar o IntelliJ

    Para fazer o download do IntelliJ, você pode acessar a opção “Baixar” no site oficial da JetBrains. Lá você encontrará as versões Ultimate ou Community disponíveis para os sistemas operacionais Windows, macOS e Linux.

    VS Code

    O Visual Studio Code é o editor de códigos abertos da Microsoft, também disponível para Mac e Linux, e que, por meio da configuração de alguns plugins, pode ser utilizado para escrever seus primeiros códigos em Java.

    Possui suporte para várias linguagens, uma interface agradável e é simples de usar, além de ser uma ferramenta muito leve em comparação a uma IDE tradicional.

    Página do Visual Studio Code, exibindo o link para download da versão para o sistema operacional Windows e uma prévia da sua interface.

    Créditos: Visual Studio Code

    Baixar o Visual Studio Code

    Para baixar o VS Code, você pode acessar a página oficial da ferramenta. Recomendamos também a leitura do artigo Desenvolvendo aplicações Java com o VS Code, que apresenta a configuração de alguns plugins para Java no Visual Studio Code.

    Certificações

    Para começar uma carreira em programação, o essencial é a vontade e a dedicação em aprender cada vez mais. Para muitas vagas de trabalho, uma formação “formal'' não é um requisito eliminatório, mas é sempre bom podermos, quando possível, procurar alguma forma de instrução.

    Hoje temos à disposição uma série de formas de aprender e praticar programação, desde a realização de cursos livres, até a graduação e a pós graduação. Mas na área de tecnologia temos as certificações, onde empresas como Microsoft, IBM, Google e Oracle oferecem a possibilidade de uma certificação técnica em determinadas tecnologias, em geral, mantidas por essas empresas.

    Uma certificação também serve como um sinal que você, enquanto profissional, estudou e valida seus conhecimentos em determinada tecnologia, o que ajuda a incrementar o seu currículo, tendo em vista que algumas vagas podem exigir como um dos requisitos determinada certificação. Mas, e no universo Java?

    Vale a pena fazer uma certificação? #HipstersPontoTube

    https://www.youtube.com/watch?v=IkPh53jDnwo

    As certificações Java existem desde a época da Sun Microsystem, e hoje elas fazem parte do portfólio da Oracle. Vamos ver algumas delas.

    Oracle Certified Associate (OCA)

    Essa certificação atesta que você conhece a estrutura básica da linguagem Java. Ela é a porta de entrada para outras certificações Oracle Java.

    Card do caminho para a certificação “Associate”, no site da Oracle, exibindo o texto “Java SE Oracle Certified Associate, Java SE 8 Programmer”.

    Créditos: Oracle

    Oracle Certified Professional (OCP)

    Depois de obter a Certificação OCA, a pessoa programadora poderá trilhar o caminho para a Certificação OCP. Nesta prova, deverá demonstrar a habilidade de criar soluções Java SE de alto nível, usando orientação a objetos, tratamento de exceções, enumerações, entre outros.

    JAVA SE

    Oracle Certified Professional, Java SE 8 Programmer
    Card do caminho para a certificação “Professional”, no site da Oracle, exibindo o texto “Java SE Oracle Certified Professional, Java SE 8 Programmer”.

    Créditos: Oracle

    Oracle Certified Professional, Java SE 11 Developer
    Card do caminho para a certificação “Professional”, no site da Oracle, exibindo o texto “Java SE Oracle Certified Professional, Java SE 11 Developer”.

    Créditos: Oracle

    Oracle Certified Professional, Java SE 17 Developer
    Card do caminho para a certificação “Professional”, no site da Oracle, exibindo o texto “Java SE Oracle Certified Professional, Java SE 17 Developer”.

    Créditos: Oracle

    Oracle Certified Professional Java EE (OCP)

    Esta certificação busca validar a capacidade da pessoa desenvolvedora Java em desenvolver e implantar novos aplicativos na plataforma Java. Voltada para pessoas desenvolvedoras que atuam no Front-end e Back-end, em nível intermediário ao avançado, que possuam habilidades de criar interfaces web com tecnologias JavaScript, JSP e servlets, além de trabalhar com lógicas de negócios.

    JAVA EE and WEB SERVICES

    Oracle Certified Professional, Java EE 7 Application Developer
    Card do caminho para a certificação “Professional”, no site da Oracle, exibindo o texto “Java EE And Web Services Oracle Certified Professional, Java EE 7 Application Developer”.

    Créditos: Oracle

    As certificações Java são importantes?

    As certificações assumem um papel importante na carreira de uma pessoa desenvolvedora, pois a mantém estudando e se aprofundando ainda mais em determinada tecnologia. Mas somente elas não garantem sucesso, lembre-se disso. É muito importante que você busque se aprimorar da maneira que faça mais sentido para você, e as certificações são uma excelente opção!

    Dev em T: conheça o que é e porquê se tornar um(a)

    Dev em T: programação, carreira e tipos de perfil | #HipstersPontoTube

    https://www.youtube.com/watch?v=_nCESq0ggRg

    Será que eu faço uma faculdade de tecnologia?

    https://www.youtube.com/watch?v=pILkiHUElpQ

    Os melhores livros de tecnologia para ler e se aprofundar

    https://www.youtube.com/watch?v=RvWQQRjz1Pw

    Comunidade

    A comunidade de pessoas desenvolvedores Java é uma das mais ativas dentro da tecnologia. Impulsionada no início por se tratar de uma tecnologia livre e de código aberto, o Java encontrou nesse ambiente um cenário muito favorável.

    Somado a isso, ao redor do mundo nasceram muitas comunidades, grupos de discussões, eventos e encontros técnicos que ajudaram a propagar o Java e a alavancar a popularidade dessa tecnologia.

    Por meio da comunidade, existe uma grande troca de experiência e conhecimento entre seus usuários, com boas oportunidades de parcerias em projetos. No Brasil, a comunidade Java criou várias iniciativas que são relevantes até hoje. Podemos citar como um caso de sucesso o Grupo de Usuários Java (GUJ).

    Comunidades em tecnologia | Hipsters.Talks

    https://www.youtube.com/watch?v=rq9jMFxw9JQ

    Participar de comunidades é uma ótima oportunidade para fazer um network e ajudar pessoas desenvolvedoras em início de carreira, e até mesmo se manter motivado nos estudos em tecnologia.

    Vale a pena participar de comunidades de tecnologia? #HipstersPontoTube

    https://www.youtube.com/watch?v=jGI-fZZYH-Y

    Aprenda mais sobre Java gratuitamente

    Acesse gratuitamente as primeiras aulas da Formação Java e Orientação a Objetos, feita pela Escola de Programação da Alura e continue aprendendo sobre temas como:

    1. Java JRE e JDK: compile e execute o seu programa
    2. Java OO: entendendo a Orientação a Objetos
    3. Java Polimorfismo: entenda herança e interfaces
    4. Java Exceções: aprenda a criar, lançar e controlar exceções
    5. Java e java.lang: programe com a classe Object e String
    6. Java e java.util: Coleções, Wrappers e Lambda expressions
    7. Java e java.io: Streams, Reader e Writers
    8. Java Collections: Dominando Listas, Sets e Mapas
    9. Java 8: conheça as novidades dessa versão
    10. TDD e Java: testes automatizados com JUnit

    Como aprender melhor? Com Diogo Pires | #HipstersPontoTube

    https://www.youtube.com/watch?v=uOagLB3uyeU

    Portfólio e Carreira em Tecnologia

    Como fazer um bom portfólio

    Como fazer um bom portfólio em tecnologia com Diogo Pires | #HipstersPontoTube

    https://www.youtube.com/watch?v=gu1OXrirC0U

    5 projetos para sua carreira em tech

    5 projetos pra quem está na carreira tech com Mario Souto | HipstersPontoTube

    https://www.youtube.com/watch?v=nckXBdyqHVc

    Conclusão

    O Java, enquanto plataforma e uma linguagem de programação, já se encontra consolidado, possuindo umas das maiores e mais ativas comunidades dentro da tecnologia. Hoje, temos a plataforma Java rodando nos mais diversos dispositivos de smartphones, computadores e Internet das Coisas.

    Por ter iniciado como uma tecnologia aberta, que implementa e utiliza o conceito de máquinas virtuais e o paradigma de programação orientada a objetos, a plataforma ganhou uma extraordinária popularidade, estando presente inclusive em projetos governamentais ao redor do mundo.

    Quer se aprofundar ainda mais na tecnologia Java? Deixamos aqui algumas referências que serão de grande ajuda:

    • Tech Guide Java, um guia de referência para estudar Java, trazendo tecnologias e conceitos que vão te ajudar a ser um profissional em T.

    • Artigo Como criar uma interface gráfica com Swing (Java).


    Estude 2 anos por R$ 158/mês. Planos com até 35% OFF. Ver planos.
    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    Avalie este artigo

    Foto de andre-bessa1

    Autor(a)

    andre-bessa1

    Explore por tópico

    • Mobile
    • Back-end
    • Front-end
    • DevOps
    • UX & Design
    • Dados
    • Gestão & Negócios
    • Inteligência Artificial
    • Cibersegurança
    • Cloud

    Leia também

    • Alura
      07/10/2020

      Programação: como acelerar projetos?

      Ler mais
    • 25/04/2021

      Hipsters Ponto Tube: A MELHOR linguagem de programação?

      Ler mais
    • Alura
      26/06/2017

      Buscas Eficientes com Elasticsearch

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.