You are on page 1of 83

Universo

Java
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Galxia
JSE
Java Standard
Edition
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Constelao
Mais da linguagem
Java
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Tpicos

Parte I Tratamento de excees

Parte II Threads

Parte III Nmeros e Strings

Parte IV Collections e I/O

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Tpicos

Parte I Tratamento de excees

Parte II Threads

Parte III Nmeros e Strings

Parte IV Collections e I/O

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Parte III
Nmeros e Strings
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Tpicos

Classes wrappers

Hora de praticar

Questes de concursos

java.lang.System.out

Hora de praticar

Questes de concursos

java.lang.Math

Hora de praticar

Questes de concursos

java.lang.String
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Tpicos

Hora de praticar

Questes de concursos

Referncias

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Classes wrappers
Wrapper
Wrapper

Mtodo
Mtodo 1
1
Mtodo
Mtodo 2
2

Valor
Valor
primitivo
primitivo

Mtodo
Mtodo 3
3
Mtodo
Mtodo 4
4

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Classes wrappers

H uma para cada tipo primitivo

Possuem dois objetivos principais:

Empacotam um valor primitivo em um objeto com o intuito de


trabalhar nos casos reservados apenas a objetos

Ser adicionados a conjuntos

Ser retornados por um mtodo que apenas retorne objeto

Fornecem um conjunto de mtodos utilitrios para tipos


primitivos

Grande parte focada em converses:

De valor primitivo em String e vice-versa

De valor primitivo e String para bases diferentes e vice-versa

Binrias
Octais
Hexadecimais

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

10

Classes wrappers
Tipo

Classe wrapper

Argumentos do construtor

byte

Byte

byte

String

short

Short

short

String

int

Integer

int

String

long

Long

long

String

boolean

Boolean

boolean

String

char

Character

char

float

Float

float

String

double

Double

double

String

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

11

Classes wrappers

Criando objetos wrappers:

Construtores wrappers

Duas verses sobrecarregadas:

Verso 1

Recebe como argumento um valor primitivo


Exemplo:

Integer x = new Integer(15);


Verso 2

Recebe como argumento uma String


Exemplo:

Integer x = new Integer(15);


No est disponvel para a classe Character

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

12

Classes wrappers

Criando objetos wrappers:

Mtodos valueOf() das classes Byte, Short, Integer e Long

Trs verses sobrecarregadas:

Verso 1

Recebe como argumento um valor primitivo


Exemplo:

Byte x = Byte.valueOf(15); // 15 na base 10.


Verso 2

Recebe como argumento uma String


Exemplo:

Byte c = Byte.valueOf(15); // 15 na base 10.


Verso 3

Recebe como argumentos:

Uma String

Um valor primitivo inteiro para representar a base


Exemplo:

Byte x = Byte.valueOf(10, 2); // 10 na base 2.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

13

Classes wrappers

Criando objetos wrappers:

Mtodos valueOf() da classe Boolean

Duas verses sobrecarregadas:

Verso 1

Recebe como argumento um valor primitivo


Exemplo:

Boolean x = Boolean.valueOf(true); // true.


Verso 2

Recebe como argumento uma String


Exemplos que podem representar o valor true:

Boolean x = Boolean.valueOf(true); // true.

Boolean x = Boolean.valueOf(TRUE); // true.

Boolean x = Boolean.valueOf(True); // true.

Boolean x = Boolean.valueOf(tRue); // true.

Boolean x = Boolean.valueOf(trUe); // true.


Todas as outras formas encapsulam false

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

14

Classes wrappers

Criando objetos wrappers:

Mtodos valueOf() da classe Character

Uma verso:

Recebe como argumento um valor primitivo


Exemplo:

Character x = Character.valueOf('x'); // x.

Mtodos valueOf() das classes Float e Double

Duas verses sobrecarregadas:

Verso 1

Recebe como argumento um valor primitivo


Exemplo:

Double x = Double.valueOf(15.7);
Verso 2

Recebe como argumento uma String


Exemplo:

Double x = Double.valueOf(15.7);

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

