Você está na página 1de 36

Curso

Análise e Desenvolvimento de Sistemas

Disciplina
Programação Orientada a Objetos

Período
2º Período

Carlos Sulzer Pêgo


E-mail : carlossulzer@saocamilo-es.com.br
Comentário de Código
Java aceita 3 tipos de comentários:
– Comentando uma única linha: //
– Para comentar várias linhas: /* */
– Para comentar várias linhas e gerar
documentação com Javadoc: /** */
Javadoc é um programa gerador de
documentação em HTML, fornecido
pela Sun junto com o SDK.
Case-Sensitive
O Java é case-sensitive, ele
diferencia letras minúsculas
de maiúsculas, um “M” é
interpretado diferente de um
“m”. Consequentemente Main
é diferente de main.
IntelliSense
Lista que exibe todos os métodos,
propriedades e campos da classe.
Esse não é um recurso exclusivo do
NetBeans, mas ajuda muito na
programação principalmente em
linguagens case-sensitive, como é o
caso do Java.
Algorítimo X Java
Algorítimo Java
inicio {
fim }
se if
senão else
leia readLine()
escreva System.out.println(“texto”)
e & / &&
ou | / ||
escolha switch
caso case
repita while{} / do{ }while
para for
Algorítimo X Java
Algorítimo Java
inteiro int
real double
caracter string
lógico boolean
vetor Array : int valor[5]
retorne return
try, catch e finally
Os comando try, catch e finally são utilizados na
intercepção e tratamento de exceção em tempo de
execução.

try – bloco de proteção do código

catch – filtra e trata a exceção

finally – sempre executado após o disparo da exceção

catch(Exception ex) – genérico, deverá vir no final dos


