programação com acesso a bd programação oo em javaclaytonmaciel/files/20111/bd/aula 14 -...
Post on 08-Nov-2018
214 Views
Preview:
TRANSCRIPT
1
“Todo longo caminho começa
com um simples passo.”Provérbio Chinês
Programação OO em Java
José Maria Monteiro
Pontifícia Universidade Católica do Rio de Janeiro Pontifícia Universidade Católica do Rio de Janeiro –– PUCPUC--RioRioDepartamento de InformáticaDepartamento de Informática
monteiro@inf.pucmonteiro@inf.puc--rio.brrio.br
Programação com Acesso a BD
Clayton Maciel Costa
Campus: IpanguaçuCurso: Técnico em Informática
clayton.maciel@ifrn.edu.br
Programação com Acesso a BD
Programação com Acesso a BD
2
Unidade II: Introdução à Linguagem Java
Comentários
Primitivas da Linguagem Java
� Existem três estilos possíveis de comentários emJava:
//Comentários de uma linha (in line)
/* Comentário de
várias linhas */
/** Comentário de documentação */
Programação com Acesso a BD
3
Comentários
Primitivas da Linguagem Java
� Particularmente, o comentário de documentação ...
/** Comentário de documentação */
... É útil para documentar funcionalidades no código.
� Essas funcionalidades podem ser extraídas automaticamentedo código fonte para gerar documentação em HTML – utilitárioJavaDoc.
Blocos e Sentenças
Primitivas da Linguagem Java
� Uma sentença (statement) é uma linha de códigoterminada por um “;”
total = a + b + c;
� Um bloco de código é delimitado por chaves{
total = a + b + c;
}
Identação: 3 ou 4 espaços.
PS: Usar a mesma identação em todo o código.
4
Identificadores
Primitivas da Linguagem Java
� Um nome em um programa
� São usados para denotar classes, métodos e variáveis
� Composição– Sequência de caracteres:
• Letras
• Dígitos
• Undescores ( _ )
• Símbolos monetários ( $ )
– Não pode começar por dígito
– São “case sensitive”
Identificadores
Primitivas da Linguagem Java
� Exemplos:number,Number, sum_$, $$_100, mal, saldoTotal...
� Identificadores Ilegais:48casa, all/clear, navio-escola,...
5
Palavras-chave
Primitivas da Linguagem Java
� Sinônimos:- Palavras-Reservadas ou Keywords
� Definição:
- São identificadores reservados da linguagem
- Não podem ser usadas para denotar outras entidades (classes,métodos ou variáveis)
� Exemplos:
– Palavras-chaves em Java
• abstract, while, extends
– Palavras-chave que não estão em uso
• const, goto
– Literais reservados
• null, true, false
Java possui 51 palavras-chave/reservadas.
� A linguagem Java possui 51 palavras chave/reservadas:
Primitivas da Linguagem Java
6
Literais
� Literais: São valores representáveis literalmente:– Denotam um valor constante
– Podem ser numéricos, caracteres, booleanos ou strings
� Exemplos:– 2000, 0, -7, 3.14, ‘a’, ‘A’, ‘*’, true, false, ‘”abba”, “3.14”,“for”, null, ...
Primitivas da Linguagem Java
Literais
� Exemplos:
– Números: 1, 2.14, 1.6e-23, 0L, etc
– Valores booleanos: true e false
– Caracteres individuais: ‘a’, ‘u0041’,’\n’, etc
– Seqüências de caracteres: “aaa”, “Java”
– Vetores de números, booleanos ou strings: {”a”,”b”}
Compostos
Unidimensionais
Primitivas da Linguagem Java
7
Tipos
� Tipos representam um valor, uma coleção devalores ou coleção de outros tipos. Podem ser:
– Tipos básicos, ou primitivos: quando representamunidades indivisíveis de informação (de tamanhofixo).
– Tipos complexos: quando representam informaçõesque podem ser decompostas em tipos “menores”(primitivos ou outros tipos complexos).
Primitivas da Linguagem Java
Tipos Primitivos
� Têm tamanho fixo.
� Têm sempre um valor default.
� Armazenados na pilha (acesso rápido).
� Não são objetos.
Primitivas da Linguagem Java
8
Tipos Primitivos
� boolean
� char
� byte
� short
� int
� long
� float
� double
true ou false (1 bit)
caracteres ( Unicode ) (16 bits)
inteiro ( 8 bits )
inteiro (16 bits)
inteiro ( 32 bits )
inteiro ( 64 bits)
ponto flutuante ( 32 bits )
ponto flutuante (64 bits )
Primitivas da Linguagem Java
Tipos Primitivos� Tipos Inteiros
– byte
– short
– int
– long
� Tipos Ponto-Flutuante (decimais)– float
– double
� Tipo Booleano– boolean
� Tipo Caractere– char
Primitivas da Linguagem Java
9
Tipos Primitivos
Primitivas da Linguagem Java
Tipos de Dados Primitivos
Numeric Types
Floating-point TypeIntegral Type
Integer TypesCharacter Type
Boolean Type
byte short int long float doublecharboolean
Tipos de Dados Primitivos em Java
Tipos Primitivos
� Inteiros– São representados como números com sinal e comcomplemento de 2.
� Exemplos:– int i = -215;
– int max = 0x7fffffff; //(hexadecimal)
– int min = 0450; // (octal)
– long fone = 854581947L;
Primitivas da Linguagem Java
10
Tipos Primitivos
� Intervalos de Valores Inteiros:
Primitivas da Linguagem Java
Tipos Primitivos
� Caracteres– O tipo de dado char engloba todos os 65.536 caracteresdo conjunto de caracteres unicode.
– Os primeiros 128 caracteres →→→→ os mesmos do padrãoASCII
� Intervalo de Valores Caracteres:
Primitivas da Linguagem Java
11
Tipos Primitivos
� Números de Ponto-Flutuante– Zero pode ser representado por 0.0 ou –0.0
� Intervalo de Valores Caracteres:– A tabela abaixo mostra os valores positivos, mas omesmo se aplica aos números negativos, bastandocolocar o sinal “-” antes do número.
Primitivas da Linguagem Java
Tipos Primitivos
� Booleanos– Usado para representar os valores lógicos “verdadeiro” e“falso”.
– Valores booleanos podem ser retornados de operadoreslógicos, condicionais e relacionais.
– Seus valores não podem ser convertidos em valores deoutras tipos de dados primitivos.
� Intervalo de Valores Booleanos:
Primitivas da Linguagem Java
12
Strings
� “String” não é um tipo primitivo e sim uma classe;
� Literais: “”, “Hello”, “World”;
� Concatenação: “Hello” + “World” = “HelloWorld”;
� Conversão Implícita: “Hello” + 2001 =“Hello2001”;
� Comparação de Strings: a.equals(b);
– retorna boolean
� Tamanho de uma String: a.length() ;
– retorna int
Primitivas da Linguagem Java
Primitivas da Linguagem Java
Declaração, Inicialização e Atribuição
� Declarando Variáveis
< TIPO> < VARIÁVEL>;
Ex: char a, b, c;
double area;
� Declarando e Iniciando Variáveis
< TIPO> < VARIAVEL> = <EXPRESSÃO> ;
Ex: int i = 10;
int i = 10, j=100;
long big = 12341234L;
float z = 3.414f;
char c = ‘S’;
boolean b = true;
13
� Atribuição
< IDENTIFICADOR>= < EXPRESSÃO>
Ex: idade = 23; sexo = “M”; tem_filhos = false;
j = k = 5;
Primitivas da Linguagem Java
Declaração, Inicialização e Atribuição
� Declaradas dentro de um bloco de código { };
� Criadas quando o bloco de código inicia, destruídas quando ele acaba;
� Devem ser inicializadas ou o compilador emitirá um erro!
Primitivas da Linguagem Java
Variáveis Locais
public static void main (String args[])
{
int a = 10;
}
14
Incremento e Decremento
idade = idade + 1; ou idade + = 1; ou idade ++;
idade = idade - 1; ou idade - = 1; ou idade --;
Primitivas da Linguagem Java
� Posfixadoint a = 4;int b = a++; // b=4; a=5;int c = a--; // c=5; a=4;
� Prefixadoint a = 4;int b = ++a; // a=5; b=5; int c = --a; // a=4; c=4;
Operadores
� Operadores Relacionais:
> >= < <= == !=
� Operadores Lógicos:
& ( and) | (or) ! ( not ) ^ (XOR)
� Operadores a Nível de Bit~ (Complemento) | (OR) & (AND) ^ (XOR)
� Operadores Curto Circuito&& (AND) || (OR)
Primitivas da Linguagem Java
15
Operadores
� Precedência:
Unários, aritméticos, relacionais, lógicos ( primeiro&& e depois ||)
Primitivas da Linguagem Java
Primitivas da Linguagem Java
Operadores � Precedência: de cima para baixa, da direita para aesquerda.
= += -= *= /= %= <<= >>= >>>= &= ^= |=Atribuição
?:Condicional
||OR lógico
&&AND lógico
|OR binário
^XOR binário
&AND binário
== !=Igualdade
< <= > >= instanceofRelacionais
<< >> >>>Rotação (shift)
+ -Adição
* / %Multiplicação
new (type)Criação e Type Cast
++x --x +x -x ~ !Pré-fixados Unários
[ ] . (parâmetros) x++ x--Pós-fixados
16
• Exemplos
2 + 3 * 4
é equivalente a
2 + ( 3 * 4)
1 + 2 - 3
é equivalente a
(1 + 2) - 3
- - 4
é equivalente a
-(-4)
if ( x > y & a < b )
é equivalente a
if ( (x > y) & (a < b) )
Primitivas da Linguagem Java
Operadores
� Operadores booleanos! = NOT & = AND| = OR ^ = XOR
� Operadores a nível de bit~ = Complemento & = AND| = OR ^ = XOR
Expressões lógicas
Primitivas da Linguagem Java
17
� Operadores curto circuito
&& = AND || = OR
� Exemplo:String s = null;
if ( ( s != null ) && ( s.length() > 10 ) )
// faça alguma coisa aqui!
Expressões lógicas
Primitivas da Linguagem Java
Operadores Relacionais
<, <=, >, >=
� Sempre operadores binários
� Operandos são expressões numéricas
� Exemplo(a < b) && (b < c)
Primitivas da Linguagem Java
18
Igualdade: ==, !=
� Tipos primitivos:– Operandos são expressões numéricas ou booleanas(a == b), (b == false), (c != 10)
– Tomar cuidado com expressões com ponto flutuante(1.0 - 2.0 / 3.0 == 1.0 / 3.0) // retorna false
� Igualdade entre Strings:“ABC”.equals(“abc”) // false!(“ABC”.equals(“abc”)) // true
Primitivas da Linguagem Java
Operadores Lógicos Booleanos: !, ̂ , &, |
� Os 2 operandos são avaliadosint c = 10; boolean b = (true | (c++ > 20)); // c = 11;
� Atribuição extendidab &= a; // b = (b & (a))b ̂ = a; // b = (b ^ (a))b |= a; // b = (b | (a))
boolean b1 = false; b2 = false; b3 = false;b1 |= true; // trueb2 ̂ = b1; // trueb3 &= b1 | b2; // false - b3 = (b3 & (b1 | b2))
| - OR& - AND^ - XOR! - NOT
Primitivas da Linguagem Java
19
Operadores Condicionais: &&, ||� Iguais aos Operadores Lógicos Booleanos ( & e | ), exceto
pelo fato de que a avaliação da expressão não precisa ser completa (short circuit)
int c = 10; boolean b = (true | | (c++ > 20)); // c = 10; b = trueb = ( c > 20 ) && (--c == 10); // c = 10; b = false
String s = “aaa”, s2 = null;if (s.equals(“bbb”) & s2.equals(“aa”)) // Erro: s2 é nulo!!!if (s.equals(“bbb”) && s2.equals(“aa”)) // ok
� Precedência: &&, ||boolean b4 = b1 || !b3 && b2; // ( b1 || ((!b3) && b2))
Primitivas da Linguagem Java
Operadores Bitwise: ~, &, |, ^
char v1 = ‘)’; // 41byte v2 = 13;
System.out.println(">"+(~v1));System.out.println(">"+(v1 & v2));System.out.println(">"+(v1 | v2));System.out.println(">"+(v1 ̂ v2));
� Atribuição extendida:b &= a b = (b & a)b ̂ = a b = (b ^ a)b |= a b = (b | a)
| - OR& - AND^ - XOR~ - NOT (inverte os bits)
>-42
>9
>45
>36
Primitivas da Linguagem Java
20
Operador Condicional ?:
<condição> ? <expressão1> : <expressão2>
� <expressão1> e <expressão2> devem ser de tipos compatíveis
boolean anoBisexto = false;int diasEmFevereiro = anoBisexto ? 29: 28; // 28
� o funcionamento é semelhante a um if-else, e a associatividade é da direita para a esquerda
(a?b?c?d:e:f:g) é avaliado como: (a?(b?(c?d:e):f):g)
Primitivas da Linguagem Java
Casting (Conversão Explícita)
� Se existe perda de precisão em uma atribuição énecessário fazer uma conversão explicitamente:– long longValue = 99L;
– int intValue2 = (int)longValue; //OK!
– int intValue1 = longValue; //ERRO!
� Java também pode “promover” o tipo de umaexpressão automaticamente para um tipo maior.– long longValue;
– int intValue = 10;
– LongValue = intValue;
Primitivas da Linguagem Java
21
Convenções de Código
� Java é case sensitive;
� Só por essa razão temos um bom motivo parapadronizar como devemos escrever nossoscódigos;
� Além de tudo é uma boa prática toda a equipeescrever da mesma forma – aumenta oentendimento e organização.
� Existe um documento formal da sun quedetermina esse padrão.
Primitivas da Linguagem Java
Convenções de Código
� Classes e Interfaces– class MinhaClasse
– interfaceMinhaInterface
� Métodos e Variáveis– double valorSalarioMensal;
– calcularSalario()
� Constantes– DIAS_EXPEDICAO_SENHA
– MAX_SITE
Primitivas da Linguagem Java
22
1. Escreva um programa que imprima o resultado das expressões abaixo: • 3 – 2 – 1 + 2 + 1 + 3• 2 x 3 – 4 x 5• 2 + 6 – 3 / 7 x 9• 3 % 4 – 8
2. Escreva um programa que concatene as strings “Tópicos”, “de” e “Linguagens” e imprima o resultado final.
3. Escreva um programa que declare, inicialize e imprima as seguintes variáveis:• Inteiro i de 32 bits com valor 1• Inteiro j de 64 bits com valor 2• Ponto-flutuante p de 32 bits com valor 20.0• Ponto-flutuante q de 64 bits com valor 30.0• Boolean b com valor verdadeiro• Caracter c com valor ‘k’
Exercícios
Cuidados com arrendondamentos
int i = 100 * 3 / 5;System.out.println(">"+i);
i = 3 / 5 * 100;System.out.println(">"+i);
i = (int) 3.0 / 5 * 100;System.out.println(">"+i);
i = (int) (3.0 / 5 * 100);System.out.println(">"+i);
>60
>0
>0
>60
23
Atribuição Extendida
<variável> <op>= <expressão>equivale a< variável > = (<tipo>)<variável> <op> <expressão>
int b = 2;b += 10; // b = 12
é equivalente a b = b + 10;
top related