15

Classes wrappers
Mtodo

De

Para

public tipoPrimitivo tipoPrimitivoValue()

Wrapper

Tipo primitivo

public static tipoPrimitivo parseTipoPrimitivo(String)

String

Tipo primitivo

public static Wrapper valueOf(String)

String

Wrapper

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

16

Classes wrappers

Autoboxing e Unboxing

Autoboxing

a converso automtica que o compilador Java faz entre:

Suas instncias de classes wrappers correspondentes

Exemplos:

Tipos primitivos

Integer x = 15;

Double y = 15.7;

Unboxing

o processo inverso do autoboxing

Exemplos:

int x = Integer.valueOf(15);

double y = Double.valueOf(15.7);

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

17

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

18

Hora de praticar

constelacao03.parte03

Exemplo01_ClassesWrappers

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

19

Questes de concursos
[FCC 2010 TRT 22 Regio Analista Judicirio Especialidade
Tecnologia da Informao Questo 39] Classes que encapsulam
os tipos primitivos como objetos, agregando funcionalidades de
converso, so as chamadas, especificamente, classes

[A] mothers.

[B] abstratas.

[C] primitivas.

[D] aninhadas.

[E] wrappers.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

20

Questes de concursos
[FCC 2010 TRT 22 Regio Analista Judicirio Especialidade
Tecnologia da Informao Questo 39] Classes que encapsulam
os tipos primitivos como objetos, agregando funcionalidades de
converso, so as chamadas, especificamente, classes

[A] mothers.

[B] abstratas.

[C] primitivas.

[D] aninhadas.

[E] wrappers.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

21

Questes de concursos
[FESMIP/BA 2011 MPE/BA Analista de Sistemas]

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

22

Questes de concursos
Iterao

System.out.print(i + );

2 (while)

3 (while)

35

4 (while)

357

5 (while)

3579

6 (while)

11

3 5 7 9 11

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

23

Questes de concursos
[FESMIP/BA 2011 MPE/BA - Analista de Sistemas] A alternativa
que corresponde ao que ser impresso pelo trecho de cdigo a

[A] 3 5 7 9 11

[B] 2 4 6 8

[C] 1 3 5 7 9 11

[D] 1 2 4 6 8

[E] 1 2 3 4 5 6 7 8 9 11

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

24

Questes de concursos
[FESMIP/BA 2011 MPE/BA - Analista de Sistemas] A alternativa
que corresponde ao que ser impresso pelo trecho de cdigo a

[A] 3 5 7 9 11

[B] 2 4 6 8

[C] 1 3 5 7 9 11

[D] 1 2 4 6 8

[E] 1 2 3 4 5 6 7 8 9 11

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

25

java.lang.System.out

o objeto usado para gerar a sada padro que exibe as


Strings no console (terminal) quando o aplicativo de Java
executado
Alguns mtodos do objeto:

print

Exibe uma String sem criar uma nova linha

println

Exibe uma String

Deixando o seu cursor na mesma linha

printf

Criando uma nova linha

Deixando o seu cursor na prxima linha

equivalente ao mtodo format


rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

26

java.lang.System.out
Sequncia de escape

Representa

Valor Unicode

\b

Backspace

\u0008

\t

Tab

\u0009

\n

Quebra de linha

\u000A

\r

Retorno de carro

\u000D

\"

Aspas duplas

\u0022

\'

Aspas simples

\u0027

\\

Barra invertida

\u005C

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

27

java.lang.System.out

System.out.printf

Possui como parmetros:

Uma String que contm:

Texto plano

Especificadores de formato

Uma srie de valores que sero formatados e impressos na String

Exemplo:

int x = 15;

double y = 15.7;

System.out.printf(O valor de x %d e o valor de y %f., x, y);

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

28

java.lang.System.out

System.out.printf

Especificadores de formato

Iniciam com o sinal de porcentagem (%)

Finalizam com um conversor

Exemplos:

um caractere que indica o tipo de argumento a ser formatado


%d: representa um inteiro decimal

