Buscar

02-introducao-ao-java-parte-01

Prévia do material em texto

Programação Orientada à
Objetos
Prof. MSc. Leanderson André
Introdução à Linguagem JAVA
Breve histórico da Linguagem JAVA
Desenvolvida pela Sun Microsystems, com início em 1991
Patrick Naughton, Mike Sheridan e James Gosling
Projeto Green e o protótipo Star 7
Breve histórico da Linguagem JAVA
Popularização da internet popularizou o JAVA
https://www.tiobe.com/tiobe-index/
E continua como a mais popular por um longo longo tempo
Breve histórico da Linguagem JAVA
http://g1.globo.com/Noticias/Tecnologia/0,,MUL1091457-6174,00-ORACLE+ANUNCIA+COMPRA+DA+SUN+POR+MAIS+DE+US+BILHOES.html
Breve histórico da Linguagem JAVA
https://g1.globo.com/economia/tecnologia/noticia/oracle-vence-google-na-justica-em-disputa-por-direitos-autorais-do-java.ghtml
Breve histórico da Linguagem JAVA
Version Name Code Name Release Date
JDK 1.0 Oak January 1996
JDK 1.1 (none) February 1997
J2SE 1.2 Playground December 1998
J2SE 1.3 Kestrel May 2000
J2SE 1.4 Merlin February 2002
J2SE 5.0 Tiger September 2004
Version Name Code Name Release Date
Java SE 6 Mustang December 2006
Java SE 7 Dolphin July 2011
Java SE 8 March 2014
Java SE 9 September, 21st 2017
Java SE 10 March, 20th 2018
Java SE 11 September, 25th 2018
https://www.codejava.net/java-se/java-se-versions-history
Características da Linguagem JAVA
Multi-paradigmas
• Orientado a Objetos
• Imperativo
• Funcional
• Concorrente
• Genérica
Tipagem
• Estática e forte
Aplicações de propósitos gerais
Portabilidade e independência de plataforma
Recursos de Rede
Coletor de lixo de memória
Licença gratuita
Página oficial www.java.com
Plataforma JAVA
Java SE – Standart Edition
Base da plataforma, ambiente de execução e bibliotecas comuns
Java ME – MICRO Edition
Aplicações embarcadas e móveis
Java EE – Enterprise Edition
Aplicações corporativas e para internet
Java FX
Aplicações multimedia em desktop/web e dispositivos móveis
Java Card
Dispositivos embarcados com limitações de processamento e armazenamento. Ex: Smart cards
Java Community Process www.jcp.org
Responsável por desenvolver e revisar especificações da tecnologia Java
• Java Specification Request
• Java ME – Micro Edition 
• Java SE – Standart Edition
• Java EE – Enterprise Edition
Comites Executivos
SouJava, TOTVS, Twitter, Eclipse Foundation, IBM, Intel, HP,
Ericsson, Oracle, entre outros
Java Champions
Lista com todos os Java Champions
https://github.com/aalmiray/java-champions
Twitter
https://twitter.com/java_champions
Grupo exclusivo de líderes de comunidades e apaixonados pela tecnologia Java patrocinados pela Oracle
https://community.oracle.com/community/groundbreakers/java/java-champions
Bruno Souza, membro fundador e Líder da SouJava
https://twitter.com/brjavaman
https://github.com/aalmiray/java-champions
https://twitter.com/java_champions
https://community.oracle.com/community/groundbreakers/java/java-champions
https://twitter.com/brjavaman
Grupos de Usuários Java - JUG
Comunidade no Slack JavaDevBr
https://javadevbr.herokuapp.com
Palestras/Encontras conferir no Meetup
https://www.meetup.com/pt-BR
Recursos de aprendizagem Java
https://github.com/learnbr/java/blob/master/README.md
SouJava
https://soujava.org.br
GUJavaSC
http://gujavasc.org
Lista de GUJs do Brasil
http://javaman.com.br/jugs/
https://javadevbr.herokuapp.com/
https://www.meetup.com/pt-BR
https://soujava.org.br/
http://gujavasc.org/
http://javaman.com.br/jugs/
Podcasts
Hipsters ponto tech
E o futuro do Java! – #27
Práticas de Orientação a Objetos –#129
Grandes livros de tecnologia - #113
Java EE e Jakarta EE - #119
Spring Framework - #87
Lambda3
Podcast 98 - Java
Certificações Java 
https://www.oracle.com/br/corporate/features/oracle-certification.html
https://education.oracle.com/oracle-certified-associate-java-se-8-programmer/trackp_333
https://www.oracle.com/br/corporate/features/oracle-certification.html
https://education.oracle.com/oracle-certified-associate-java-se-8-programmer/trackp_333
Ambiente de desenvolvimento Java
IDE
Intellij IDEA
Eclipse
Netbeans IDE
Jdeveloper
VSCode
Notepad++
Sublime
Bloco de Notas
Editores de textos em geral
Java Development Kit
Conjunto de utilitários eque permitem criar softwares Java.
Composto por compilador e bibliotecas.
OpenJDK Development Kit - OpenSource
Java SE Development Kit - Proprietário
Criação e execução de programas
Tempo de compilação
Arquivo texto com a extenção .java
Ex: Retangulo.java
Processo de transformação de código fonte para uma
linguagem intermediária (bytecodes).
Gera arquivo .class Ex: Retangulo.class
javac fornecido pelo JDK
Linguagem intermediária independente de plataforma
Código Java
Compilação
Bytecodes
Tempo de execução
Transferência dos bycodes para a memória
Verifica a integridade dos bycodes carregados
• Violação de restrições de segurança
• Acesso indevido na memória
• Código corrompido
Classloader
Bytecode
Verifier
Tempo de execução
Aplicativo que interpreta os bytecode transformando em código de máquina e 
Executa os programasJVM
Write Once, Run Anywhere
Tempo de execução
Compilador paralelo para acelerar o processo de execução do código
• Identificar os hotspots (trecho de código muito utilizado)
• Compilar os hotspots em linguagem de máquina
• Otimização de código
Just-in-Time
Compiler
Palavras reservadas
Verificação do ambiente de desenvolvimento
No terminal do Sistema operacional, execute os commandos:
$ java -version
$ javac -version
Caso apresente problemas, é necessário adicionar o caminho da instalação do Java nas
variáveis de ambiente do Sistema operacional
Hello World!
Nome do arquivo deve ser a mesma do nome da classe pública!
Método main sempre deve ter a mesma definição.
Compilação
Compilação de uma classe
javac é o compilador padrão de programas Java
$ javac NomeDaClasse.java
No diretório deverá surgir um novo arquivo chamado NomeDaClasse.class
Execução
Execução de uma classe
java é o software que executa os programas Java
$ java NomeDaClasse
Tipos de Dados Primitivos
Declaração de variáveis
Devem começar com uma letra, $ (sinal do dólar), ou _ (underscore)
Palavras-chaves não podem ser utilizadas como nome de variáveis ou métodos
Case Sensitive: minhaVariavel diferente de MinhaVariavel
int contador;
float _salario;
double $imposto;
boolean flag;
char c = ‘M’;
Declaração de variáveis
Antes de utilizar uma variável, deve inicializa-la com algum valor.
int contador;
contador = 0;
float _salario = 0.0f;
double heigth = 15.09;
long time = 1232l;
Valores do tipo double são representados com ponto para as casas decimais.
Valores do tipo float são representados com ponto para as casas decimais e um f após o número.
Valores do tipo long são representados um L após o número.
Operadores Aritméticos
Exemplo
int contador = 10;
contador += 1;
double d = 3.4f * contador;
int resto = d % contador;
Deve-se incluir o ; após cada operação.
Comentários
//Comentário de uma linha
/*
Comentário de várias linhas
*/
Exibição de informações em tela
int contador = 10;
System.out.println(“Meu texto”);
System.out.println(”Contador = ”+contador);
System.out.println(contador);
Exercícios
Utilize o bloco de notas e os comandos javac e java para desenvolver os exercícios abaixo:
1. Crie um programa Java que apresente em tela o seu nome. O nome do arquivo .java deverá ser o seu nome.
2. Crie um programa Java declare uma variável inteira com o valor 2019 e apresente em tela.
3. Crie um programa Java declare uma variável inteira sem atribuir o valor inicial e apresente em tela.
Qual problema ocorre?
4. Crie um programa Java declare uma variável inteira e atribui um valor long e apresente em tela. Qual problema
ocorre?
5. Crie um programa Java declare uma variável float e atribui um valor double e apresente em tela. Qual problema
ocorre?
6. Crie um programa Java declare uma variável inteira e atribui o character K e apresente em tela. Analise o 
resultado.
7. Crie um programa Java que calcule o áreado círculo com 145.987 de diâmetro e apresente em tela o resultado.
8. Crie um programa Java que calcule 23.4% de 9bilhões e 345 milhões de dólares e apresente em tela o resultado.
9. Crie um programa Java que identifique o resto da divisão de 12345 por 34 e apresente em tela o resultado.
10. Crie um programa Java que declare duas variaveis com os valores 0.0000000000000002 e 0.9999999999999999 e 
apresente em tela. Analise o resultado.
11. Crie um programa Java que calcule a quantidade máxima de faltas permitidas para disciplina de POO e apresente
em tela.
Bibliografia

Continue navegando