Este documento apresenta os principais conceitos da linguagem de programação Java, incluindo sua visão geral, por que é popular, como funciona, escolhendo uma IDE, escrevendo um "Hello World", sintaxe e semântica, tipos de dados, variáveis, operadores, vetores, matrizes, estruturas de controle, conceitos de programação orientada a objetos como classe, objeto, herança e polimorfismo. O documento também fornece referências para aprender mais sobre Java.
2. Java
Agenda
1. Visão Geral;
2. Porque Java?
3. Como funciona?
4. Escolhendo uma IDE;
5. O primeiro “Hello World”;
6. Sintaxe e Semântica Java;
7. Conceitos de POO;
8. Referência.
3. Java
Visão Geral
Esta aula tem como objetivo ajudar o aluno a
aprender e utilizar a linguagem Java.
Apresentar as principais informações sobre a
linguagem, tipos de dados básicos, elementos
da sintaxe básica e os conceitos de POO.
4. Java
Porque Java?
● Gratuita;
● Multiplataforma;
● Linguagem robusta e segura;
● Arquitetura aberta e extensível;
● Está em constante evolução;
● Utilizado em diversas empresas;
5. Java
Porque Java?
Existem rankings que medem a popularidade das linguagens de
programação disponíveis. Um deles foi elabora pelo site TIOBE.com
que apresenta a popularidade do Java entre Janeiro de 2015 e
Janeiro de 2016.
7. Java
Como funciona?
● JVM - Java Virtual Machine
○ Isola o aplicativo do SO
○ Gerência a memória, threads, etc.
● JRE - Java Runtime Environment
○ Ambiente de execução Java
○ Formado pela JVM + Bibliotecas
● JDK - Java Development Kit
○ Composto pela JRE e por ferramentas utéis para o
desenvolvedor
8. Java
Escolhendo a IDE
A empresa REBELLABS efetuou
uma pesquisa sobre as IDEs mais
utilizadas, está pesquisa é relevate
pois a IDE possui a característica de
tornar mais produtivo o
desenvolvimento. Nesta pesquisa a
ferramenta Eclipse está em uma
posição dominante, apontando que
a mesma é a mais utilizada no
mercado.
9. Java
“Hello World”
● O public class é o método que executa o
programa. O public representa o modificador
de acesso.
● static: é iniciado automaticamente pela JVM,
sem precisar de uma instância;
● void: é um método sem retorno;
● main: é onde o programa se inicia e está
recebendo como paramêtro um array de
string;
● String[] args: array de argumentos que
podem ser repassados na chamada do
programa;
12. Java
- Java: Variáveis
As variáveis podem ser definidas e utilizadas dentro do bloco de
comandos. Em Java toda variável tem um tipo que não pode ser
mudado, uma vez que foi declarado.
int idade;
O exemplo acima declara a variável idade, que passa a existir a partir daquela
linha. O seu tipo é int que guarda um número inteiro.
13. Java
- Java: Tipos de Dados
A linguagem Java oferece diversos tipos de dados com os quais
podemos trabalhar. Há basicamente duas categorias em que se
encaixam os tipos de dados:
● Tipos Primitivos: Correspondem a dados mais simples
● Tipos de Referências: Consiste em arrays, classes e interfaces.
Obs.: Em Java não existe um tipo primitivo para textos, portanto, utilizamos a
classe String e por ser amplamente utilizada não precisa ser instanciada,
basta apenas adicionar uma sequência de caracteres.
Ex.: String nome = “Laryssa”;
16. Java
- Java: Operações e Operadores
● O tipo da variável determina que operações
podem ser aplicadas e o quê cada uma
delas significa;
● Por exemplo, o operador +, quando usados
para inteiros, realiza uma soma. Já quando
usado para strings, ele realiza uma
concatenação;
17. Java
- Java: Operações e Operadores
● Aritméticos
○ Soma +
○ Subtração -
○ Multiplicação *
○ Divisão /
○ Resto %
● Lógicos
○ Ou ||
○ E &&
○ Maior >
○ Menor <
○ Igual ==
○ Diferente !=
○ Maior ou igual >=
○ Menor ou igual <=
18. Java
- Java: Operações e Operadores
● Incrementos e Atribuição
○ Incremento ++
○ Decremento --
○ Adição e atribuição +=
○ Subtração e atribuição -=
○ Multiplicação e atribuição *=
○ Divisão e atribuição /=
○ Resto e atribuição %=
19. Java
- Java: Vetor
Em Java os vetores (arrays) são declarados da mesma forma
que as variáveis, com o indicador [ ]
int vetor[ ] = new int [4];
int vetor[ ] = new int [4]{2,4,6,8};
vetor[0] vetor[1] vetor[2] vetor[3]
vetor[0] vetor[1] vetor[2] vetor[3]
2 4 6 8
20. Java
- Java: Matriz
Em Java não existe vetores multidimensionais porém é possível
criar vetores de vetores, representado por dois cochetes [ ][ ]
int matriz[ ][ ] = new int [2][4];
O exemplo acima declara a variável matriz, que representa uma matriz com
duas linhas por 4 colunas.
matriz[0][0] matriz[0][1] matriz[0][2] matriz[0][3]
21. Java
- Java: Estrutura de Controle
Controlam a ordem em que as instruções, expressõe e chamadas de
função são executadas, dividem-se :
● Estruturas de Seleção: Desvia a execução do fluxo de acordo
com a avaliação de uma condição - if else / switch.
● Estrutura de Repetição: Repete um bloco de código, permitindo a
iteração em uma coleção de dados - while / do while / for.
22. Java
- Java: Estrutura de Seleção
A estrutura do IF especifica que um comando ou bloco será executado
se e somente se uma determinada condição booleana for verdadeira
23. Java
- Java: Estrutura de Repetição
● Laços de repetição irão executar continuamente até
que uma condição seja atendida;
● São bastante utilizados para iteração com listas;
Mas… O que seriam essas listas?
Array, ArrayList, AbstractCollection, AbstractList..
Existem centenas de tipos de listas!
24. Java
- Java: Estrutura de Repetição
1. int x;
2. for(x = 1; x <= 10; x++){
3. System.out.println(x);
4. }
O laço FOR é uma estrutura de repetição compacta. Seus elementos
de inicialização, condição e iteração são reunidos na forma de um
cabeçalho e o corpo é disposto em seguida.
26. Java
- POO: Classe
Um modelo que descreve o estado e o comportamento, a
partir do qual os objetos são criados. O estado do objeto é
armazenado nos atributos e o comportamento é exposto
através dos métodos.
class Cachorro{
int tamanho;
string raca;
public void latir(){ }
}
27. Java
- POO: Objeto
Em POO o objeto representa qualquer “coisa” do mundo real que
possui seu próprio estado e comportamento. Para criar um
objeto é necessário instacia-lo através do operador new.
public class Principal{
public static void main(String args[]){
Cachorro cachorro;
cachorro = new Cachorro();
cachorro.raça = "Pitbull";
cachorro.tamanho = 3;
cachorro.latir();
}
}
28. Java
- POO: Herança
● Diferentes tipos de objetos têm, frequentemente, algo em
comum. No entanto, cada um também possui estado ou
comportamento adicionais que os tornam diferentes.
● A POO permite que classes herdem estado e comportamento
comumente usado de outras classes.
● Em Java, cada classe é permitido ter apenas uma
superclasse direta, e cada superclasse tem o potencial para
um número ilimitado de subclasses.
29. Java
- POO: Herança
public class Animal{
Image foto;
double peso;
String comida;
void comer(){ };
void dormir(){ };
void movimentar(){ };
void fazerBarulho(){ };
}
public class Cachorro extends
Animal{
int tamanho;
String raça;
void latir(){ };
void enterrarOsso(){ };
}
30. Java
- POO: Polimorfismo
● Permite ao desenvolvedor usar o mesmo elemento de formas
diferentes, essas formas, em nosso contexto equivalem as
subclasses/objetos criados a partir de uma superclasse.
● O Polimorfismo é a capacidade que o Java nos dá de
controlar todas as formas de uma maneira mais simples e
geral, sem ter que se preocupar com cada objeto
especificamente.
31. Java
- POO: Encapsulamento
● O propósito do Encapsulamento é o de organizar os dados
que sejam relacionados, agrupando-os (encapsulando-os) em
objetos (classes), reduzindo as colisões de nomes de
variáveis (considerando que variáveis com o mesmo nome
estarão em namespaces distintos) e, da mesma forma,
reunindo métodos relacionados às suas propriedades (ou
variáveis de classe).
32. Java
Referências
● Apostila de Java e Orientação a Objetos,
Caelum;
● Introdução a lógica de programação com
Java, Clêrton Leal;