%f: representa um ponto flutuante

Flags opcionais podem ser usadas entre % e conversor

Exemplo:

%08d

Representa oito caracteres de tamanho alinhado direita


Se o inteiro decimal contiver menos de oito caracteres, o restante
ser preenchido com zero

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

29

java.lang.System.out
Conversor

Representa

%d

Inteiro decimal

%f

Ponto flutuante

%n

Caractere de nova linha


Sempre use %n ao invs de \n

%b

Booleano

%c

Caractere

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

30

java.lang.System.out
Flag

Representa

Representa oito caracteres de tamanho alinhado direita

08

Representa oito caracteres de tamanho alinhado direita


Se o inteiro decimal contiver menos de oito caracteres, o
restante ser preenchido com zero

Inclui sinal se positivo ou negativo

Alinhamento esquerda

.2

Duas casas decimais aps a vrgula de um ponto flutuante

10.2

Representa dez caracteres de tamanho alinhado direita


Se o inteiro decimal contiver menos de oito caracteres, o restante
ser preenchido com zero
Duas casas decimais aps a vrgula de um ponto flutuante

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

31

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

32

Hora de praticar

constelacao03.parte03

Exemplo02_SystemOut

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

33

Questes de concursos
[CESPE 2013 TRT 10 Regio Cargo 12] Com relao
linguagem de programao Java, julgue o item seguinte.

[58] O uso de System.out.println() possibilita a exibio de


textos; para a exibio de valores de variveis, necessrio
utilizar showAttributes().

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

34

Questes de concursos
[CESPE 2013 TRT 10 Regio Cargo 12] Com relao
linguagem de programao Java, julgue o item seguinte.

[58] O uso de System.out.println() possibilita a exibio de


textos; para a exibio de valores de variveis, necessrio
utilizar showAttributes().

Gabarito: ERRADO.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

35

Questes de concursos
[CESGRANRIO 2012 Petrobrs - Analista de Sistemas Jnior
Engenharia de Software Questo 43] Seja o seguinte trecho de
cdigo Java, onde o operador >> representa um shift direita:

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

36

Questes de concursos
[CESGRANRIO 2012 Petrobrs - Analista de Sistemas Jnior
Engenharia de Software Questo 43] O que ser exibido no
console quando for executado o mtodo main()?

Visualizando:

(short) ffff9c: 1111 1111 1001 1100

ffff9c >> 2: 1111 1111 1111 1111 1110 0111

(short): 1111 1111 1110 0111

Verificando qual o valor em decimal do valor acima em binrio:

O bit de sinal 1: ento um nmero negativo

Diminui-se 1 dos bits: 1111 1111 1110 0110

Inverte-se os bits: 0000 0000 0001 1001

Transformando o nmero na base 2 para base 10: 25

Conclui-se que o valor na base 2 -25 na base 10


rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

37

Questes de concursos
[CESGRANRIO 2012 Petrobrs - Analista de Sistemas Jnior
Engenharia de Software Questo 43] O que ser exibido no
console quando for executado o mtodo main()?

[A] -400

[B] -200

[C] -25

[D] 25

[E] 400

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

38

Questes de concursos
[CESGRANRIO 2012 Petrobrs - Analista de Sistemas Jnior
Engenharia de Software Questo 43] O que ser exibido no
console quando for executado o mtodo main()?

[A] -400

[B] -200

[C] -25

[D] 25

[E] 400

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

39

java.lang.Math

Constantes

A classe Math possui duas constantes:

Math.E

Possui o valor de 2,718281828459045

Math.PI

a base de logaritmos naturais ou neperianos

a razo entre a circunferncia de um crculo com o seu dimetro


Possui o valor de de 3,141592653589793

Todos seus mtodos so estticos

So chamados diretamente atravs da classe

Exemplo:

Math.sqrt(4);

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

40

java.lang.Math

Mximo e mnimo

Mtodos sobrecarregados que retornam:

O maior valor dos seus dois nmeros:

double max(double arg1, double arg2)


