[Desenvolvimento OO com Java] O que é Java?

Documentos relacionados
[Desenvolvimento OO com Java] O que é Java?

Desenvolvimento OO com Java O que é Java

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

AULA 1 INTRODUÇÃO AO JAVA

Desenvolvimento de Software I

A linguagem Java foi projetada tendo em vista os seguintes objetivos:

Java Standard Edition (JSE)

Introdução ao ambiente Java

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

(Características fundamentais de Codificação de programas)

Objetivos. Responder o que é Java; Mostrar as vantagens e desvantagens do Java; Compilar e executar um programa simples.

INTRODUÇÃO A LINGUAGEM JAVA

Nosso Primeiro Programa Java

Programação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação. Prof. Bruno Moreno

[Desenvolvimento OO com Java] Organizando suas classes

Grupo de Usuários Java do Noroeste Paulista. Introdução à tecnologia Java

Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

Programação Orientada a Objetos

Introdução à plataforma Java

Algoritmos I Aula 12 Linguagem de Programação Java

Capítulo 1 Introdução

DE TREINAMENTO PROFISSIONAL -

Fabiano Moreira.

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Desenvolvendo aplicações Java

Linguagem Técnica I. Prof. Jonatas Bastos

Alguns conceitos, regras, convenções, preparação do ambiente, primeiro programa.

O AMBIENTE DE DESENVOLVIMENTO

Introdução a linguagem Java

Desenvolvimento OO com Java Organizando suas classes

Linguagem de Programação II

Introdução. PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa

Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG

Instalação JDK 10/03/2017

Linguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação

Aula 1 POO 1 Prática. Profa. Elaine Faria UFU

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010

Introdução a Linguagem

Revisão NT Editora e Figuramundo. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora e Figuramundo. Capa NT Editora

FIC-POO. Aula 1.2 Introdução a Java e POO. Prof. Dr. Bruno Moreno

Laboratório 01 NetBeans

Programação orientada a objetos

Introdução ao Desenvolvimento de

Desenvolvimento OO com Java Um pouco de vetores

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

CURSO JAVA NA PRÁTICA

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade

Professor: José Ronaldo Leles Júnior Curso: Sistemas de Informação

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Luz,C âmera, Ação! Introdução ao Java

Linguagens de Programação 10 Avaliação de Linguagens

Obs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans.

Informática Parte 15 Prof. Márcio Hunecke

Aula 2 Introdução a Linguagem Java

Introdução ao IDE Netbeans (Programação Java)

Orientação a Objetos com Java

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática

Programação I Curso: Sistemas de Informação

Linguagens de Programação Classificação

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

Programação de Computadores - I. Profª Beatriz Profº Israel

Métodos de implementação de linguagens. Kellen Pinagé

1 Introdução. Desenvolvimento OO com Java. Vítor E. Silva Souza ~ vitorsouza

Processamento da Informação. Prof. Daniel M. Martin (2019 Q1)

Sistemas Operacionais

JAVA. Tópicos Especiais de Programação Orientada a Objetos. sexta-feira, 24 de agosto de 12

PROGRAMAÇÃO PARA SERVIDOR INTRODUÇÃO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

JAVA. Professor: Bruno Toledo

Java Básico. Aula 1 por Thalles Cezar

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Introdução à Linguagem Java

AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK)

PROGRAMAÇÃO I INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA. Prof. Dr. Daniel Caetano

PDS Aula 1.2 Introdução a Java, POO e Composição. Prof. Bruno Moreno

Algoritmia e Programação APROG. Tecnologia JAVA. IDE Netbeans. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática

Ferramenta 1 -NetBeans 8.0

Programação de Computadores II TCC Profs.: Anselmo Montenegro (1) & Marcos Lage (2) (1) (2)

Algoritmos I Aula 13 Linguagem de Programação Java

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.

Desenvolvimento Web TCC Turma A-1

Arquitecturas Alternativas. Java Virtual Machine

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

PROGRAMAÇÃO PARA SERVIDOR APRESENTAÇÃO EM SISTEMAS WEB DA DISCIPLINA. Prof. Dr. Daniel Caetano

A Linguagem Java. Prof. Vicente Paulo de Camargo

Noções de sistemas de computação

Pacotes Organizando suas classes e bibliotecas

PROGRAMAÇÃO I A LINGUAGEM DE PROGRAMAÇÃO JAVA I

[Desenvolvimento OO com Java] Orientação a objetos básica

Java para Desktop. Introdução à Plataforma Java JSE

Programação de Computadores II TCC Turma A-1

JAVA. Professor: Bruno Toledo

Transcrição:

Centro Tecnológico Departamento de Informática Prof. Vítor E. Silva Souza http://www.inf.ufes.br/~vitorsouza [Desenvolvimento OO com Java] O que é Java? Este obra está licenciada com uma licença Creative Commons Atribuição- CompartilhaIgual 4.0 Internacional: http://creativecommons.org/licenses/by-sa/4.0/.

