Sei sulla pagina 1di 55

Ambiente de

Programação Java
Tipo de dados
Sintaxe

Programação
OO 1
Ambiente de Programação Java
TIPOS DE DADOS EM JAVA
Tipo Definição

boolean Verdadeiro ou falso

char Dados de caracteres:16 bits:


representando até 32.768 caracteres

byte Inteiro de 8 bits

short Inteiro de 16 bits

int Inteiro de 32 bits

long Inteiro de 64 bits

float Dados de ponto flutuante: 32 bits

double Dados de ponto flutuante: 64 bits


2
Ambiente de Programação Java
TIPO INTEIRO

public class TestaInt {


public static void main(String[]
args) {
int um = 10;
int dois = 20;
int soma = um+dois;
System.out.println(“A soma
e “+ soma);
}
}

3
Ambiente de Programação Java
TIPO INTEIRO
public class Calculadora {

int op1,op2,result;
void inicializa(int valor1,int valor2)
{
op1 = valor1;
op2 = valor2;
}
int soma() {
result = op1+op2;
return result;
}
int mult() {
result = op1*op2;
return result;
}
…………………………….. CONTINUAÇÃO
4
Ambiente de Programação Java
TIPO INTEIRO

int subtrai() {
result = op1-op2;
return result;
}

void mostraResultado()
{
System.out.println("O resultado é "+result);
}

} // fim da classe Calculadora

5
Ambiente de Programação Java
Tipo byte

Ex.1:
public class TestaByte {
public static void main(String[] args) {
byte um = 10;
byte dois = 20;
byte soma = (byte)(um+dois);
System.out.println(“A soma e “+ soma);
}
}

• OBS:
Na linha:
byte soma = (byte)(um+dois);
estamos fazendo uma coersão de dados (“cast”), de forma que a variável soma
assuma que é do tipo byte.
O motivo: os computadores modernos fazem todas as operações de números inteiros
com precisão de 32 ou 64 bits, e não com precisão de 8 bits. Com isso, todas as
atribuições de valores a variáveis do tipo byte devem ser convertidas para esse tipo.
6
Ambiente de Programação Java
Tipo byte

• Ex.2:

public class Calculadora2 {


byte op1,op2,result;
void inicializa(byte valor1,byte valor2)
{
op1 = valor1;
op2 = valor2;
}
byte soma() {
result = (byte)(op1+op2);
return result;
}
byte mult() {
result = (byte)(op1*op2);
return result; }
7
Ambiente de Programação Java
Tipo byte
byte subtrai() {
result =(byte) (op1-op2);
return result; }
void mostraResultado()
{
System.out.println("O resultado é "+result);
}
}
public class Principal {
public static void main(String[] args)
{
Calculadora2 obj = new Calculadora2();
obj.inicializa((byte)2,(byte)3);
obj.soma();
obj.mostraResultado();
}
} 8
Ambiente de Programação Java
Tipo SHORT
• Tipo short
Suporta números de 16 bits.
As mesmas regras aplicadas ao tipo byte se aplicam ao tipo short. As atribuições de
valores a variáveis do tipo short sempre devem ser convertidas para esse tipo de
dado.

Ex.:
public class TestaShort {
public static void main(String[] args) {
short um = 10;
short dois = 20;
short soma = (short)(um+dois);
System.out.println(“A soma e “+ soma);
}
}

9
Ambiente de Programação Java
Tipo LONG

• Tipo long
Suporta números de 64 bits.
Deve ser utilizado o literal “L” para informar ao compilador que se trata de um tipo
long, caso contrário ele tentará atribuir o valor a um tipo int, como um valor do
tipo long pode extrapolar os limites do tipo de dado int, um erro de compilação
será assinalado.
Ex.:

public class TestaLong {


public static void main(String[] args) {
long um = 44444444444L;
long dois= 11111111111L;
long soma = (um+dois);
System.out.println(“A soma e “+ soma);
}
}
10
Ambiente de Programação Java
TIPO FLOAT
• Tipo float

