Mini aula JAVAMini aula JAVA
Apresentação
Wanderlei Silva do Carmo
− Wander.silva@gmail.com
− Twitter: @w3ae
− Youtube: youtube.com/w3ae

Analista e desenvolvedor de sistemas

Formado pelo Universidade Estácio de Sá –
RJ

Pós-graduando em Engenharia e Arquitetura
de Software

Especialista Linux

Atuando na área desde 1999 como instrutor
em centros de treinamentos
Objetivo
Mini-aula sobre a linguagem de programação Java explanando
sua origem e principais características.
Agenda

Origem do Java

Principais Características

JDK e JRE

JVM – Java Virtual Machine

Tipos de aplicações em JAVA

Ferramentas para desenvolvimento JAVA

Quem usa JAVA ???

Exemplo de código em JAVA

Orientação à Objetos

Classes e Objetos

Atributos e Métodos

Visibilidade
Origem do Java

A história começa em 1991, quando um grupo
de colaboradores da empresa San Hill Road,
filiada a Sun (hoje pertence a Oracle), tiveram a
ideia de fazer com que os eletrodomésticos
comunicarem-se entre si.

O grupo entendia que a tecnologia não poderia
ficar presa aos sistemas operacionais, segundo
eles, pois se assim fosse, o projeto fiaria
inviável, então com essa justificativa foi
desenvolvido o sistema operacional GreenOS.

Criaram a linguagem de programação Oak
(carvalho). Na época do registro do nome não
puderam utilizá-lo porque já estava registrado,
Principais Características

Suporte à orientação a objetos;

Portabilidade;

Segurança;

Linguagem Simples;

Alta Performance;

Dinamismo;

Interpretada (o compilador pode executar os
bytecodes do Java diretamente em qualquer
máquina);

Distribuído;
JDK e JRE

Para criar aplicações Java, ter o JDK (Java
Development Kit) que inclui o Java Runtime
Environment, o compilador Java e as APIs
Java. É fácil começar a desenvolver programas
em Java, tanto para os novos programadores
quanto para os experientes.

Java Runtime Environment (JRE) significa
Ambiente de Tempo de Execução Java, e é
utilizado para executar as aplicações da
plataforma Java.
JVM – Máquina Virtual Java - (Java Virtual Machine)
 O compilador Java lê o código fonte e
gera código intermediário denominado
“bytecodes” que serão interpretados pela
máquina virtual java que por sua vez gera
código de máquina de acordo com a
plataforma de destino;
 Isso permite-nos desenvolver sem se nos
preocuparmos com o tipo de sistema
operacional ou plataforma de destino;
Processo de compilação sem Máquina Virtual
Processo de compilação com JVM
Java é uma linguagem de programação de uso geral, isto quer
dizer que podemos criar aplicativos para os mais variados fins:

Desktop

Web

Dispositivos móveis
Tipos de aplicações em JAVA
Ferramentas para desenvolvimento em JAVA
Embora possamos desenvolver aplicativos em
um editor de textos comum, como o bloco de
notas no Windows, existem várias IDE's
(ambiente de desenvolvimento integrado) que
suportam a linguagem JAVA, dentre as mais
utilizadas temos:

Eclipse - https://eclipse.org/downloads/

Netbeans - https://netbeans.org/downloads/

InteliJ - https://www.jetbrains.com/idea/
Quem usa JAVA???
Configurando o ambiente para desenvolver em Java

Para que se possa compilar um código fonte
escrito usando linguagem de programação
JAVA os programa para compilar e executar o
código deve estar incluso na variável de
ambiente PATH. Essa configuração deve ser
de acordo com o sistema operacional
hospedeiro.
− Exemplo:

Linux/Mac:
− JAVA_HOME=/usr/local/jdk1.8.0_31
− CLASSPATH=.:/usr/local/jdk1.8.0_31/lib
− PATH=/home/wanderlei/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:
/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/jdk1.8.0
_31/bin