float max(float arg1, float arg2)
int max(int arg1, int arg2)

long max(long arg1, long arg2)

O menor valor dos seus dois nmeros:

double min(double arg1, double arg2)


float min(float arg1, float arg2)
int min(int arg1, int arg2)

long min(long arg1, long arg2)

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

41

java.lang.Math

Potncias e razes

Mtodos que retornam:

A potncia da base elevada ao expoente:

A raiz quadrada de um nmero:

double sqrt(double d)

A raiz cbica de um nmero

double pow(double base, double expoente)

double cbrt(double d)

O valor da constante de Euler (E) elevado ao expoente

double exp(double d)

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

42

java.lang.Math

Logaritmos

Mtodos que retornam:

O logaritmo natural de um nmero:

O logaritmo natural de um nmero na base 10:

double log(double d)

double log10(double d)

O logaritmo natural de um nmero somado a 1:

Retorna um resultado mais confivel se o nmero for:


Muito prximo a 0
Fracionado
double log1p(double d)

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

43

java.lang.Math

Arredondamentos e valores absolutos

Mtodos que retornam:

O valor absoluto de um nmero:

double abs(double d)
float abs(float f)
int abs(int i)

long abs(long lng)

O menor inteiro maior que ou igual a um ponto flutuante:

double ceil(double d)

Retorna como double


Exemplos:

Se o nmero 1.1, o mtodo retornar 2.0


Se o nmero 2.0, o mtodo retornar 2.0
Se o nmero 3.7, o mtodo retornar 4.0

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

44

java.lang.Math

Arredondamentos e valores absolutos

Mtodos que retornam:

O maior inteiro menor que ou igual a um ponto flutuante

double floor(double d)

Retorna como double


Exemplos:

Se o nmero 1.1, o mtodo retornar 1.0


Se o nmero 2.0, o mtodo retornar 2.0
Se o nmero 3.7, o mtodo retornar 3.0

O inteiro mais prximo de um ponto flutuante:

double rint(double a)

Retorna como double


Exemplos:

Se o nmero 1.1, o mtodo retornar 1.0


Se o nmero 1.6, o mtodo retornar 2.0

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

45

java.lang.Math

Arredondamentos e valores absolutos

Mtodos que retornam:

O inteiro mais prximo de um ponto flutuante:

long round(double d)

Retorna como long


int round(float f)

Retorna como int


Exemplos:

Se o nmero 1.1, o mtodo retornar 1


Se o nmero 1.6, o mtodo retornar 2

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

46

java.lang.Math

Trigonometria

Mtodos que retornam:

O valor do seno de um valor

O valor do cosseno de um valor

double asin(double a)

O valor do arco cosseno de um valor

double tan(double a)

O valor do arco seno de um valor

double cos(double a)

O valor da tangente de um valor

double sin(double a)

double acos(double a)

O valor do arco tangente de um valor

double atan(double a)

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

47

java.lang.Math

Nmero randmicos

O mtodo double random() retorna um valor entre:

0.0

1.0

Inclusive
Exclusive

Para gerar um intervalo maior, multiplica-se o mtodo por um


valor

Exemplo:

Para intervalo entre 0 e 10 (exclusive), multiplica-se por 10


int numero = (int) (Math.random() * 10);

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

48

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

49

Hora de praticar

constelacao03.parte03

Exemplo03_Math

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

50

Questes de concursos
[FCC 2007 Cmara dos Deputados Analista Legislativo
Atribuio Informtica Legislativa Questo 59] O
arredondamento para um nmero inteiro mais prximo feito,
em Java, pelo mtodo da classe MATH

[A] round.

[B] max.

[C] abs.

[D] exp.

[E] pow.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

51

Questes de concursos
[FCC 2007 Cmara dos Deputados Analista Legislativo
Atribuio Informtica Legislativa Questo 59] O
arredondamento para um nmero inteiro mais prximo feito,
em Java, pelo mtodo da classe MATH

[A] round.

[B] max.

[C] abs.

[D] exp.

[E] pow.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

52