O tipo float armazena números de ponto flutuante, em 32 bits.


Devemos utilizar um literal float “F”.

Em java, atribuições de valores de ponto flutuante assumem o tipo de dado double


como padrão.

• Ex.:
public class TestaFloat {
public static void main(String[] args) {
float um = 6.5F;
float dois= 3.5F;
float soma = (um+dois);
System.out.println(“A soma e “+ soma);
}
}
11
Ambiente de Programação Java
Tipo DOUBLE
• Tipo double
O tipo double armazena números de ponto flutuante em 64 bits.
O tipo double é o tipo padrão em java para atribuições de valores em ponto
flutuante, desta forma as linhas:

double um = 6.5;
double dois= 3.5D;

estão corretas. Como double é o tipo padrão, costuma-se omitir o sufixo “D”.
Ex.:
public class TestaDouble {
public static void main(String[] args) {
double um = 6.5;
double dois= 3.5;
double soma = (um+dois);
System.out.println(“A soma e “+ soma);
}
12
}
Ambiente de Programação Java
Tipo DOUBLE
• Suponha o código:
public class TestaDouble {
public static void main(String[] args) {
float um = 6.5F;
float dois= 3.5F;
double soma = (um+dois);
System.out.println(“A soma e “+ soma);
}
}

• O código seria compilado corretamente?


• Sempre podemos atribuir uma variável de menor capacidade a uma variável de
capacidade maior. Então o código acima seria executado sem nenhum problema.

13
Ambiente de Programação Java
Tipo CHAR
• Tipo char

Armazena valores sem sinal em 16 bits. Podemos representar dados de caracteres.


Os valores do tipo char devem ser expressos em aspas simples.

Ex.:
public class TestaChar {
public static void main(String[] args) {
char um = ‘A’;
char dois= ‘B’;
System.out.println(“O valor de um e “+
um);
}
}

14
Ambiente de Programação Java
Tipo STRING

• Tipo String
Quando você trabalha com string de caracteres em Java, você utiliza as
instâncias da classe Java.lang.String.

Quando Java encontra uma string literal em aspas cria automaticamente um


objeto String.
As declarações podem ser implícitas ou explícitas:

Ex.:
String nome = “ Maria”; // declaração implícita
OU
String nome = new String(“Maria”); // Criando
explicitamente um objeto
// utilizando o operador new.

15
Ambiente de Programação Java
Tipo STRING

• Significa que Java trata uma string de caracteres literal como um objeto String, o
que significa que podemos utilizar os métodos da classe String, como:

a) length() : Retorna o tamanho da string.


int tam = “João e Maria”.length();

b) concat(Obj String) : Concatenando uma string a outra.


String s1, s2;
s1 = “ABC”;
s2 = “XYZ”;
String s3= s1.concat(s2); // concatena o conteúdo de
s2 a s1
// Pode também ser utilizado
// o operador +
// String s3 = s1+ “ a “+s2;

16
Ambiente de Programação Java
Tipo String
c) equals(Obj String) : Comparando duas strings.

String s1, s2;


s1 = “ABC”;
s2 = “ABCDE”;
if (s1.equals(s2))
System.out.println(“As strings são iguais!”);
Else
System.out.println(“As strings são diferentes!”);

d) equalsIgnoreCase(obj String) : Comparando se são iguais ignorando maiúsculas e


minúsculas.

String nome01 = “JOAO”;


String nome02 = “joão”;
if (nome01.equalsIgnoreCase(nome02))
System.out.println(“As strings são iguais!”);
Else
System.out.println(“As strings são diferentes!”);
17
Ambiente de Programação Java
Tipo STRING

e) indexOf(Obj String) : Encontrando a primeira ocorrência


