java basico opearadores e objetos
-
Upload
nelsonrodrigues -
Category
Documents
-
view
37 -
download
4
description
Transcript of java basico opearadores e objetos
-
Linguagem de Programao Orientada a Objetos
Variveis, Operadores e Estruturas de Controle
Prof. MSc. Mrcia Henke
-
Variveis, Operadores e Estruturas de Controle
Objetivos da Aula
Conhecer os Tipos de Dados
Aprender as Regras de Declarao de Variveis
Abstrair as Recomendaes Gerais de Nomenclatura
Verificar os Operadores e sua procedncia
Estudar e Implementar programas envolvendo Estruturas de Controle
-
A linguagem Java possui 8 tipos bsicos de dados e que so agrupados em 4 categorias, a saber:
Inteiros: Byte, Inteiro Curto, Inteiro e Inteiro Longo
Ponto Flutuante: Ponto Flutuante Simples ou Duplo
Caractere : caractere
Lgico: lgico
Tipos dados primitivos
-
Existem 4 diferentes tipos de dados inteiros, a saber:
Tipos dados inteiros
Tipo Faixa de valores Bits
byte -128 a -127 8
short (inteiro curto) -32.768 a + 32767 16
int (inteiro) -2.147.483.648 a +2.147.483.647 32
long (inteiro longo) -9223.372.036.854.775.808 a + 9223.372.036.854.775.807 64
-
Existem duas representaes para pontos flutuantes
que se diferenciam pela preciso oferecida:
float: reais com preciso simples (32 bits)
double: oferece dupla preciso (64 bits)
Os valores em ponto flutuante do Java esto em conformidade com o padro IEEE 754, tendo:
O ponto como separador de casas decimais
O expoente podendo ser escrito usando o caracter e ou E.
Exemplo: 2.35E6 (= 2.35x106 = 2350000) ou
2.3578e-2 (= 2.3578 x 10-2 = 0.023578)
Tipos dados ponto flutuante
-
Alguns caracteres especiais:
Tipos dados caractere
Representao Significado
\n Nova linha
\r Retorno de carro
\b Retrocesso
\t Tabulao
\f Nova pgina
\ Apstrofe
\ Aspas
\\ Barra invertida
\u223d Caractere UNICOD 223d
\fca Hexadecimal
-
O tipo lgico b o o l e a n capaz de assumir valores false (falso) ou true (verdadeiro) que equivalem aos estados off (desligado) e on (ligado) ou no (no) e yes (sim).
No existem equivalncia entre os valores do tipo lgico e valores inteiros tal como existem em C/C++.
Tipos dados Lgicos
-
O tipo lgico b o o l e a n capaz de assumir valores false (falso) ou true (verdadeiro) que equivalem aos estados off (desligado) e on (ligado) ou no (no) e yes (sim).
No existem equivalncia entre os valores do tipo lgico e valores inteiros tal como existem em C/C++.
Tipos dados Lgicos
-
Uma varivel em uma linguagem similar a uma varivel em matemtica. Matemtica -> Nome + Domnio + Valor
Linguagem -> Nome + Tipo + Valor (ou contedo)
O nome de uma varivel em Java pode ser uma seqnciade um ou mais caracteres alfabticos e numricos, iniciados por uma letra ou ainda pelos caracteres _ (undescore) ou $ (cifro).
Os nomes no podem conter outros smbolos grficos, operadores ou espaos em branco, podendo ser arbitrariamente longos embora apenas os primeiros 32 caracteres sero utilizados para distinguir nomes de diferentes variveis.
Letras maisculas so consideradas diferentes das minsculas.
Declarao de variveis
-
Exemplos vlidos de nomes de variveis:
a
resultado
x2o
$minimo
_especial
RESULT
Maximo
DataNasc
Declarao de variveis
-
Exemplos invlidos de nomes de variveis:
1x
Resul
geral
salario-minimo int
Declarao de variveis
-
As palavras reservadas da linguagem Java, que portanto no podem ser utilizadas como nome de variveis ou outros elementos, so:
Declarao de variveis
abstract assert booleanbreak byte case catch char class
constcontinue default do doubleelse enumextendsfalse final
finally float for goto if implements import instanceofInt
interface long native new null package private protectedpublic
public return short static strictfpsuper switch synchronized this
throw throws transient true try void volatile while
-
Declarao Individual
int i; float total, preco;
byte mascara;
double valorMedio;
Declarao em Conjunto
char nota1, nota2;
Declarao com valor inicial para uma varivel
int quantidade = 0;
float angulo = 1.35;
boolean ok = false;
char letra = a
Declarao de variveis
As variveis podem ser declaradas em qualquer ponto do programa e esto em conformidade com as regras de escopo de variveis.
-
Em Java, recomenda-se que a declarao de variveis utilize nome iniciados com letras minsculas. Caso o nome seja composto de mais de uma palavra, as demais devem ser iniciadas com letras maisculas tal como nos exemplos:
Contador total sinal
posicaoAbsoluta mediaMinimaBimestre mediaFinalTurma
A utilizao de caracteres numricos no nome livre enquanto o uso do trao de sublinhar (underscore _) no recomendado.
Regras para nomes de variveis
-
So trechos de texto, usualmente explicativos, inseridos dentro do programa de forma que no sejam considerados como parte do cdigo.
Tipos de comentrios:
De uma linha (//)
// comentrio de uma linha
x = x*i; // comentrio aps duas barras
Uma ou mais linhas (mltiplas linhas)
/* comentrio de mltiplas linhas */
De documentao
/** comentrio de documentao que
* tambm pode ter mltiplas linhas
*/
Comentrio
-
Geralmente o comentrio de documentao posicionado imediatamente antes do elemento a ser documentado e tem seu contedo extrado automaticamente pelo utilitrio javadoc.
Esta ferramenta gera pginas em formato HTML contendo os comentrios organizados da mesma forma que a documentao fornecida juntamente com o JDK.
Pode-se adicionam tags html aos comentrios de documentao, incluindo imagens, tabelas, textos explicativos, links e outros recursos.
Tipos de informaes administradas pelo javadoc que atravs de marcadores pr-definidos iniciados com @ permitem a criao automtica de ligaes hipertexto entre a documentao e a formatao padronizada de outros elementos.
/** Classe destinada ao armazenament de dados relacionados a
* arquivos ou diretrios.
* Pode ser usada para armazenar rvores de diretrios.
* @autor Mrcia Henke
* @veja java.io.File */
Comentrio (continuao)
-
A linguagem Java oferece um conjunto bastante amplo de operadores destinados a realizao de operaes aritmticas, lgicas, relacionais e de atribuio.
Operadores Aritmticos
Operadores
Operador Significado Exemplo
+ Adio a + b
- Subtrao a b
* Multiplicao a * b
/ Diviso a/b
% Resto da diviso inteira a%b
- Sinal negativo -a
+ Sinal positivo +a
++ Incremento unitrio ++a ou a++
-- Decremento unitrio --a ou a--
-
Multiplicao e Diviso: * e /
int um = 3 / 2; // diviso de inteiros gera um inteiro
float umEmeio = (float) 3 / 2; // ocorre promoo aritmtica para float
double xyz = umEmeio * um; // ocorre promoo aritmtica para float
Mdulo: %
int resto = 7 % 2; // resto = 1
Adio e Subtrao: + e - ?
long l = 1000 + 4000;
double d = 1.0 0.01;
Concatenao:
long var = 12345;
String str = O valor de var + var;
Na concatenao de Strings, as variveis ou literais so promovidos a String antes:
String str = O valor de var + Long.toString( var );
Operadores
-
Exemplo :
Um exemplo de uma aplicao que declara algumas variveis, atribui valores iniciais e efetua algumas operaes imprimindo os resultados
Operadores
-
//Aritmetica.java
public class Aritmetica {
static public void main (String args[]) {
//Declarao e inicializao das variveis
int a = 5, b = 2;
//Vrias situaes envolvendo os operadores aritmticos System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("-b = " + (-b));
System.out.println("a + b = " + (a + b));
System.out.println("a - b = " + (a - b));
System.out.println("a * b = " + (a*b));
System.out.println("a / b = " + (a/b));
System.out.println("(float) a / b = " + ( (float) a/b));
System.out.println("a % b = " + (a%b));
System.out.println("a++ = " + (a++));
System.out.println("a = " + a);
System.out.println("--b = " + (--b));
System.out.println("b = " + b);
} //fim do mtodo main
} //fim da classe Aritmetica
Operadores
-
Relacionais
So operadores que permitem comparar valores literais,variveis ou o resultado de expresses retornando um resultadodo tipo lgico, isto , um resultado falso ou verdadeiro. Osoperadores relacionais disponveis so:
Operadores
Operador Significado Exemplo
== Igual a == b
!= Diferente a != b
> Maior que a > b
>= Maior ou igual a a >= b
< Menor que a < b
-
Um exemplo simples envolvendo operadores relacionais.
//Relacional.java
public class Relacional{
static public void main (String args[]) {
int a = 15, b = 10;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("a = b => " + (a == b));
System.out.println("a != b => " + (a != b));
System.out.println("a > b => " + (a > b));
System.out.println("a >= b => " + (a >= b));
System.out.println("a < b => " + (a < b));
System.out.println("a " + (a
-
Lgicos
So operadores que permitem conectar logicamente o resultadode diferentes expresses aritmticas ou relacionais construindoassim uma expresso resultante composta de vrias partes.
Operadores
Operador Significado Exemplo
&& E logico (and) a && b
|| OU lgico (or) a || b
! Negao (not) !a
-
Operadores de Atribuio
A atribuio a operao que permite definir o valor de umavarivel atravs de uma constante ou atravs do resultado deuma expresso envolvendo operaes diversas.
boolean resultado = false;
byte a, b, c;
i = 0;
a = b = c = 0; //equivalncia a=(b= (c=0))
y = a*x + b;
Operadores
-
Operador Condicional : ?
tambm conhecido como operador ternrio, pois trabalha com 3operandos. Ele avalia o primeiro operando. Caso a avaliao retorne true, eleexecuta o segundo operando. Seno, ele executa o terceiro operando. Osegundo e terceiro operandos DEVEM ser do mesmo tipo (seno, use cast).
O cdigo do operador ternrio abaixo:
int x = 10;
int y = (x > 10) ? x : x+1;
semelhante ao cdigo abaixo:
int x = 10;
int y;
if ( x > 10 ) {
y = x;
} else {
y = x + 1;
}
Operadores
-
As estruturas de controle so divididas em:
Estruturas Sequenciais
Estruturas de Deciso
Estruturas de Repetio
Estruturas de Controle
Fluxo sequencial de execuo
Desvio do fluxo de execuo
Fluxo repetitivo de execuo
-
Estrutura de controle - simbologia
terminal
Seta de fluxo de dados
processamento
deciso
conector
conector
teclado
display
-
Copyright 2000, Departamento de Informtica, UFPE. Todos os direitos reservados sob a legislao em vigor.
Sequencial
Como o prprio nome sugere, estrutura sequencial um conjunto de instrues no qual cadainstruo ser executada em sequencia.
Obviamente, esta sequencia obedece a umalgica de programao.
-
Sequencial
-
Sequencial
-
Exerccios Estrutura Sequencial
1.Calcula o dobro de um nmero.
2.Calcula a mdia entre dois nmeros
3. Imprima o produto entre 28 e 43.
4. Leia duas variveis A e B e trocar seus valores. Ex: Entrada: A=6 e B=8 Sada: A=8 e B=6.
-
Copyright 2000, Departamento de Informtica, UFPE. Todos os direitos reservados sob a legislao em vigor.
Estrutura Condicional ou Deciso
public class {
public {
//Declarao das variveis
tipo v1, v2, ..., vN;
tipo resultado;
resultado = 0;
leia(v1, v2, ..., vN);
se (condio)
resultado = v1 + v2 + ... +vN;
escreva(resultado);
}
}
-
Copyright 2000, Departamento de Informtica, UFPE. Todos os direitos reservados sob a legislao em vigor.
Estrutura Condicional ou Decisopublic class {
public {
//Declarao das variveis
tipo v1, v2, ..., vN;
tipo resultado1, resultado2;
resultado1 = 0;
resultado2 = 0;
leia(v1, v2, ..., vN);
se (condio){
resultado1 = v1 + v2 + ... + vN;
resultado2 = 1*v1 + 2*v2 +...+N*vN;
}
escreva(resultado1);
escreva(resultado2);
}
}
-
Copyright 2000, Departamento de Informtica, UFPE. Todos os direitos reservados sob a legislao em vigor.
Estrutura Condicional ou Decisopublic class SenhaCofreDecSimples {
public static void main (String args[]) {
//Declarao das variveis
String mensagem, senha;
mensagem = "Acesso Negado!";
System.out.println("Programa para Autorizar o acesso a um cofre");
System.out.print("Digite a senha:");
senha = entrada.next();
if (senha.equals(java2"))
mensagem = "Acesso Autorizado";
System.out.println(mensagem);
} //fim do mtodo principal
}//fim da classe
-
Copyright 2000, Departamento de Informtica, UFPE. Todos os direitos reservados sob a legislao em vigor.
Estrutura Condicional ou Decisopublic class {
public {
//Declarao das variveis
tipo v1, v2, ..., vN;
tipo resultado;
leia(v1, v2, ..., vN);
se(condio)
resultado = v1 + v2 + ... +vN;
seno
resultado = 1*v1 + 2*v2 +...+ N*vN;
escreva(resultado);
}
}
-
Copyright 2000, Departamento de Informtica, UFPE. Todos os direitos reservados sob a legislao em vigor.
Estrutura Condicional ou Decisoimport java.util.Scanner;
public class SenhaCofreDecComp {
public static void main (String args[ ]) {
//Declarao das variveis
String mensagem, senha;
Scanner entrada = new Scanner(System.in);
System.out.println("Programa para Autorizar
o acesso a um cofre");
System.out.print("Digite a senha:");
senha = entrada.next();
if (senha.equals(java2"))
mensagem = "Acesso Autorizado";
else
mensagem = "Acesso Negado";
System.out.println(mensagem);
} //fim do mtodo principal
}//fim da classe
-
Copyright 2000, Departamento de Informtica, UFPE. Todos os direitos reservados sob a legislao em vigor.
Estrutura Condicional ou Deciso - composta
se(condio1){
Instrues quando a condio1 for V;
}
seno{
se(condio2){
Instrues quando a condio1 for F;
E a condio2 for V;
}
seno{
Instrues quando a condio1 e
a condio2 forem F;
}
}
...
-
Copyright 2000, Departamento de Informtica, UFPE. Todos os direitos reservados sob a legislao em vigor.
Estrutura Condicional ou Decisoimport java.util.Scanner;
public class SistemaCondEnc {
public static void main (String args[]) {
Scanner entrada = new Scanner(System.in);
//Declarao das variveis
double x, fx;
System.out.println("Programa: Sistema com 3 equacoes");
System.out.print("Informe o valor de x: ");
x = entrada.nextDouble();
//Estrutura de Decisao Encadeada
if(x>=3)
fx=Math.pow(x,2)+x-5;
else
if(x>=-1)
fx=x+1;
else
fx=1;
System.out.printf("F(x) = %.2f\n", fx);
} //fim do mtodo principla
}//fim da classe
-
Copyright 2000, Departamento de Informtica, UFPE. Todos os direitos reservados sob a legislao em vigor.
Estrutura Condicional ou Decisoimport java.util.Scanner;
public class SistemaCondEnc {
public static void main (String args[]) {
Scanner entrada = new Scanner(System.in);
//Declarao das variveis
double x, fx;
System.out.println("Programa: Sistema com 3 equacoes");
System.out.print("Informe o valor de x: ");
x = entrada.nextDouble();
//Estrutura de Decisao Encadeada
if(x>=3)
fx=Math.pow(x,2)+x-5;
else
if(x>=-1)
fx=x+1;
else
fx=1;
System.out.printf("F(x) = %.2f\n", fx);
} //fim do mtodo principla
}//fim da classe
-
Copyright 2000, Departamento de Informtica, UFPE. Todos os direitos reservados sob a legislao em vigor.
Estrutura Condicional ou DecisoSeleo de Mltipla Escolha
escolha(opcao){
caso v1: instruo1;
caso v2: instruo2;
...
caso v4: instruo1;
}
/* Programa: as 4 operaes matemticas */import java.util.Scanner;
public class CalcSelMulEscolha {public static void main(String args[]) {
Scanner entrada = new Scanner(System.in);double a, b, result=0;int op; //operacaoSystem.out.println("Calculadora");System.out.println("1 - Soma");System.out.println("2 - Subtrao");System.out.println("3 - Multiplicao");System.out.println("4 - Diviso");
-
Copyright 2000, Departamento de Informtica, UFPE. Todos os direitos reservados sob a legislao em vigor.
//CONTINUAOSystem.out.print("Escolha uma opo: ");op = entrada.nextInt();System.out.print(" 1o. valor: ");a = entrada.nextDouble();System.out.print(" 2o. valor: ");b = entrada.nextDouble();System.out.print("Resultado: ");switch(op){
case 1: result = a + b;break;case 2: result = a - b;break;case 3: result = a*b;break;case 4: result = a/b;break;default: System.out.print("Escolha de opo invlida");
} //fim do switchSystem.out.printf("%6.2f\n",result);
} //fim do mtodo principal}
-
Copyright 2000, Departamento de Informtica, UFPE. Todos os direitos reservados sob a legislao em vigor.
Exerccios
Faa programas em Java para resolver problemas que envolvam:
1) Controle de entrada de um funcionrio a um sistema, apenas
quando ele digitar o login e a senha corretamente. Sabe-se que
inicialmente a autorizao negada.
2) Leia um valor de x e fornea o resultado de f(x). Sabendo que f(x) =
x2 + 2x, se x 1, e f(x) = -3x +1, se x < 1.
3) Calcular a mdia de uma disciplina, informando se o aluno estar
reprovado ou aprovado. ( Media = (Prova1 + Prova2 + 3*Projeto)/5,
Aprovado 7,0).
-
Copyright 2000, Departamento de Informtica, UFPE. Todos os direitos reservados sob a legislao em vigor.
Faa programas em Java para resolver problemas que envolvam:
4) Calcule o Imposto de Renda a ser descontado no salrio de um trabalhador. As faixas salariais em funo dos descontos so mostradas na tabela abaixo.
5) Dados trs valores para os lados (A, B e C) de um tringulo verificar e informar se estes valores formam um tringulo (A
-
Copyright 2000, Departamento de Informtica, UFPE. Todos os direitos reservados sob a legislao em vigor.
Estrutura Repetio