Exemplo de código em java
Compilando:
Listando após compilação:
Executando o programa:
Classe:
representa um conjunto de objetos com características afins.
É uma estrutura em código em linguagem de programação que define
atributos/propriedades e métodos/comportamentos de um
determinado objeto. Alguns definem uma classe com uma forma a
partir da qual os objetos são criados.
Objeto:
É a instância de uma classe. Ou seja, é a representação em memória
de uma classe.
Uma classe pode ser representada por uma ou várias
instâncias/objetos.
Para representar uma classe usamos o que chamamos de variável de
instância que contém uma referência a um determinado endereço de
memória onde está alocado o objeto.
Orientação à Objetos
Orientação à Objetos:
A orientação a objetos é um modelo de análise, projeto e programação de
sistemas de software baseado na composição e interação entre diversas
unidades de software chamadas de objetos.
(Wikipedia)
Classe e Objetos
Classe:
representa um conjunto de objetos com características afins.
É uma estrutura em código em linguagem de programação que define
atributos/propriedades e métodos/comportamentos de um
determinado objeto. Alguns definem uma classe com uma forma a
partir da qual os objetos são criados.
Objeto:
É a instância de uma classe. Ou seja, é a representação em memória
de uma classe.
Uma classe pode ser representada por uma ou várias
instâncias/objetos.
Para representar uma classe usamos o que chamamos de variável de
instância que contém uma referência a um determinado endereço de
memória onde está alocado o objeto.
Atributos:
São variáveis de instâncias que
definem propriedades de um
determinado objeto.
Métodos:
São ações/comportamentos
desejáveis para o objeto.
Visibilidade de atributos e métodos (escopo):
Os atributos e métodos de uma classe podem ter sua visibilidade
configurada como publica, privada e protegida.
Visibilidade Pública:
Os atributos e/ou métodos poderão ter seus valores acessados pela
classe ou quaisquer outras instâncias de outras classes que os
solicitar.
Visibilidade Protegida:
Os atributos e/ou métodos poderão ter seus valores acessados pela
classe, ou pelas classes que pertencem ao mesmo pacote.
Visibilidade Privada:
Os atributos e/ou métodos poderão ter seus valores acessados
apenas pela própria classe ou instância.
Encapsulamento
É uma forma de proteção aos atributos de uma classe de forma que somente
poderão ser acessados por outras classes ou instâncias a partir de seus métodos.
Fazendo assim, geralmente o encapsulamento se constituem de atributos
privados sendo acessados por métodos públicos.
Dessa forma abstraímos complexidades
de uma determinada operação interna e
deixamos exposto apenas o que é
necessário para que um determinado
estado seja alterado.
Ex.: Mudar o canal de uma TV.
Não precisamos saber como o processo é
executado internamente, apenas
apertamos o botão mudar canal do
controle remoto.
Herança:
Uma classe poder ser construída a partir de uma outra classe herdando seus
atributos e métodos. Quando isto ocorre há o que chamamos de uma
especialização da classe. Ou seja, teremos uma classe (derivada) que além de
fazer o que a outra a (ancestral) faz também serão adicionados outros atributos e
métodos específicos.
Polimorfismo:
Uma classe poderá herdar comportamentos de sua classe ancestral e alterar este
comportamento para realizar a operação de forma diferente.
Tipos de classe:
- Concreta:
É a classe que a partir dela o objeto pode ser criado.
- Abstrata
É uma classe que não pode ser instanciada diretamente.
- Final
É uma classe que não poderá ter classes filhas
Interfaces:
Interface é um contrato firmado com a classe que a implementa que determina
esta deve implementar os métodos cujas assinaturas estão mencionadas em seu
corpo.
Métodos Estáticos:
São métodos que pertencem a classe e não a instância e podem se acessadas
sem ser necessário instanciá-la.
Referências

http://www.devmedia.com.br/java-historia-e-principais-conceitos/25178#ixzz3Wpp