de um caractere.
String nome = “Francisco do Santos”;
System.out.println(nome.indexOf(“cisco”); // exibe a
posição 4

// se não encontrar exibe o valor -1


f) lastIndexOf(Obj String) : Encontrando a última
ocorrência de um caractere.
String nome = “bolo”;
System.out.println(nome.lastIndexOf(“o”); // exibe a
posição 3

// se não encontrar exibe o valor -1


g) startsWith(Obj String) : Verificando prefixo.
String URL = http://www.cefetpi.br
System.out.println(URL.startsWith(“http”)); //
Imprime true 18
Ambiente de Programação Java
Tipo STRING

h) endsWith(Obj String) : Verificando prefixo.

String URL = http://www.cefetpi.br/file.html


System.out.println(URL.endsWith(“html”)); //
Imprime true

i) valueOf(tipo primitivo) : Transforma um tipo


primitivo em objeto do tipo String.

String s1 = String.valueOf(4); // transforma um


//int em uma string

19
Ambiente de Programação Java
Convertendo um objeto String

• Integer.parseInt(objString) – Converte um objeto String para um tipo


primitivo int.
Ex.: int num = Integer.parseInt(“100”);

• Byte.parseByte(objString) – Converte um objeto String para um tipo


primitivo byte.

• Short.parseShort(objString) – Converte um objeto String para um tipo


primitivo short.

• Float.parseFloat(objString) – Converte um objeto String para um tipo


primitivo float.

• Double.parseDouble(objString) – Converte um objeto String para um tipo


primitivo double.

20
Ambiente de Programação Java
Convertendo um objeto String

• Passo 1: Recebendo dois valores do tipo String passados como parâmetro


no método main:

public class LeiaValor {


public static void main(String[] args){
String valor1 = args[0];
String valor2 = args[1];
System.out.println("O primeiro valor e igual a
:"+args[0]+" O segundo valor e igual a:
"+args[1]);
System.out.println("A soma e igual
a :"+args[0]+args[1]);
}
}

21
Ambiente de Programação Java
Convertendo um objeto String

• Passo 2: Transformando os dois valores do tipo String em valores do tipo


inteiro:

public class LeiaValor2 {


public static void main(String[] args){
int valor1 = Integer.parseInt(args[0]);
int valor2 = Integer.parseInt(args[1]);
int soma = valor1 + valor2;
System.out.println("O primeiro valor e igual
a :"+args[0]+" O segundo valor e igual a:
"+args[1]);
System.out.println("A soma e igual a :"+soma);
}
}

22
Ambiente de Programação Java
Convertendo um objeto String

• OBS):
• 1) Para executar a classe LeiaValor e LeiaValor2 é necessário que sejam
passados os parâmetros args[0] e args[1] solicitados pelo método main no
momento da chamada da classe.
• Ex.:

java LeiaValor 4 5

args[1]
args[0]

java LeiaValor2 3 4

23
Ambiente de Programação Java
Convertendo um objeto String

• Trabalho 01:

1) Fazer:
Crie uma classe Gato e uma classe Cachorro.
Inicialize a idade do Gato.
Inicialize a idade do Cachorro.
Uma ação efetuada pelo Gato é imprimir na tela (“Sou um gato, minha idade é ”+idadeDoGato)
Uma ação efetuada pelo Cachorro é imprimir na tela (“Sou um cachorro, minha idade
é”+idadeDoCachorro)
Crie um objeto Gato, um objeto Cachorro.
O gato deve ter 2 anos e o cachorro 4 anos.
Imprima na tela do computador a idade do gato e do cachorro.

24
Ambiente de Programação Java
Convertendo um objeto String

2) Fazer:

Transforme o modelo RegistroAluno numa classe.