tratamentos
try, catch, finally
Try
{
System.out.println("Bloco try executado.“);
}
catch(DivideByZeroException ex)
{
System.out.println(" Bloco catch #1 - “+ex.getMessage());
}
catch(Exception ex)
{
System.out.println(" Bloco catch #2 -“+ex.getMessage());
}
Finally
{
System.out.println(" Bloco finally executado“);
}
Entrada de Dados
Para entrada de dados via teclado usaremos a
classe BufferReader.
int codigo = 0;
BufferedReader READER = new BufferedReader(new InputStreamReader(System.in));
try
{
System.out.println("Entre com código do cliente : ");
codigo = Integer.parseInt(READER.readLine());
}
catch (IOException erro)
{
System.out.println("Erro na entrada de dados"+erro.getMessage());
}
catch ( NumberFormatException erro )
{
System.out.println("Houve erro na conversão"+erro.getMessage());
}
Tipos de Variáveis
Tipo Descrição

boolean Pode assumir o valor true ou o valor false


Caractere em notação Unicode de 16 bits. Serve para a armazenagem de
char dados alfanuméricos. Também pode ser usado como um dado inteiro com
valores na faixa entre 0 e 65535.
Inteiro de 8 bits em notação de complemento de dois. Pode assumir valores
byte
entre -27=-128 e 27-1=127.
Inteiro de 16 bits em notação de complemento de dois. Os valores possívels
short
cobrem a faixa de -2-15=-32.768 a 215-1=32.767
Inteiro de 32 bits em notação de complemento de dois. Pode assumir
int
valores entre -231=2.147.483.648 e 231-1=2.147.483.647.
Inteiro de 64 bits em notação de complemento de dois. Pode assumir
long
valores entre -263 e 263-1.
Representa números em notação de ponto flutuante normalizada em
precisão simples de 32 bits em conformidade com a norma IEEE 754-1985.
float
O menor valor positivo represntável por esse tipo é 1.40239846e-46 e o
maior é 3.40282347e+38
Representa números em notação de ponto flutuante normalizada em
precisão dupla de 64 bits em conformidade com a norma IEEE 754-1985.
double
O menor valor positivo representável é 4.94065645841246544e-324 e o
maior é 1.7976931348623157e+308
Armazenamento de Valores
Tipo Valores possíveis de se armazenar
bool Verdadeiro ou Falso (Valores boleanos true / false)
byte 0 a 255 (8 bits sem sinal)
sbyte -128 a 127 (8 bits com sinal)
char Um caractere (carectere unicode de16 bits)
decimal ±1.0 × 10−28 a ±7.9 × 1028 (128 bits, 28 ou 29 dígitos)
double ± 5.0 × 10−324 a ±1.7 × 10308 (número com ponto flutuante de 64 bits)
float ±1.5 × 10−45 a ±3.4 ×1038 (número de ponto flutuante de 32 bits)
int -2,147,483,648 a 2,147,483,647 (32 bits com sinal)
uint 0 a 4,294,967,295 (32 bits sem sinal)
long –9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 (64 bits com sinal)
ulong 0 a 18,446,744,073,709,551,615 (64 bits sem sinal)
Object Qualquer tipo. Classe básica para todos os tipos
short -32,768 a 32,767 (16 bits com sinal)
ushort 0 a 65,535 (inteiro de 2 bytes sem sinal)
DateTime Números inteiros longos com 8 bytes (datas :01/01/0001 até 31/12/9999,
horas : 00:00:00 até 23:59:59)
string Seqüência de caracteres (16 bits por caractere – armazena até 1GB)
Nomeando uma variável
Recomendações para a nomeação das
variáveis:

Evite usar underline (_variavel);

Não crie variáveis que sejam diferentes


apenas pela sua forma. Exemplo:
minhaVariavel e outra chamada
MinhaVariavel;
Nomeando uma variável
Evite usar todas as letras
maiúsculas;

Não use notação Húngara (A notação


húngara consiste em colocar-se
prefixos nos nomes de variáveis, de
modo a facilmente se identificar seu
tipo )
Nomeando uma variável
PascalCasing - Usar essa convenção quando
estiver nomeando classes, métodos, propriedades,
enumeradores, interfaces e constantes.
Exemplo : (CalcularSalario)

camelCasing - Usar essa convenção na nomeação


de variáveis que definem campos e parâmetros.
Para usar esse tipo de convenção, capitalize a
primeira letra de cada palavra, exceto da primeira
palavra.
Exemplo: int dataNascimento;
Exemplo

public static void main(String[] args) {


int codigo = 0; // código do cliente
String nome = ""; // nome do cliente
Date dataNasc; // data de nascimento
double salario = 0; // salario
}
Palavras Reservadas

abstract continue for new switch


assert *** default goto* package synchroisnized
boolean do If private this
break double implements protected throm
byte else import public throws
case enum*** instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp** volatile
const * float native super while
Operadores de atribuição de
valores a variáveis
Operador Função
A=B Igualar a variável A à B
A += B O mesmo que A = A + B
A -= B O mesmo que A = A - B
A *= B O mesmo que A = A * B
A /= B O mesmo que A = A / B
A %= B O mesmo que A = A % B (modulo)
Operadores Aritméticos e
concatenação
Operador Função
+ Adição e concatenação de string
- Subtração
* Multiplicação
/ Divisão real ou inteira
% Modulo (resto da divisao inteira)
Expressões
No caso de encadeamento de operações com a
mesma precedência, a linguagem define o modo
de associatividade (à esquerda ou à direita). Os
operadores aritméticos em Java têm
associatividade à esquerda.
Exemplo:
Exemplo
6/2/3 é calculado como (6/2)/3 pois neste
caso a associatividade é à esquerda. Em Java,
apenas os operadores de atribuição ( = *= /=
%= += -= ) e o operador condicional “ternário”
(? :), têm associatividade à direita.
Combinação de Operadores
A combinação de operadores é muito
freqüente. No entanto, quanto maior
for a expressão, maior será a
probabilidade de erro lógico.
Convém utilizar “()” para forçar a
avaliação pretendida das expressões.
Exemplo:
(a + b) * c
Operador Condicional (ternário)
Usando de forma normal
int valorA = 10;
int valorB = 5;
bool testeValor = (valorA == valorB)

if (testeValor == true)
{
retorno = “A > B”;
}
else 1ª forma (usando if)
{
retorno = “A < B”;
}

Usando operador condicional (ternário)

retorno = (valorA > valorB) ? “A > B” : “A < B” ;


Operadores Lógicos
Operador Função
! Negação
& Conjunção (AND)
| Disjunção (OR)
&& Se a primeira expressão (à esquerda) for
Falsa então a segunda não chega sequer a
ser avaliada e o valor retornado é Falso.
|| Se a primeira expressão (à esquerda) for
Verdadeira então a segunda não chega
sequer a ser avaliada e o valor retornado é
Verdadeiro.
Operadores de Comparação
Operador Função
== Testa igualdade (valorA == valorB)
!= Testa diferença (valorA != valorB)
< Menor que (valorA < valorB)
> Maior que (valorA > valorB)
<= Menor ou igual a (valorA <= valorB)
>= Maior ou igual a (valorA >= valorB)
is / as Usado para determinação do tipo do objecto
bool testeValor = (obj is Object);
Declaração de Variáveis
Inteiros:
int contaLinhas = 10;
Decimais:
Decimal valorUnitario = 11.5;
Boleanos:
boolean calcularDigito = false;
Strings:
string minhaVariavel = “São Camilo”;
Estruturas de Decisão
Utilização das Estruturas de Decisão
– IF
– IF … ELSE
– IF … ELSE + IF
– SWITCH
Estruturas de Decisão - IF
int x = 0;
if (x ==2)
{
txtMensagem.Text = "O Valor de x é 2";
}

int x = 0;
if (x ==2)
{
txtMensagem.Text = "O Valor de x é 2";
}
else
{
txtMensagem.Text = “O Valor de x NÃO é 2";
}
Estruturas de Decisão - IF
int x = 0;
if (x ==2)
{
txtMensagem.Text = "O Valor de x é 2";
}
else if (x == 0)
{
txtMensagem.Text = "O Valor de x é 0";
}
else if (x == 10)
{
txtMensagem.Text = "O Valor de x é 10";
}
Estruturas de Decisão
int mes = 1;
switch (mes)

Switch - int {
case 1:
case 3:
case 5:
int x = 50; case 7:
switch (x) case 8:
{ case 10:
case 10: case 12:
txtMensagem.Text = "10"; txtMes.Text = "Número de dias: 31";
break; break;
case 20: case 4:
txtMensagem.Text = "20"; case 6:
break; case 9:
default: case 11:
txtMensagem.Text =
txtMes.Text = "Número de dias: 30";
convert.ToString(x);
break; break;
} case 2:
txtMes.Text ="Número de dias: 28 ou
29";
break;
}
Exemplo de switch - char
char acao = “I”
switch(acao)
{
case ‘I':
txtMensagem.Text = “Inserir.”;
break;
case ‘A':
txtMensagem.Text = “Atualizar.”;
break;
case ‘E':
txtMensagem.Text = “Excluir.”;
break;
default:
txtMensagem.Text = “Ação não definida.”;
}
Exemplo de switch - string
string produto = “Windows NT”;
switch(produto)
{
case “Windows 2000”:
case “Windows NT”:
txtMensagem.Text = “Sistema
Operacional.”;
break;
case “SQL Server”:
txtMensagem.Text = “Banco de Dados.”;
case “ADO”:
goto case “SQL Server”;
default:
txtMensagem.Text = “Outros Programas.”
}
Estruturas de Decisão - Switch
Notas sobre o switch:
switch
– Cada case pode conter apenas uma e uma só
constante.
– É necessário garantir explicitamente que
entrando num case, não pode entrar-se em
nenhum outro, nesse switch. Isso pode se
feito com o uso do comando break.
– Uma variável definida num case, será visível
em todo (e apenas) o switch respectivo,
porém tem que ser explicitamente inicializada
em cada case.
– A palavra chave default pode ser colocada em
qualquer posição no switch
Comando for
O Comando for possui 3 declarações diferentes, separadas
por ponto e virgula (;), e dentro dos parênteses :
inicialização, condição e iteração. Em cada parâmetro, mais
de uma expressão pode ser encontrada separada por
virgula.

- Exemplo de For (crescente)


for(int x=0; x < 100; ++x)
{
System.out.println(x);
}
Comando for
- Exemplo de For (decrescente)
for(int x=100; x > 0; --x)
{
System.out.println(x);
}

- Exemplo de For (com vários parâmetros)


for(int y=100, x = 0; x < y; ++x, --y)
{
System.out.println(“valor de X :”+x);
System.out.println(“valor de Y :”+y);
}
Comando for

for(int y=100, int x = 0; x < y; ++x, --y)


{
System.out.println(x);
}
Comando do e while
Os comando do e while têm caracteristicas
semelhantes. Ambos executam
condicionalmente um comando ou bloco
de comandos. No entanto, o comando do
pode ser executado uma ou mais vezes e
o comando while pode ser executado
nenhuma ou mais vezes, isto ocorre
porque a expressão condicional do
comando do é encontrado no final do
bloco.
Comando do e while
Comando while
int vezes = Convert.ToInt32(txtContador.Text);
int[] seq = new int[vezes];
int contador = 0;
while (contador < seq.Length)
{
seq[contador] = contador;
contador++; Exemplos
System.out.println(contador);
}

Comando do
int a = 0;
bool f = true;
do
{
f = (++a==100);
System.out.println(a);
}
while(f);

Você também pode gostar