Conteúdo do curso O que é Java; Variáveis primitivas e controle de fluxo; Orientação a objetos básica; Um pouco de vetores; Modificadores de acesso e atributos de classe; Herança, reescrita e polimorfismo; Classes abstratas e interfaces; Exceções e controle de erros; Organizando suas classes; Utilitários da API Java. Estes slides foram baseados na apostila do curso FJ-11: Java e Orientação a Objetos da Caelum e na apostila Programação Orientada a Objetos em Java do prof. Flávio Miguel Varejão. Março 2019 Programação III - O que é Java 2

O que é Java? Uma tecnologia; Uma linguagem de programação; Uma plataforma de desenvolvimento; Um software distribuído pela Oracle; Um ambiente de execução de programas; Uma ilha da Indonésia (e o mar ao norte da ilha). Março 2019 Programação III - O que é Java 3

História de Java 1995: Patrick Naughton e Sun Microsystems; Projeto Green busca por inovação: *7; James Gosling e a linguagem Oak; Projeto Green muda de rumo depois que *7 não deslancha: Internet; Oak vira Java, graças a um café; Nascem as Applets, Java é incluída no Netscape, disponibilizada ao público e deslancha; Java fez 10 anos em 2005 e se tornou open source em 2006; Google introduz o sistema operacional Android em 2008; Oracle compra a Sun Microsystems em 2009/2010; Java 8 lançado em 2014, Java 9 em 2017. Março 2019 Programação III - O que é Java 4

História de Java Mudanças de mercado: o Java foi idealizada para o mercado de TVs a cabo e outros aparelhos eletrodomésticos; o Java foi lançada com foco nos clientes web (Applets); o Hoje Java tem destaque do lado do servidor e em aparelhos celulares. http://oracle.com.edgesuite.net/timeline/java/ http://www.java.com/en/javahistory/ Março 2019 Programação III - O que é Java 5

Contexto em que Java surge Você está cansado de o ter que manipular ponteiros? o ter que alocar/desalocar memória? o ter que organizar arquivos em diretórios e controlar seus Makefiles? o ter que escrever utilitários para coisas muito básicas? o ter que reescrever parte do código ao mudar de SO? o ter que pagar para usar a tecnologia de desenvolvimento? Março 2019 Programação III - O que é Java 6

Máquina Virtual Java Existem duas maneiras de se traduzir um programa: compilação e interpretação. Compilação: Março 2019 Programação III - O que é Java 7

Máquina Virtual Java Interpretação: Março 2019 Programação III - O que é Java 8

Máquina Virtual Java Híbrido: Março 2019 Programação III - O que é Java 9

Vantagens da JVM Portabilidade; Isola a aplicação do SO; Pode tirar métricas e realizar otimizações (HotSpot e JIT Compiler); Se ocorre um erro, fecha-se a máquina virtual, sem afetar outras JVMs ou o SO; 29 outras linguagens suportadas, incluindo Clojure, Groovy, Scala, JRuby, Jython, Rhino, etc. O código de máquina gerado por um compilador Java é conhecido por bytecode, pois existem menos de 256 códigos de operação dessa linguagem e cada opcode gasta um byte. (Apostila FJ-11 Caelum) Março 2019 Programação III - O que é Java 10

Versões e edições de Java Standard Editions: o Java 1.0 (1996); o Java 1.1 (1997); o J2SE 1.2 (1998); o J2SE 1.3 (2000); o J2SE 1.4 (2002); o Java 1.5 / Java 5 (2004); o Java SE 6 (2006); o Java SE 7 (2011); o Java SE 8 (2014); o Java SE 9 (2017); o Java SE 10 (2018); o Java SE 11 (2018, LTS); o Java SE 12 (2019). Enterprise Editions: JPE project (1998); J2EE 1.2 (1999); J2EE 1.3 (2001); J2EE 1.4 (2003); Java EE 5 (2006); Java EE 6 (2009); Java EE 7 (2013); Java EE 8 (2017). Cedido pela Oracle para a fundação Eclipse em2018, agora Jakarta EE. Novas versões todo ano em março e setembro (longterm support). Mobile Editions Março 2019 Programação III - O que é Java 11

Java SE Ferramentas de desenvolvimento e API núcleo da plataforma (base para as demais); Permite o desenvolvimento de aplicações desktop, com interface gráfica, acesso à bancos de dados, I/O, acesso à rede, etc.; Dividida em: o JRE = Java Runtime Environment; o JDK = Java Development Kit. Março 2019 Programação III - O que é Java 12

Java Runtime Environment JVM + bibliotecas básicas da API; Necessária para rodar programas Java (bytecodes compilados); É a única parte da plataforma Java que os clientes precisam instalar; Em alguns SOs pode vir instalada; A Oracle provê suporte oficial às plataformas Windows, Mac OS, Solaris e Linux. Março 2019 Programação III - O que é Java 13

Java Development Kit Somente para programadores; Contém: o Ferramentas de desenvolvimento; o Ambiente de execução (JRE); o APIJava SE (compilada e código-fonte); o Programas de demonstração; o Bibliotecas adicionais; o Documentação (obtida separadamente). Março 2019 Programação III - O que é Java 14