Escreva uma outra classe DemoRegAluno aonde você crie dois objetos do tipo RegistroAluno:
- Aluno01
nome = Marcos
matricula = 1234
datadenascimento = 20/03/1985
- Aluno02
nome = Fabio
matricula = 2234
datadenascimento = 13/01/1979
sendo que o primeiro aluno é bolsista e o segundo não.
Imprima os dados do aluno.
Imprima o valor da mensalidade de cada aluno.
modelo RegistroAcademico
inicio
dado nomeDoAluno, numerodeMatricula;

25
Ambiente de Programação Java
Convertendo um objeto String

dado dataDeNascimento,éBolsista, anoDeMatrícula;


operação
inicializaRegistro(oNome,aMatrícula,aData,temBolsa,qualAno)

inicio
nomeDoAluno = oNome;
númeroDeMatrícula = aMatrícula;
dataDeNascimento = aData;
éBolsista = temBolsa;
anoDeMatrícula= qualAno;
fim
operação calculaMensalidade() // calcula e retorna a
mensalidade
inicio
mensalidade = 400;
se (éBolsista) mensalidade = mensalidade /2;
retorna mensalidade;
fim

26
Ambiente de Programação Java
Convertendo um objeto String

operação mostraRegistro() // mostra os dados do registro


acadêmico
inicio
imprime “Nome do Aluno”;
imprime nomeDoAluno;
imprime “No. Da Matricula”;
imprime numeroDaMatricula;
imprime “Data de Nascimento”;
dataDeNascimento.mostraData();
se (éBolsista == verdadeiro) imprime “O aluno é
bolsista”
senão imprime “o aluno não é bolsista”;
imprime “Ano de Matrícula:”;
imprime anoDeMatrícula;
fim fim

27
Ambiente de Programação Java
Operadores

• Operadores Unário

Operador Descrição

++ Incremento

-- Decremento

• São aqueles que trabalham com apenas


um elemento.

28
Ambiente de Programação Java
Operadores

