Java Básico
Colaboradores • Paloma Costa
[email protected] • Guilherme Elias
[email protected] • Daniel Wildt
[email protected]
JugDay 2008
Objetivos
• Apresentar os conceitos iniciais da Tecnologia Java e guiar os participantes em seus primeiros passos. • Ao final, estará apto a escrever, compilar e interpretar seu primeiro programa! • Tenham uma excelente apresentação! JugDay 2008
Agenda • Teoria o o o o o o
Histórico Tecnologia Java Características Tendências e Caminhos Padrões de Compatibilidade Ferramentas
• Prática o o
Primeiros Passos(Sintaxe) Exercícios JugDay 2008
Parte Teórica
JugDay 2008
O Criador • Em 1991 por James Gosling
JugDay 2008
Histórico • Dispositivos Inteligentes e de eletrodomésticos[TV´S interativas, torradeiras interativas, etc...]
JugDay 2008
O que é a Tecnologia Java? JugDay 2008
A Tecnologia Java é: • Uma Linguagem de Programação • Um ambiente de Desenvolvimento • Um ambiente de Aplicação • Um ambiente de Distibuição JugDay 2008
Tecnologia Java • Linguagem de Programação o o
Pode criar qualquer tipo de programa. Inteligência Artificial, Robôs, Dispositivos Móveis...
• Por exemplo, uma balança de comidas que executa uma JVM. o atualizar o controle de estoque o receber atualizações de preços JugDay 2008
etc.
• Projeto Wonderland é um Ambiente Virtual 3D • Colaboração dentro do ambiente profissional, como reuniões, discussões, resoluções etc.
JugDay 2008
• Helicóptero que voa em locais perigosos e inacessíveis, e captura imagens em tempo real.
JugDay 2008
• Robôs em Java Recebe instruções de uma aplicação que detecta os contornos de uma foto, e desenha os traços com uma caneta de alta precisão.
JugDay 2008
Tecnologia Java • Ambiente de Desenvolvimento Compilador(javac), Interpretador(java), Docs(javadoc), Empacotamento(jars)
JugDay 2008
Tecnologia Java • Ambiente de Aplicação Aplicações de tecnologia Java são tipicamente programas de propósito geral que executam sobre uma máquina onde o Java Runtime Environment é instalado. JugDay 2008
Tecnologia Java • Ambiente de Distribuição JRE, Navegador Web
JugDay 2008
Características Java • • • • • • •
Orientada a Objetos; Portabilidade Robusta Segura Distribuída Recursos de Rede Simplicidade
JugDay 2008
Características Java
• Trabalha sobre uma JVM : Máquina imaginária implementada como uma aplicação de software em uma máquina real.
• Garbage Collector: libera espaço em memória. • Técnicas OO e Padrões: necessita destas técnicas para um melhor aproveitamento.
JugDay 2008
Ambiente Java • JSDK/JEE/JME - Software Development Kit o o
Máquina Virtual Java – compila e interpreta. Bytecodes, linguagem de máquina, interpretador.
• JVM – Virtual Machine o
Sun, GCJ, Kaffe, Classpath, IBM
• JRE – Runtime environment
JugDay 2008
Escolha uma tendência, escolha o seu caminho!
JugDay 2008
JEE – Java Enterprise Edition
Desenvolvimento Web (Servidor)
• Servlets - desenvolvimento web (padrão CGI) • JSP – Java Server Pages - criação de páginas dinâmicas (<% %>) através de scriptlets • JSF – Java Server Faces – Criação de páginas “ligadas” Struts.
JugDay 2008
JSE – Java Standard Edition
• Desenvolvimento Desktop (Cliente) • • • •
SWT (Standard Widget Toolkit) AWT (Abstract Window Toolkit) Swing Thinlet JugDay 2008
JME – Java Micro Edition
• Desenvolvimento para pequenos dispositivos o
JavaCard, Dispositivos Móveis, Jogos JugDay 2008
Java FX
– É open-source e existe uma grande integração com outros aplicativos da linha como o J2ME, J2EE e J2SE. – Exemplo JugDay 2008
Integração de Linguagens de Script • Groove é uma linguagem de programação projetada para ser interpretada, (como Perl e PHP), porém derivada e compatível com Java (linguagem de programação).
• JRuby permite que você rode seus scripts Ruby na máquina virtual Java. • Jython é uma implementação da linguagem Python que gera bytecode para máquinas Java .
• Vantagens – É possível fazer o desenvolvimento de aplicações híbridas que unem código – É muito útil para embutir uma linguagem para criação de scripts em aplicações que requerem este tipo de funcionalidade.
JugDay 2008
Certificações
JugDay 2008
Padrões de Compatibilidade
• JCP(Java Community Process http://jcp.org) • Foco em Compatibilidade e Multiplataforma • Qualquer um pode participar (JSR's) HP, IBEA, IBM, Intel, Oracle, Google
• O processo é aberto desde o início JugDay 2008
Software Livre & Java
• Java não é software, é uma especificação! • As implementações de Java que podem ser software livre!!! JugDay 2008
Vantagens • Linguagem Multiplataforma; • Grande quantidade de soluções e ferramentas de apoio gratuitas; • Código Aberto a partir da 5º edição(13/11/2006).
JugDay 2008
Ferramentas • JSDK 1.6.X (http://java.sun.com) • IDE para desenvolvimento Java: o NetBeans (http://www.netbeans.org) o Eclipse (http://www.eclipse.org) • Documentação API o http://java.sun.com/reference/api/
JugDay 2008
Demonstração
JugDay 2008
Parte Prática
JugDay 2008
Tarefas • Escrever o Programa • Ferramenta Utilizada o
NetBeans6.01
• Saída de Arquivos: o o o
Java Class (Bytecode) Execução do Programa JugDay 2008
public class OlaMundo { /** * Método que executa o programa * public = É visto em qualquer lugar da aplicação * static = é iniciado automaticamente pela JVM, sem precisar que seja chamado por algum objeto * void = Método sem retorno * main = Nome do método, que é obrigatorio ser este. Recebe como parâmetro um array de String. * */ public static void main(String[] args) { System.out.println("Olá, Mundo!"); //Imprime na tela } } JugDay 2008
Exercícios
JugDay 2008
Dicas de Livros
Referências
• • • • • •
Notícias Java One http://www.devmedia.com.br/articles/viewcomp.asp?comp=5403&hl= Projeto Wonderland http://lg3D-wonderland.dev.java.net Curriki http://www.curriki.org/xwiki/bin/view/Coll_DanielWildt/FUJA-NivelamentoJava1-Aula0 JEDI http://jedi.wv.com.br/ Certificações JavaFX https://openjfx.dev.java.net/#demos
JugDay 2008
Perguntas Java é uma linguagem? É uma plataforma? Tecnologia? Arquitetura? É free?
Muito Obrigada!!
JugDay 2008