A API Java SE Março 2019 Programação III - O que é Java 15

Java EE Permite o desenvolvimento de aplicações corporativas: o Multicamadas, distribuídas, centradas em servidores, altamente robustas, estáveis e escaláveis. Inclui as especificações para desenvolvimento Web: Servlets, JSP, Web Services, JSF, etc.; Inclui especificações da plataforma Enterprise Java Beans (EJB): o Componentes gerenciados integrados a outras tecnologias Java EE para prover acesso remoto, persistência e transações transparentes, etc. Março 2019 Programação III - O que é Java 16

Java ME Permite o desenvolvimento de aplicações para dispositivos móveis: o Telefones celulares; o PDAs (Palm, ipaq, etc.); o Dispositivos embarcados (embedded), etc. Em grande parte vem sendo substituída pela plataforma Android; Java Card: aplicações para Smart Cards e outros dispositivos muito limitados. Março 2019 Programação III - O que é Java 17

Por que Java? Foco em aplicações de médio/grande porte; Enorme ecossistema: muitas bibliotecas disponíveis; Alta legibilidade, conectividade, portabilidade; Grande oferta de empregos; Gratuita e open source; Independência de fabricante: especificação aberta; Popular, rodeada por uma comunidade muito ativa; De alta aceitação e com suporte da indústria; Muitas ferramentas e documentação disponíveis. Março 2019 Programação III - O que é Java 18

Características de Java Orientada a objetos: o Quase pura, pois possui tipos primitivos; Baseada em C++: o Sintaxe semelhante, porém mais simples; Portável: o Compilação para bytecode e interpretação na JVM; o Especificação rígida (JCP); Março 2019 Programação III - O que é Java 19

Características de Java Dinâmica: o Classes são carregadas sob demanda (class loader); Confiável: o Verificações na compilação e execução; o Incentiva-nos a escrever códigos melhores; o Não há aritmética de ponteiros; o Gerência de memória feita pela JVM (coletor de lixo); Março 2019 Programação III - O que é Java 20

Características de Java Segura: o Verificações de bytecode, modelo sandbox; o Assinatura digital e criptografia; Facilita a programação concorrente: o Dispõe de elementos que facilitam a programação de sistemas com uso intensivo de threads paralelas; Março 2019 Programação III - O que é Java 21

Características de Java Projetada para ambientes distribuídos: o Suporte de alto nível para construção de aplicações em rede (sockets, RMI, etc.); o Com carregamento dinâmico, classes podem ser obtidas da rede e acionadas em tempo de execução; o The network is the computer ; Março 2019 Programação III - O que é Java 22

Características de Java Possui bom desempenho: o Não era o caso das primeiras versões o Otimizações (ex.: JIT), com melhorias a cada nova versão (melhor que C/C++ em alguns benchmarks); o Em última instância, integra-se com códigos em C. Março 2019 Programação III - O que é Java 23

Um primeiro programa Escreva o seguinte programa: Comentários /* Meu primeiro programa. */ public class Eco { // Método principal. public static void main(string[] args) { for (int i = 0; i < args.length; i++) System.out.print(args[i] + " "); System.out.println(); } Comandos } terminam com ; Salve como Eco.java (case sensitive). Bloco de instruções Março 2019 Programação III - O que é Java 24

Programas Java Java é uma linguagem um pouco burocrática: o Um programa Java é uma classe pública com o método main(), como no nosso exemplo; o O nome do arquivo deve coincidir com o nome da classe que possui o método main(); o Pode haver mais de uma classe no mesmo arquivo fonte, mas somente uma pode ser pública; Calma! Veremos estes conceitos ao longo do curso... Março 2019 Programação III - O que é Java 25

Compilando o programa Código-fonte: Eco.java public class Eco { //... } javac Eco.java Bytecode: Eco.class CA FE BA BE 00 00 00 33 00 2C 0A 00 0B 00 15 09 00 16 00 17 07 00 18 0A 00 03 00 15 0A 00 03 00 19 08 00 1A 0A 00 03 00 1B 0A 00 1C 00 1D 0A 00 1C 00 1E... Março 2019 Programação III - O que é Java 26

Executando o programa java Eco Hello, World! CA FE BA BE 00 00 00 33 00 2C 0A 00 0B 00 15 09 00 16 00... Bytecode: Eco.class Março 2019 Programação III - O que é Java 27

IDEs Ambientes integrados de desenvolvimento facilitam o trabalho de programação: o Eclipse (http://www.eclipse.org); o NetBeans (http://www.netbeans.org); o IntelliJ IDEA (http://www.jetbrains.com/idea); o JDeveloper (http://www.oracle.com/technetwork/developertools/jdev/); o Dentre outras... Março 2019 Programação III - O que é Java 28

Recursos para aprender Java Comunidades virtuais e fóruns: o http://www.guj.com.br o http://stackoverflow.com JUGs Grupos de Usuários Java: o http://www.esjug.org Revistas: o Java Magazine (.com.br); o Java Magazine (Oracle). Apostilas e livros. Março 2019 Programação III - O que é Java 29