• Incremento:
• i++ : Avalia o valo de i e depois o incrementa em uma unidade.
• Ex.:
public class exemplo01a {
public static void main ( String[] args) {
int i = 5;
int valor = i++;
System.out.println(" Agora valor =" + valor);
System.out.println("Aumentando o valor de i.
Agora i =" + i);
}
} // valor = 5 e i = 6
• ++i : Incrementa o valor de i em uma unidade e depois o avalia.

29
Ambiente de Programação Java
Operadores

• Ex.:
public class exemplo01b {
public static void main ( String[] args) {
int i = 5;
int valor = ++i;
System.out.println(" Agora valor =" + valor);
System.out.println("Aumentando o valor de i.
Agora i =" + i);
}
} // valor = 6 e i = 6

30
Ambiente de Programação Java
Operadores

• Decremento:
• i-- : Avalia o valor de i e depois o decrementa em uma unidade.
• --i : Decrementa o valor de i em uma unidade e depois o avalia.
• Ex:
public class exemplo02 {
public static void main ( String[] args) {
int i = 5;
i++;
System.out.println("Aumentando o valor de i.
Agora i =" + i);
i--;
System.out.println("Diminuindo o valor de i.
Agora i =" + i);
}
}

31
Ambiente de Programação Java
Operadores

• Operadores binários

Operador Descrição

+ Adição

- Subtração

* Multiplicação

/ Divisão

% Resto da divisão inteira

32
Ambiente de Programação Java
Operadores

• Ex:
public class exemplo03 {
public static void main ( String[] args) {
System.out.println("5 +2 = "+(5+2));
System.out.println("5 -2 = "+(5-2));
System.out.println("5*2 = "+(5*2));
System.out.println("5 / 2 = "+(5/2));
System.out.println("5 % 2 = "+(5%2));
}
}

33
Ambiente de Programação Java
Operadores

• Operadores relacionais

Operador Descrição

> Maior que

< Menor que

>= Maior que ou igual a

<= Menor que ou igual a

== Igualdade

!= Diferença

• Dadas as variáveis, verifique o valor de retorno


• a=5;
• b=2;

34
Ambiente de Programação Java
Operadores

• Maior que
• 5>2
• retorno: verdadeiro
• Menor que
• 5<2
• retorno: falso
• Maior que ou igual a
• 5 >= 2
• retorno: verdadeiro
• Menor que ou igual a
• 5<=2
• retorno: falso
• Igualdade
• 5= = 2
• retorno: falso
• Diferença
• 5 != 2
• retorno: verdadeiro

35
Ambiente de Programação Java
Operadores

• Ex.:
public class exemplo04 {
public static void main ( String[] args) {
int a=5;
int b=2;
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 != b = "+(a ! = b));
}
}

36
Ambiente de Programação Java
Operadores

• Booleanos
Operador Descrição
&& Retorna falso se pelo menos uma das
E condicional (AND) expressões for falsa;
Retorna falso se ambas forem falsas
Retorna verdadeiro se ambas forem
verdadeiras

|| Retorna verdadeiro se pelo menos uma


OU condicional (OR) das expressões for verdadeira;
Retorna verdadeiro se ambas forem
verdadeiras
Retorna falso se ambas forem falsas

! Retorna a negação de um valor


NEGAÇÃO booleano
37
Ambiente de Programação Java
Operadores

• Ex.:
public class exemplo05 {
public static void main ( String[] args) {
boolean a;
boolean b;
a = 5 > 2;
b = 2 < 5;
System.out.println("Ambas são verdadeiras");
System.out.println("a && b = "+(a && b));
System.out.println("a || b = "+(a || b));
}
}

38
Ambiente de Programação Java
Operadores

• Operadores de atribuição
Operador Descrição
= Atribui um valor
+= Atribui um valor, adicionando-o ao
valor existente.
Ex.: op1 += op2;
// op1 = op1+op2;
-= Atribui um valor, subtraindo-o do
valor existente.
Ex.: op1 -= op2;
// op1 = op1-op2;
*= Atribui um valor, multiplicando-o
pelo valor existente.
Ex.:
Ex.: op1 *= op2;
// op1 = op1*op2; 39
Ambiente de Programação Java
Operadores

Operador Descrição
/= Atribui um valor, dividindo o
existente pelo valor atribuído.
Ex.: op1 /= op2;
// op1 = op1/op2;

%= Atribui um valor, retornando o resto


da divisão do valor existente pelo
valor atribuído.
Ex.: op1 %= op2;
// op1 = op1%op2;

40
Ambiente de Programação Java
Operadores

• Ex.:
public class exemplo06 {
public static void main ( String[] args) {
int a;
System.out.println("a = 4 e igual a: "+ (a =
4));
System.out.println("a +=2 e igual a:"+(a +=2));
a = 4;
System.out.println("a -= 2 e igual a: "+(a
-=2));
}
}

41
Ambiente de Programação Java
Operadores

• Operador terciário

Operador Descrição

?: Funciona como um atalho da


estrutura condicional if else.

42
Ambiente de Programação Java
Operadores

• Supondo:
a= 5 e b= 2
c = a > b?"a > b = verdadeiro":"a > b = falso"
retorno: a>b = verdadeiro
• Ex.:
public class exemplo07 {
public static void main ( String[] args) {
int a = 5;
int b = 2;
String c;
c = a > b?"a > b = verdadeiro":"a > b = falso";
System.out.println(c);
}
}

43
Ambiente de Programação Java
Estruturas de Controle

• IF/ELSE
if (condição) {
diretiva(s);
}
ou
if (condição) {
diretiva(s);
} else
{
diretiva(s) alternativa(s);
}

44
Ambiente de Programação Java
Estruturas de Controle

• Ex.:
public class exemplo08a{
public static void main(String[] args) {
String minhaString = "Teste";
if (minhaString == "TESTE")
System.out.println("minhaString tem o valor
'Teste'");
else
System.out.println("minhaString não tem o valor
'Teste'"); } // fim da classe main
}// fim da classe exemplo08a

45
Ambiente de Programação Java
Estruturas de Controle

• Ex.:
public class exemplo08b{
public static void main(String[] args) {
int a = 10;
int b = -2;
if (a <0)
{
a = a*-1;
if (b<0)
b = b*-1;
System.out.println(“O valor de a/b é: “+a/b);
}
else
System.out.println(“O valor de a/b é: “+a/b);
} // fim da classe main
}// fim da classe exemplo08b

46
Ambiente de Programação Java
Estruturas de Controle

• - Qual o valor retornado no exemplo08b?


• ELSE/IF
if (condição) {
diretiva (s);
} else if (condição) {
diretivas (s);
} else {
diretiva(s);
}
• Ex.:
public class exemplo09a{
public static void main(String[] args) {

int valor = 10;

if (valor = =1) {

47
Ambiente de Programação Java
Estruturas de Controle

System.out.println(“Valor e igual a 1!!”);


else if (valor = = 2) {
System.out.prinln(“Valor e igual a 2”);
} else {
System.out.println(“Valor não e igual a 1 nem
igual a 2”);
}
} // fim da classe main
}// fim da classe exemplo09
• Ex.:
public class exemplo09b{
public static void main(String[] args) {

int valor = 10;

48
Ambiente de Programação Java
Estruturas de Controle

public class exemplo09b{


public static void main(String[] args) {

int valor = 10;

if (valor == 1)

System.out.println(“Valor e igual a 1!!”);

else if (valor == 2)
System.out.println("Valor e igual a 2");
else if (valor==3)
System.out.println("Valor e igual a 3");
else
System.out.println(“Valor não e igual a 1 nem
igual a 2 nem igual a 3”);

} // fim da classe main


}// fim da classe exemplo09

49
Ambiente de Programação Java
Estruturas de Controle

• SWITCH ... CASE


switch (valor) {
case 1:diretiva;
case 2:diretiva;
case 3:diretiva;
......
case n:diretiva;
}

• Ex.:
public class exemplo10 {
public static void main (String[] args) {
int a = -10;
switch (a) {
case 10:

50
Ambiente de Programação Java
Estruturas de Controle

System.out.println(“O valor de a e “+a);


break;
case -10:
System.out.println(“O valor de a e “+a);
break;
case -8:
System.out.println(“O valor de a e “+a);
break;
default:
System.out.println(“O valor de a e “+a);
break;
}// fim do switch
}
}

51
Ambiente de Programação Java
Estruturas de Controle

• OBS:

• a) Na estrutura switch, quando a primeira coincidência é encontrada, todas as coincidências


restantes também são consideradas válidas, portanto temos que utilizar a instrução “break”
para forçar a saída da estrutura.
• b) O case padrão (com rótulo default) pode aparecer em qualquer posição da estrutura.
Entretando é normalmente colocado por último.
• c) A expressão deve ser avaliada somente para valores do tipo byte, short, int ou char.

52
Ambiente de Programação Java
Estruturas de Controle

• FOR
for (valor_de_inicio;condição;incremento/decremento){
diretiva(s);
}
• Ex.:
public class exemplo11 {
public static void main (String[] args) {
for(int i =0; i<10;i++) {
System.out.println(“O valor de I é “+i);
}
}
}

53
Ambiente de Programação Java
Estruturas de Controle

• WHILE
while (condição) {
Diretiva(s);
}
• Ex.:
public class exemplo12 {
public static void main (String[] args) {
int i = 0;
while (i < 10) {
System.out.println(“O valor de I e “+i);
i++;
}
}
}

54
Ambiente de Programação Java
Estruturas de Controle

• DO WHILE
do {
diretivas;
} while (condição);
• Ex.:
public class exemplo13 {
public static void main (String[] args) {
int i = 0;
do {
System.out.println(“O valor de I é”+i);
i++;
} while (i < 10);

}
}

55

Potrebbero piacerti anche