Professional Documents
Culture Documents
AULA 1
1
Estratgia do Curso
Assuntos no abordados
Lgica de programao Estrutura de dados Conceitos gerais de programao e OO
Esquema de apresentao
Questes de concursos
Sobre o professor
Marcelo Pacote
Auditor Federal de Controle Externo (TCU) Mestre em Informtica pela UnB 10 anos de experincia com Java e tecnologias Web CSM, SCJA, SCJP, SCJD, SCWCD, SCBCD, SCEA (I), RUPF, IRUP, ITIL Foundation @marcelopacote
Apresentaes
Perfil da turma Universidade - Empresa Experincia com desenvolvimento Expectativas
Java
O que Java ?
Linguagem de Programao Orientada a Objetos desenvolvida pela Sun Microsystems [ ].
Oracle
Linguagem interpretada
bytecodes executados por um VM lenta? Que um JIT? WORA (Write Once Run Everywhere)
Abrangncia
Java SE, Java EE, Java ME, JavaCard
10
11
Orientada a objetos
Tipos primitivos no so objetos. No h herana mltipla.
Coletor de lixo.
Ocorre de forma automgica simplicidade X controle
14
Segura (3 formas)
SecurityManager (applets) Modificadores de acesso Verificador de bytecodes
15
Extensvel
Integrao com cdigo nativo Carregamento dinmico de classes
16
Plataforma Java
Java Development Kit (JDK 6 u25)
javac: compilador da linguagem Java Java: interpretador. Executa os bytecodes appletviewer: visualizador de applets javadoc: gerador automtico de documentao bibliotecas (rt.jar, dt.jar) cdigos fonte (src.zip) jconsole, jstack, jhat etc.
17
Ferramentas de desenvolvimento
Eclipse Netbeans JDeveloper Intellij Idea
18
Sintaxe
19
Comentrios
Comentrio de uma linha:
// isto um comentrio
Comentrio de bloco:
/* Isto um comentrio */
Comentrios JAVADOC
/** * */
20
Palavras-chave
abstract byte char continue double final for implements int native package public static synchronized throws void stricfp boolean case class default else finally goto import interface new private return super this transient volatile assert break catch const do extends float if instanceof long null protected short switch throw try while enum
true, false 21
22
Tipos primitivos
T IPO DE
DADOS
T AMANHO _____ 8 bits 16 bits 16 bits 32 bits 64 bits 32 bits 64 bits true ou
V ALORES false
-27 a 27 -1 -215 a 215 -1 \u0000 a \uffff -231 a 231 -1 -263 a 263 -1 1,40239846e-45 a 3,40282347e38 4,94065645841264544e-324 a 1.79769313486231570e308
23
24
25
Identificadores
Um identificador pode comear por letra, hfen-caixa-baixa ( _ ), ou smbolo dlar ($). Os caracteres seguintes podem conter dgitos. Caracteres maisculos e minsculos so diferentes e no tem tamanho mximo. Exemplos de identificadores vlidos: identificador Nome_usuario nomeUsuario _sys_var1 $change
26
Tipos primitivos
Strings no so tipos primitivos
Trata-se de um captulo parte!
Forma decimal, hexadecimal (0x) e Octal (0) Literais de ponto flutuantes so, por padro, double
Usa-se f ou F para denotar float
27
Operadores
OPERADOR
+ * / % ++ -> >= < <= == != ! && || & ^ |
FUNO
Adio Subtrao Multiplicao Diviso Resto Incremento Decremento Maior que Maior ou igual Menor que Menor ou igual igual no igual NO lgico E lgico OU lgico AND XOR OR
OPERADOR
~ << >> >>> = += -= *= /= %= &= |= ^= <<= >>= >>>= ?: (tipo)
instanceof
FUNO
complemento
deslocamento esquerda
deslocamento direita desloc. a direita com zeros atribuio atribuio com adio atribuio com subtrao atribuio com multiplicao atribuio com diviso atribuio com resto atribuio com AND atribuio com OR atribuio com XOR atribuio com desloc. esquerdo atribuio com desloc. direito atrib. C/ desloc. a dir. c/ zeros Operador ternrio Converso de tipos
Comparao de tipos
28
Comandos e blocos
Os comandos so terminados com ponto-e-vrgula. Um bloco delimitado por chaves - { e } e constitui um comando composto. O espao em branco permitido entre elementos do cdigo fonte, em qualquer lugar e em qualquer quantidade. So considerados espao em branco o espao, o tab (\t) e mudana de linha (\n). { int x; x = 23 * 54; }
30
Operadores de incremento/decremento
int m = 7; int n = 7; int a = 2 * ++m; // Qual o valor de a e m? int b = 2 * n++; // Qual o valor de b e n?
31
Operadores relacionais
> maior, >= maior ou igual, < menor <= menor ou igual, == igual, != diferente
public class Compare{ public static void main(String args[]){ int x=10,y; if(x<10) y=1; if(x>=10) y=2; System.out.println(o valor de y "+ y ); } }
32
33
Operador condicional ternrio ?: max = (a > b) ? a : b ; // max recebe o maior valor entre a e b Que ser impresso aps a execuo?
int i=0; boolean t=true; boolean f=false,b; b=(t || ((i++) ==0)); b=(f || ((i+=2)>0)); System.out.println(i + + b);
34
Estruturas de deciso
IF SWITCH
int k=10; switch(k){ default: System.out.println(Sada padro"); break; case 10: System.out.println(dez"); case 20: System.out.println(vinto"); break;
}
35
Controle de fluxo
FOR for (inicializao ; teste ; incremento ) {...} ou for ( nomeObjeto: nomeColecao/nomeArray ) {...} (foreach) WHILE while (condio ) { ... } DO - WHILE do { ... } while (condio );
36
Controle de fluxo
for (int conta = 0; conta <= 10; conta++) System.out.println(conta); while (a <10) { System.out.println(a); a++; } do { System.out.println(a); a++; } while (a <10);
37
38
Comportamentos Fundamentais
Atribuio de referncias Passagem de parmetros
Sempre por valor
O operador this
ambiguidades Passar o objeto corrente como parmetro
39
40
41
42
Mtodos
recuperaPorNome
Variveis
dtoDadosPessoa
Constantes
MAX_RESULTADOS
43
44
ANEXO I
Exerccios complementares
45
e) 78
47