Mini aula JAVAMini aula JAVA
Apresentação
Wanderlei Silva do Carmo
− 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
Encapsulamento
Herança e Polimorfismo
Tipos de Classes
Métodos Estáticos
Interfaces
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, quando então passou a se chamar Java, fazendo referencia ao hábito dos desenvolvedores de tomar café e ao local de origem dos grãos. É por isso que o logotipo é uma xícara de café.
Em 1993, a empresa FirstPerson junto com a Time-Warner estava pedindo propostas de sistemas operacionais de decodificadores e tecnologias de vídeo sob demanda. Foi na época em que o NCSA apresentou o MOSAIC 1.0, o primeiro navegador gráfico para Web. Então a empresa FirstPerson apostou nos testes da TV da Time-Warner, mas esta empresa acabou escolhendo a tecnologia oferecida pela Silicon Graphics.
Em 1995 a Sun viu uma oportunidade na Web, nessa época nas páginas não existia muita interatividade, apenas conteúdos estáticos eram exibidos. Então nesse ano a Sun anunciou o ambiente Java, sendo um absoluto sucesso, gerando uma aceitação aos browsers populares como o Netscape Navigator e padrões tridimensionais como o VRML (Virtual Reality Modeling Language - Linguagem de Modelagem para a Realidade Virtual).
O Java foi o primeiro a utilizar decodificares de televisões interagindo em dispositivos portáteis e outros produtos eletrônicos de consumo, foi do mesmo jeito que foi iniciado em 1991, possuindo portabilidade para qualquer ambiente e do desenvolvimento para múltiplas plataformas, em ambientes de eletrônicos de consumo, desde então o Java vem liderando o mercado em termos de linguagem
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; Independente de plataforma; Tipada (detecta os tipos de variáveis quando
declaradas);
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
Windows:− O mesmo procedimento:
Substituir “:” por “;” na configuração do PATH, JAVA_HIOME e CLASSPATH
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#ixzz3Wpppribm
Imagens:
• http://www.devmedia.com.br
•http://sbtaudiencia.blogspot.com.br/2012_06_24_archive.html
Logotipos JAVA - propriedade Oracle/JAVA