Imagens:
• http://www.devmedia.com.br
•http://sbtaudiencia.blogspot.com.br/2012_06_24_archive.html
Logotipos JAVA - propriedade Oracle/JAVA
Mini aula-java

Mini aula-java

  • 1.
  • 2.
    Apresentação Wanderlei Silva doCarmo − Wander.silva@gmail.com − Twitter: @w3ae − Youtube: youtube.com/w3ae  Analista e desenvolvedor de sistemas  Formado pelo Universidade Estácio de Sá – RJ  Pós-graduando em Engenharia e Arquitetura de Software  Especialista Linux  Atuando na área desde 1999 como instrutor em centros de treinamentos
  • 3.
    Objetivo Mini-aula sobre alinguagem de programação Java explanando sua origem e principais características.
  • 4.
    Agenda  Origem do Java  PrincipaisCaracterísticas  JDK e JRE  JVM – Java Virtual Machine  Tipos de aplicações em JAVA  Ferramentas para desenvolvimento JAVA  Quem usa JAVA ???  Exemplo de código em JAVA  Orientação à Objetos  Classes e Objetos  Atributos e Métodos  Visibilidade
  • 5.
    Origem do Java  Ahistória começa em 1991, quando um grupo de colaboradores da empresa San Hill Road, filiada a Sun (hoje pertence a Oracle), tiveram a ideia de fazer com que os eletrodomésticos comunicarem-se entre si.  O grupo entendia que a tecnologia não poderia ficar presa aos sistemas operacionais, segundo eles, pois se assim fosse, o projeto fiaria inviável, então com essa justificativa foi desenvolvido o sistema operacional GreenOS.  Criaram a linguagem de programação Oak (carvalho). Na época do registro do nome não puderam utilizá-lo porque já estava registrado,
  • 6.
    Principais Características  Suporte àorientação a objetos;  Portabilidade;  Segurança;  Linguagem Simples;  Alta Performance;  Dinamismo;  Interpretada (o compilador pode executar os bytecodes do Java diretamente em qualquer máquina);  Distribuído;
  • 7.
    JDK e JRE  Paracriar aplicações Java, ter o JDK (Java Development Kit) que inclui o Java Runtime Environment, o compilador Java e as APIs Java. É fácil começar a desenvolver programas em Java, tanto para os novos programadores quanto para os experientes.  Java Runtime Environment (JRE) significa Ambiente de Tempo de Execução Java, e é utilizado para executar as aplicações da plataforma Java.
  • 8.
    JVM – MáquinaVirtual Java - (Java Virtual Machine)  O compilador Java lê o código fonte e gera código intermediário denominado “bytecodes” que serão interpretados pela máquina virtual java que por sua vez gera código de máquina de acordo com a plataforma de destino;  Isso permite-nos desenvolver sem se nos preocuparmos com o tipo de sistema operacional ou plataforma de destino;
  • 9.
    Processo de compilaçãosem Máquina Virtual
  • 10.
  • 11.
    Java é umalinguagem de programação de uso geral, isto quer dizer que podemos criar aplicativos para os mais variados fins:  Desktop  Web  Dispositivos móveis Tipos de aplicações em JAVA
  • 12.
    Ferramentas para desenvolvimentoem JAVA Embora possamos desenvolver aplicativos em um editor de textos comum, como o bloco de notas no Windows, existem várias IDE's (ambiente de desenvolvimento integrado) que suportam a linguagem JAVA, dentre as mais utilizadas temos:  Eclipse - https://eclipse.org/downloads/  Netbeans - https://netbeans.org/downloads/  InteliJ - https://www.jetbrains.com/idea/
  • 13.
  • 14.
    Configurando o ambientepara desenvolver em Java  Para que se possa compilar um código fonte escrito usando linguagem de programação JAVA os programa para compilar e executar o código deve estar incluso na variável de ambiente PATH. Essa configuração deve ser de acordo com o sistema operacional hospedeiro. − Exemplo:  Linux/Mac: − JAVA_HOME=/usr/local/jdk1.8.0_31 − CLASSPATH=.:/usr/local/jdk1.8.0_31/lib − PATH=/home/wanderlei/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin: /usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/jdk1.8.0 _31/bin 
  • 15.
  • 16.
  • 17.
    Classe: representa um conjuntode objetos com características afins. É uma estrutura em código em linguagem de programação que define atributos/propriedades e métodos/comportamentos de um determinado objeto. Alguns definem uma classe com uma forma a partir da qual os objetos são criados. Objeto: É a instância de uma classe. Ou seja, é a representação em memória de uma classe. Uma classe pode ser representada por uma ou várias instâncias/objetos. Para representar uma classe usamos o que chamamos de variável de instância que contém uma referência a um determinado endereço de memória onde está alocado o objeto.
  • 18.
  • 19.
    Orientação à Objetos: Aorientação a objetos é um modelo de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos. (Wikipedia)
  • 20.
  • 21.
    Classe: representa um conjuntode objetos com características afins. É uma estrutura em código em linguagem de programação que define atributos/propriedades e métodos/comportamentos de um determinado objeto. Alguns definem uma classe com uma forma a partir da qual os objetos são criados. Objeto: É a instância de uma classe. Ou seja, é a representação em memória de uma classe. Uma classe pode ser representada por uma ou várias instâncias/objetos. Para representar uma classe usamos o que chamamos de variável de instância que contém uma referência a um determinado endereço de memória onde está alocado o objeto.
  • 22.
    Atributos: São variáveis deinstâncias que definem propriedades de um determinado objeto. Métodos: São ações/comportamentos desejáveis para o objeto.
  • 23.
    Visibilidade de atributose métodos (escopo): Os atributos e métodos de uma classe podem ter sua visibilidade configurada como publica, privada e protegida. Visibilidade Pública: Os atributos e/ou métodos poderão ter seus valores acessados pela classe ou quaisquer outras instâncias de outras classes que os solicitar. Visibilidade Protegida: Os atributos e/ou métodos poderão ter seus valores acessados pela classe, ou pelas classes que pertencem ao mesmo pacote. Visibilidade Privada: Os atributos e/ou métodos poderão ter seus valores acessados apenas pela própria classe ou instância.
  • 24.
    Encapsulamento É uma formade proteção aos atributos de uma classe de forma que somente poderão ser acessados por outras classes ou instâncias a partir de seus métodos. Fazendo assim, geralmente o encapsulamento se constituem de atributos privados sendo acessados por métodos públicos. Dessa forma abstraímos complexidades de uma determinada operação interna e deixamos exposto apenas o que é necessário para que um determinado estado seja alterado. Ex.: Mudar o canal de uma TV. Não precisamos saber como o processo é executado internamente, apenas apertamos o botão mudar canal do controle remoto.
  • 25.
    Herança: Uma classe poderser construída a partir de uma outra classe herdando seus atributos e métodos. Quando isto ocorre há o que chamamos de uma especialização da classe. Ou seja, teremos uma classe (derivada) que além de fazer o que a outra a (ancestral) faz também serão adicionados outros atributos e métodos específicos.
  • 26.
    Polimorfismo: Uma classe poderáherdar comportamentos de sua classe ancestral e alterar este comportamento para realizar a operação de forma diferente.
  • 27.
    Tipos de classe: -Concreta: É a classe que a partir dela o objeto pode ser criado. - Abstrata É uma classe que não pode ser instanciada diretamente. - Final É uma classe que não poderá ter classes filhas Interfaces: Interface é um contrato firmado com a classe que a implementa que determina esta deve implementar os métodos cujas assinaturas estão mencionadas em seu corpo. Métodos Estáticos: São métodos que pertencem a classe e não a instância e podem se acessadas sem ser necessário instanciá-la.
  • 28.