Questes de concursos
[ESAF 2010 CVM Analista de Sistemas Questo 43] Na
linguagem Java

[A] A funo Math.round(valor) gera um nmero aleatrio


utilizando a semente valor.
[D] A funo Math.round(valor) retorna o comprimento de
uma circunferncia de raio valor.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

53

Questes de concursos
[ESAF 2010 CVM Analista de Sistemas Questo 43] Na
linguagem Java

[A] A funo Math.round(valor) gera um nmero aleatrio


utilizando a semente valor.

Gabarito: ERRADO.

[D] A funo Math.round(valor) retorna o comprimento de


uma circunferncia de raio valor.

Gabarito: ERRADO.
Math.round(valor) retorna inteiro mais prximo de um ponto
flutuante

Exemplos:

Se o nmero 1.1, o mtodo retornar 1


Se o nmero 1.6, o mtodo retornar 2

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

54

Questes de concursos
[CESPE 2010 SECGE/PE Cargo 3 Questo 36]

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

55

Questes de concursos

public class Ponto2D {

private int x, y;

public Ponto2D(int x, int y) {

this.x = x;

this.y = y;

public Ponto2D( ) { this(0,0); }

public double distancia(Ponto2D p) {

double distX = p.x - x;

double distY = p.y - y;

return Math.sqrt(distX*distX + distY*distY);

}
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

56

Questes de concursos
[CESPE 2010 SECGE/PE Cargo 3 Questo 36] Com base no
cdigo acima, assinale a opo correta.

[A] Nesse cdigo, a expresso de retorno - uma varivel de


retorno definida como ponto flutuante - ilustra a utilizao de
um mtodo de instncia da classe Math, por meio do qual se
calcula a raiz quadrada.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

57

Questes de concursos
[CESPE 2010 SECGE/PE Cargo 3 Questo 36] Com base no
cdigo acima, assinale a opo correta.

[A] Nesse cdigo, a expresso de retorno - uma varivel de


retorno definida como ponto flutuante - ilustra a utilizao de
um mtodo de instncia esttico da classe Math, por meio do
qual se calcula a raiz quadrada.

Gabarito: ERRADO.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

58

Questes de concursos
[CESPE 2006 SGAESP/AC Cargo 1 Questo 30]

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

59

Questes de concursos
[CESPE 2006 SGAESP/AC Cargo 1 Questo 30] Considerando o
cdigo da pgina JSP acima, obtida de
http://www.moreservlets.com, assinale a opo correta acerca
das informaes apresentadas e dos conceitos de JSP, HTML e
Java.

[B] Na linha 7, n uma varivel local do tipo inteiro, Math


uma classe e random() uma invocao de mtodo de
instncia.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

60

Questes de concursos
[CESPE 2006 SGAESP/AC Cargo 1 Questo 30] Considerando o
cdigo da pgina JSP acima, obtida de
http://www.moreservlets.com, assinale a opo correta acerca
das informaes apresentadas e dos conceitos de JSP, HTML e
Java.

[B] Na linha 7, n uma varivel local do tipo inteiro, Math


uma classe e random() uma invocao de mtodo de
instncia esttico.

Gabarito: ERRADO.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

61

java.lang.String

Uma string:

uma sequncia de caracteres que provm de algum alfabeto


(conjunto de todos os caracteres possveis)

Cada caractere que compe uma string pode ser referenciado por
um ndice

O ndice de um caractere nmero de caracteres antes daquele


O primeiro caractere possui o ndice 0

Unicode o alfabeto usado para definir strings em Java

um objeto em Java

A plataforma Java prov classe String para manipular strings

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

62

java.lang.String

Literais de string

Consistem em zero ou mais caracteres

Devem vir entre aspas duplas

Diferente dos literais de caracteres que devem vir entre aspas


simples

a diferente de 'a'

O primeiro representa um conjunto unitrio de caractere

O segundo representa apenas um elemento de caractere

No podemos atribuir:

Um literal de String para uma varivel do tipo char

char aChar = a; // O compilador acusar um erro.

Um literal de caractere para uma varivel do tipo String

String aString = 'a'; // O compilador acusar um erro.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

63

java.lang.String

a
a
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

64

java.lang.String

Criando um objeto string

Usando a forma mais direta:

String nome = Kal-El Gildo Arajo;

Usando o operador new:

String nome = new String(Rogrio Gildo Arajo);

A classe String imutvel

Kal-El Gildo Arajo um literal de string

Ento ao criar um objeto String, ele no poder ser alterado

Tamanho de uma string

String nome = Kal-El Gildo Arajo;

System.out.println(nome.length()); // 19 caracteres.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

65

java.lang.String

Concatenando strings

Concatenao uma operao bsica em strings que

Toma uma string x e uma string y

Combina em uma nova string denotada por x + y

Todos os caracteres de x seguido de todos de y

Usando o mtodo concat:

String nome = Kal-El Gildo ;

nome = nome.concat(Arajo); // Kal-El Gildo Arajo.

Usando o operador +:

String nome = Kal-El Gildo ;

nome += Arajo; // Kal-El Gildo Arajo.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

66

java.lang.String

Convertendo nmeros em strings

Usando o mtodo valueOf:

int x = 15;

String valorX = String.valueOf(x);

StringBuilder x String

Objetos StringBuilder so idnticos aos objetos String

Exceto que a string do objeto StringBuilder pode ser modificada

A classe String imutvel

Ento ao criar um objeto String, ele no poder ser alterado

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

67

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

68

Hora de praticar

constelacao03.parte03

Exemplo03_String

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

69

Questes de concursos
[CESPE 2012 ANAC Cargo 4] Acerca da execuo dos trechos de
cdigos referentes linguagem de programao Java, julgue o
item seguinte.

[67] A seguinte classe Java ir gerar um erro de compilao.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

70

Questes de concursos

import java.util.*;

public class OutTeste {

public String getNomePais(){

public StringBuffer getNomePais(){

sb.append("Brasil");
return sb;

public static void main(String[] args){

StringBuffer sb = new StringBuffer();

return "Brasil";

OutTeste teste = new OutTeste();

System.out.println(teste.getNomePais().toString());

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

71

Questes de concursos
[CESPE 2012 ANAC Cargo 4] Acerca da execuo dos trechos de
cdigos referentes linguagem de programao Java, julgue o
item seguinte.

[67] A seguinte classe Java ir gerar um erro de compilao.

Gabarito: CERTO.

O mtodo getNomePais() j est definido na classe

Mtodos sobrecarregados

So mtodos com:

Nomes iguais

Nmero e tipos de parmetros diferentes

O tipo de retorno dos mtodos no considerado pelo compilador


para diferenci-los

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

72

Questes de concursos
[CESPE 2012 ANAC Cargo 4] Acerca da execuo dos trechos de
cdigos referentes linguagem de programao Java, julgue o
item seguinte.

[70] O seguinte cdigo gerar, no console, um erro.

public class OutTeste {

public static void main(String argv[]){

System.out.println(null+a);

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

73

Questes de concursos
[CESPE 2012 ANAC Cargo 4] Acerca da execuo dos trechos de
cdigos referentes linguagem de programao Java, julgue o
item seguinte.

[70] O seguinte cdigo gerar, no console, um erro.

public class OutTeste {

public static void main(String argv[]){

System.out.println(null+a);

Gabarito: ERRADO.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

74

Questes de concursos
[CESPE 2011 BRB Cargo 2] Acerca das tecnologias utilizadas
para o desenvolvimento de sistemas em linguagem Java, julgue o
item a seguir.

[76] O mtodo questao() apresentado abaixo exibir, quando


executado, a palavra grafica.

public void questao()

String [][] str =

{{"construindo aplicacoes graficas com a linguagem Java"}};

String [] aux = str[0][0].split("s");

System.out.println(aux[2].trim());

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

75

Questes de concursos
[CESPE 2011 BRB Cargo 2] Acerca das tecnologias utilizadas
para o desenvolvimento de sistemas em linguagem Java, julgue o
item a seguir.

[76] O mtodo questao() apresentado abaixo exibir, quando


executado, a palavra grafica.

public void questao()

String [][] str =

{{"construindo aplicacoes graficas com a linguagem Java"}};

String [] aux = str[0][0].split("s");

System.out.println(aux[2].trim());

Gabarito: CERTO.
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

76

Questes de concursos
[AOCP 2012 BRDE Analista de Sistemas Desenvolvimento de
Sistemas Prova TIPO 4] Na linguagem Java, temos objetos do
tipo String. A esse respeito, analise as assertivas e assinale a
alternativa que aponta a(s) correta(s).

[I] Uma string uma sequncia de caracteres que provm de


algum alfabeto, que um conjunto caracteres. Cada
caracter c que compe uma string s pode ser referenciado por
seu ndice na string, a qual igual ao nmero de caracteres
que vem antes de c em s (desta forma o primeiro caracter tem
ndice 0).
[II] Em Java, o alfabeto usado para definir strings o
conjunto internacional de caracteres Unicode.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

77

Questes de concursos
[AOCP 2012 BRDE Analista de Sistemas Desenvolvimento de
Sistemas Prova TIPO 4] Na linguagem Java, temos objetos do
tipo String. A esse respeito, analise as assertivas e assinale a
alternativa que aponta a(s) correta(s).

[I] Uma string uma sequncia de caracteres que provm de


algum alfabeto, que um conjunto caracteres. Cada
caracter c que compe uma string s pode ser referenciado por
seu ndice na string, a qual igual ao nmero de caracteres
que vem antes de c em s (desta forma o primeiro caracter tem
ndice 0).

Gabarito: CERTO.

[II] Em Java, o alfabeto usado para definir strings o


conjunto internacional de caracteres Unicode.

Gabarito: CERTO.
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

78

Questes de concursos
[AOCP 2012 BRDE Analista de Sistemas Desenvolvimento de
Sistemas Prova TIPO 4] Na linguagem Java, temos objetos do
tipo String. A esse respeito, analise as assertivas e assinale a
alternativa que aponta a(s) correta(s).

[III] String no um tipo primitivo encontrado na linguagem


Java.

Gabarito: ERRADO.

IV. Em Java, operador + pode concatenar duas Strings


originando uma nova.

Gabarito: CERTO.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

79

Questes de concursos
[AOCP 2012 BRDE Analista de Sistemas Desenvolvimento de
Sistemas Prova TIPO 4] Na linguagem Java, temos objetos do
tipo String. A esse respeito, analise as assertivas e assinale a
alternativa que aponta a(s) correta(s).

[A] Apenas I.

[B] Apenas I e III.

[C] Apenas I e IV.

[D] Apenas I, II e IV.

[E] I, II, III e IV.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

80

Referncias

Apostila Java e Orientao a Objetos da Caelum:


http://www.caelum.com.br/download/caelum-java-objetosfj11.pdf
Apostila Java e Orientao a Objetos da K19:
http://www.k19.com.br/downloads/apostilas/java/k19-k11orientacao-a-objetos-em-java
Class Math:
http://docs.oracle.com/javase/6/docs/api/java/lang/Math.ht
ml
Classe Math:
http://www.tiexpert.net/programacao/java/math.php
HORSTMANN, Cay S. e CORNELL, Gary. Core Java Volume I Fundamentos. 8 Edio. Editora Pearson Prentice Hall, 2010.
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

81

Referncias

SIERRA, Kate e BATES, Bert. Certificao Sun para


Programador e Desenvolvedor em Java 2 Guia de Estudos. 3
Edio. Editora Alta Books, 2003.
System.out - Objeto de sada em Java:
http://www.devmedia.com.br/system-out-objeto-de-saidaem-java/25240
The Java Language Specification - Java SE 7 Edition:
http://docs.oracle.com/javase/specs/jls/se7/html/
The Java Tutorials - Numbers and Strings:
http://docs.oracle.com/javase/tutorial/java/data/

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

82

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

83

You might also like