Академический Документы
Профессиональный Документы
Культура Документы
Identificadores
z
So palavras utilizadas para nomear variveis, mtodos e classes Na linguagem Java, o identificador sempre comea por letra, sublinhado(_) ou cifro ($)
z z
Do segundo caractere em diante, pode conter qualquer seqncia de letras, dgitos, sublinhados ou cifres
Identificadores
z
nomeAluno saldo lmpada // no recomendvel User_name // fora do padro _sys_var1 Class // no recomendvel
Palavras reservadas
z
Modificadores de Acesso
z
abstract, class, extends, final, implements, interface, native, new, static, synchronized, transient, volatile
Controle de fluxo
z
break, case, continue, default, do, else, for, if, instanceof, return, switch, while
5
Palavras reservadas
z
Tratamento de Erros
z
Controle de Pacotes
z
import, package
Tipos de Dados
z
boolean, byte, char, double, float, int, long, short, void (somente retorno)
Palavras reservadas
z
class LiteralTest { public static void main(String [] args) { int true = 100; //isto causa erro } }
Tipos, Literais, Operadores 7
Java, assim como Pascal, C e C++, uma linguagem fortemente tipada -- todas as variveis devem ter um tipo
Armazenados na pilha (acesso rpido) No so objetos. Classe 'wrapper' faz transformao, se necessrio (encapsula valor em um objeto)
Exemplos
10
Caracteres especiais
11
Operadores
12
Precedncia
13
Tabela de Precedncia
14
Atribuio
15
Operadores Matemticos
16
Incremento e Decremento
17
Operadores Relacionais
18
Operadores Lgicos
19
20
Operadores de Deslocamento
21
22
Operador de Concatenao
23
instanceof
24
Tipos de dados
25
26
Converso de referncias
27
A linguagem Java no suporta a coero arbitrria dos tipos de variveis, exceto no caso de concatenao de strings Exemplo
z z z z
28
Converso automtica
z
Qualquer operao com dois ou mais operandos de tipos diferentes sofrer promoo (converso automtica) ao tipo mais abrangente, que pode ser:
z z
O maior ou mais preciso tipo da expresso (at double) O tipo int (para tipos menores que int)
29
Converso automtica
z
As regras para converso com tipos primitivos podem ser assim resumidas:
z
O tipo boolean no pode ser convertido para nenhum outro tipo Os tipos no-booleanos podem ser convertidos para outros tipos no-booleanos, contanto que no haja perda de preciso. Isto , podem ser convertidos apenas para tipos que suportem um limite igual ou maior ao seu
30
Coero (cast)
z
As variveis podem ser convertidas em tipos maiores de maneira automtica, mas no em tipos menores
z
Desta forma, uma expresso int pode ser tratada como long, mas uma expresso long no poder ser tratada como int sem que haja uma coero explicita
Uma coero utilizada para persuadir o compilador a reconhecer uma atribuio Esse procedimento pode ser adotado, por exemplo, para comprimir um valor long em uma varivel int Na coero, o programador assume os riscos da converso de dados
31
Coero
z
Mas o compilador acusar erro porque um long no pode ser atribudo a um int
z
Coero - Exemplo
public class Test { public static void main(String args[]) { int i = 16777473; short s = (short) i; byte b = (byte) i; System.out.println(Valor int: + i); System.out.println(Valor short: + s); System.out.println(Valor byte: + b); } i i= =00000001 0000000100000000 0000000000000001 0000000100000001 00000001 }
(short (short(2 (2bytes) bytes)- -valor: valor:257) 257) bb= =00000001 0000000100000000 0000000000000001 0000000100000001 00000001
Tipos, Literais, Operadores
(int (int(4 (4bytes) bytes) - -valor: valor:16777473) 16777473) ss==00000001 0000000100000000 0000000000000001 0000000100000001 00000001
33
Como o mtodo get sempre retorna um elemento do tipo Object, que no pode ser atribudo a uma String, torna-se necessrio fazer o cast antes da atribuio Caso fosse feita a atribuio direta, teramos um erro de compilao:
String s = v.get(0); // erro
34