Passagem de Parâmetro
Java só faz passagem de parâmetro por valor.
Organização de código em Java
Pacotes(package)
- Permitem a criação de "caminhos" de organização de código
- Normalmente seguem o caminho inverso do domínio da URL de uma empresa, adicionado da aplicação.
- Ex: com.google.guava, com.facebook.api, com.netflix.docker
- Permitem a organização da sua aplicação por especialidade
- java.util
- java.net
- java.sql
- java.io
Herança e classe raiz
- Em java, toda classe deve estender de outra classe
- Quando uma classe não declara de quem ela estende, ele implicitamente estende de Object.
- Object é a classe raiz de qualquer hierarquia de classes java
A classe Object
- É o pai em último nível de qualquer classe java
- Declara comportamentos herdados por todos os objetos java
- toString()
- hashCode()
- equals()
Identificadores - Dano nomes
- Identificador é o nome utilizado para representar variáveis, classes, objetos, métodos, pacotes, interfaces, ect.
- Regras
- Caracteres válidos:
- Letras UNICODE 16 maiúsculas ou minúsculas de vários idiomas
- Números 0-9
- Underscore _ ou cifrão $
- Não pode começar com número
- Não pode ser palavra reservada
- Não pode ser uma literal (true, false, null, 10, etc)
- Não pode ter caracteres em branco
Exemplos:
int MyVariable, myvariable, MYVARIABLE;
int x, i, OReilly;
int _myvariable, $myvariaBle, _9pins;
Nota: Java é case sensitive, ou seja, java é sensível a maiúsculas e minúsculas.
Palavras Reservadas
abstract, assert, boolean, break, byte, case, catch, char, class, const, continue, default, double, do, else, enum, extends, false, final, finally, float, for, goto, if, implements, import, instanceof, int, interface, long, native, new, null, package, private, protected, public, return, short, static, strictfp, super, switch, synchronized, this, throw, throws, transient, true, try, void, volatile, while
Instanciando objetos em Java
Controle instControle = new Controle();
Blocos e comandos
Comentários
/**
Comentário JAVADOC de mais de uma linha
*/
// Comentário de uma única linha
/*
Comentário de bloco
*/
Tipos Primitivos
- Lógico
- Caractere
- Inteiro
- byte de 8 bits
- short de 16 bits
- int de 32 bits
- long de 64 bits
- Decimal
- float de 32 bits (7 casas decimais)
- double de 64 bits (15 casas decimais)
Cuidado: A classe String não é um tipo primitivo.
Convertendo tipo primitivos
- Ocorre quando queremos transformar um tipo em outro
- Pode ser implícita ou explícita(quando pode haver alguma perda)
- Regra de ouro: O tipo de origem cabe no tipo de destino?
Operadores Aritméticos
Incremento prefixado e posfixado
- Prefixado: primeiro incrementa e depois retorna o valor.
- Posfixado: primeiro retorna o valor e depois incrementa.
Operadores de Atribuição
Operadores Relacionais
Operadores Lógicos
Operadores bit a bit
Vetores (Array)
Um vetor é uma estrutura de dados formada por um conjunto de dados ou outros elementos de um mesmo tipo, podendo ter uma dimensão ou mais (quando tem duas, é também chamado de matriz) e cujo acesso aos dados é feito através de índices.
Declaração:
// Declaração 1
tipo[] identificador1;
tipo indentifiador1[];
// Declaração 2
tipo[] identificador2 = new tipo[4];
tipo identificador2[] = new tipo[5];
// Declaração 3
tipo[][] identificador 3;
tipo identificador3[][];
Inicialização:
// Inicialização 1
int[] vetor1 = {34, 27, 91, 86};
// Inicialização2 (inválida)
int[] vetor2 = new int[4];
vetor2 = {34, 27, 91, 86};
// Inicialização 3
int[] vetor3 = new int[4];
vetor3[0] = 34;
vetor3[1] = 27;
vetor3[2] = 91;
vetor3[3] = 56;
Controle de Fluxo
Estrutura de Controle
IF
IF ... ELSE
IF ... ELSE IF ... ELSE
SWITCH
Estrutura de Repetição
While
Do ... While
Nota: Garante pelo menos 1 execução!
FOR
Continue vs Break