1
JAVAJAVA
Uma IntroduçãoUma Introdução
Professor:
Mário [email protected]://www.dialetodigital.com
Conteúdo:
Introdução à Linguagem de programação Java
IntroduçãoIntrodução
• Nasce em 1996, com um pequeno grupo de projeto da Sun MicroSystems, denominado Green.
• O projeto visava o desenvolvimento de software para uma ampla variedade de dispositivos de rede e sistemas embutidos.
4
Aula 1
Características da linguagem JavaCaracterísticas da linguagem Java
Robusta
Segura
5
Aula 1
Interpretada (Híbrida)
Neutra
Portável
Dinâmica
Multithread.
Orientação a Objetos
OO - Orientação a objetosOO - Orientação a objetos
Os pilares da OO – permitem modelar o mundo real.
6
Aula 1
Abstração
Herança
Encapsulamento
Polimorfismo
OO - Orientada a objetosOO - Orientada a objetos
É uma linguagem puramente orientada a objetos ? QUASE (pois os tipos primitivos não são objetos)
Na linguagem Smalltalk
Tudo é um OBJETO
7
Aula 1
Bases de Orientação a objetosBases de Orientação a objetos
Abstração, Herança, Encapsulamento, Polimorfismo:
8
Aula 1
Bases de Orientação a objetosBases de Orientação a objetos
Objetos ? Como assim ? (instanciação)
9
Aula 1
Objetos são Instâncias/Indivíduos
com caracteristicas comuns (definidas por uma Classe)
Bases de Orientação a objetosBases de Orientação a objetos
Objetos ? Como assim ? (instanciação)
10
Aula 1
Indivíduo/instância
da Classe Veículo
Robusta e seguraRobusta e segura
• Características que contribuem para torná-la mais robusta e segura:
– É fortemente tipada;
– Não possui aritmética de ponteiros;
– Possui mecanismo de coleta de lixo;
– Possui verificação rigorosa em tempo de compilação;
– Possui mecanismos para verificação em tempo de execução;
• Segurança: Possui mecanismos de segurança que podem no caso de applets, evitar qualquer operação no sistema de arquivos da máquina alvo, minimizando problemas.
11
Aula 1
Dinâmica e MultithreadDinâmica e Multithread
• Mecanismos para a resolução de referências em tempo de execução, permitindo flexibilidade nas aplicações.
• Provê suporte para múltiplas threads de execução (processos leves), que podem tratar diferentes tarefas concorrentemente.
12
Aula 1
Linhas de
Execução
Independentes
Entendendo melhor ….Entendendo melhor ….O que o processador entende?O que o processador entende?
13
Aula 1
Core i7 possui 731 milhões de
minúsculos transistores
Um transistor somente
consegue saber se HÁ
ou NÃO a presença de
corrente elétrica.
Portas lógicas
Estado: Corrente:
Binário:Lógico:
Ligado Desligado 5V 0V 1 0 V F
RepresentaçõesMas, se no processado só chega corrente elétrica, Como ele pode executar o programa JAVA que nós escrevemos ???
Processos de Tradução:Processos de Tradução:
14
Aula 1
Programa .EXE
Scripts PHP, Python, Java Script
Pascal, C, C++, Cobol,
Visual Basic, Delphi
PHP, ASP, Python, Perl,
Ruby, Java Script
Linguagens de alto nível 0100010101111
Linguagens de alto nível
Código Binário
JAVA – Abordagem de Tradução HíbridaJAVA – Abordagem de Tradução HíbridaEtapas de tradução de um programa JAVAEtapas de tradução de um programa JAVA
15
Aula 1
0100010101111
Código de MáquinaEspecífico da CPU(Intel, AMD, ARM...)
e também do sistema operacional
Código intermediário
Código de alto nível
Código de baixo nível
Interpretada, Neutra, PortávelInterpretada, Neutra, Portável
• Bytecodes executam em qualquer máquina que possua uma JVM, permitindo que o código em Java possa ser escrito independente da plataforma.
• A característica de ser neutra em relação à arquitetura permite uma grande portabilidade.
16
Aula 1
Interpretada, Neutra, PortávelInterpretada, Neutra, Portável
17
Aula 1
InterpretadoresJVM
Compilador (gera ByteCode)
.class
Programa.java
Compilador (gera ByteCode)
.class
No final, um conjunto bytecodes .class é distribuído ao cliente, compactado em um arquivo .jar (é o .exe do java)
Ambiente de Desenvolvimento Ambiente de Desenvolvimento (1/2)(1/2)
Java possui um ambiente de desenvolvimento de software denominado Java SDK.
Ambiente do Desenvolvedor (Software Development Kit)
Ambiente de execução JRE
Ambiente dos usuários (Java Run Time Edition)
JVM (Java Virtual Machine) é o interpretador JAVA.
https://www.java.com/pt_BR/https://www.java.com/pt_BR/
18
Aula 1
Ambiente de DesenvolvimentoAmbiente de Desenvolvimento
Ferramentas: ambiente integrado com Eclipse, Netbeans.
Frameworks/bibliotecas EE WEB: Spring, Hibernate, Servlets, JSP, JavaBens.
https://eclipse.org/downloads/ https://netbeans.org/
(2/2)(2/2)
19
Aula 1
Estrutura de um Programa JavaEstrutura de um Programa Java
• Todos os programas em Java possuem quatro elementos básicos:
public class HelloJavaClass {
}
public final static void main(String args[]) { System.out.println(“Hello, Java”); Date d = new Date(); System.out.printiln(“Date: “+d.toString());}
import java.util
Classe
Pacotes
Métodos
Variáveis/Argumentos
20
Aula 1
Estrutura de um Programa JavaEstrutura de um Programa Java
Main: Onde tudo Começa !Main: Onde tudo Começa !
O Método Main é o Ponto de Entrada de um programa Java
21
Aula 1
Um array como parametros do método
Comando básico de saída do Java
{ } Delimitadores de bloco de código