SlideShare uma empresa Scribd logo
Classes utilitárias 1
Prof. Artur Todeschini Crestani
Classe utilitárias
• String
• StringBuffer / StringBuilder
• Math
String
A classe String é certamente uma das
classes mais utilizadas em toda a plataforma
Java, por isso é importante conhecermos as
principais funcionalidade da classe String.
• Uma String é uma sequência de caracteres
tratados como uma unidade única.
• Podemos concatenar String utilizando o
operador +, ou += ou então utilizando o
método concat(String str);
String
Vamos analisar a String str a qual foi atribuída o
valor: “ALGORITMOS”.
Em algoritmos também podemos ter um vetor de
caracteres, lembre-se que uma String (literal) é
armazenada na memória principal como sendo um
vetor, mesmo sem declararmos ela como tal.
(LOPES, 2002, p. 267).
A L G O R I T M O S
0 1 2 3 4 5 6 7 8 9
String
Para pegarmos a posição especifica da
String utilizamos em Java utilizamos o
método charAt(int pos) veja o exemplo a
baixo.
String str = “Algoritmos”;
char c = str.charAt(3);
Principais métodos de String
charAt(int index): retorna um char que estiver
localizado no índice passado por parâmetro.
concat(String str) : retorna uma String que
será a soma da String + a String indicada no
parâmetro, todavia não a modificando.
equals(String str): retorna true se a String
de onde o método foi chamado for igual à String
str.
Principais métodos de String
indexOf(String str): retorna o índice da primeira
ocorrência da String str do parâmetro.
lastIndexOf(String str) : idem acima, mas retorna
última ocorrência.
length(): retorna o número de caracteres da String.
replace(char oldChar, char newChar): substitui
todos os char dentro da String e retorna a String com
onde foi feita a substituição, não modificando o conteúdo
da String que chamou o método.
Principais métodos de String
startWith(String prefix): retorna um booleano
indicando se a String começa com a String prefix
passada por parâmetro.
substring(int inicio, int fim) : retorna a String
localizada entre o índice inicio e fim, mas não
modifica a String original.
replace(char oldChar, char newChar) : substitui
todos os char dentro da String e retorna a String com
onde foi feita a substituição, não modificando o conteúdo
da String que chamou o método.
Principais métodos de String
toLowerCase(): retorna uma String com todos os
seus caracteres minúsculos, mas não modifica a
String original.
toUpperCase(): retorna uma String com todos os
seus caracteres maiúsculos, mas não modifica a
String original.
trim() : retira os espaços em brancos
encontrados à esquerda e à direita da String, não
modificando o conteúdo da String que chamou o
método.
Comparando String’s
Ao compararmos duas variáveis de tipos
primitivos utilizaríamos o operador ==, mas
String não é um tipo primitivo, mas sim uma
classe, ou seja, uma variável do tipo reference.
Então para compararmos uma String com
outra utilizamos o método equals.
equals(String str): retorma true caso as
Strings sejam iguais e false caso sejam
diferentes.
Comparando String’s
equalsIgnoreCase(String str): retorma
true caso as Strings sejam iguais não
importando o case das Srings e false caso
sejam diferentes.
compareTo(String str) : retorna um inteiro
representado a diferença entre as Strings.
Comparando String’s
Veremos mais a seguir que equals é o
método utilizado, de maneira geral, para
comparação de objetos.
Se utilizamos o operador == para
compararmos duas Strings será analisará
baseado no endereçamento de memória.
String’s são imutáveis
As String’s são imutáveis, isso significa que quando
você escrever:
String s = “0”;
for (int i = 1; i< 10; i++) {
s = s + i;
}
Na verdade estará criando dez objetos do tipo
String. “0” , “01” … até “0123456789”.
Quando terminar a variável s estará referenciando a
String com valor “0123456789”, mas teremos criado
dez String’s.
String’s são imutáveis
Sempre que você criar uma nova String, a JVM as
inserirá em uma parte especial da memória
chamada de pool de Strings.
Se houver uma String no pool com o mesmo valor, a
JVM não criará uma duplicata, simplesmente
apontará sua variável de referência para a entrada
existente.
A JVM pode fazer isso porque as Strings são
imutáveis; uma variável não pode alterar de
referência, não pode alterar o valor da String de
outra variável de referência que aponte para mesma
String.
String’s são imutáveis
Ficar atento, pois o Garbage Collector não
chega ao pool de String. Portanto, em nosso
exemplo, as dez Strings de nosso loop ficarão
apenas aguardando desperdiçando memória.
Portanto atente sempre que desejar fazer
manipulações com String (como
concatenações, etc).
Há duas classes StringBuilder e StringBuffer
que são mais adequadas para essas
finalidades.
StringBuffer / StringBuilder
Utilize StringBuilder sempre que não estiver
usando Threads pois ela é mais eficiente, mas
não dever utilizada com Threads.
Tanto String como StringBuilder
/StringBuffer tem os métodos :
char charAt(int index);
int length();
String substring(int start, int end);
String toString();
String
Há como pegarmos o array de caracteres
de uma String em Java utilizamos o método
toCharArray() veja o exemplo a baixo;
String str = “Algoritmos”;
char[ ] chars = str.toCharArray();
StringBuffer / StringBuilder
Para concatenar utilize o método:
String append(String str);
delete(int start, int end);
reverse();
setCharAt(int index, char c);
Math
A classe Math possui métodos para
executar operações numéricas básicas
exemplos:
– Exponencial;
– Logaritmos;
– Raiz quadrada;
– Funções trigonométricas.
Math
abs(<numero> int, long, float, double) :
retorna um número com o valor absoluto do
valor passado como parâmetro.
min(<num1>, <num2>) : retorna o menor número
entre os dois números passados como
parâmetro.
max(<num1>, <num2>) : retorna o maior número
entre os dois números passados como
parâmetro.
ceil(<num double>) : retorna o double mais
próximo do double arredondando para maior.
Math
floor(<num double>) : retorna o double
mais próximo do double arredondando para
menor.
pow(<num1>, <num2>) : retorna o num1
elevado a num2.
sqrt(<num1>) : retorna a raiz quadrada de
num1.
Math
round(<num1>) : retorna o valor arredondado
de num1, utilizando as regras matemáticas
de arredondamento.
random() : retorna um número gerado
aleatoriamente entre 0 e 1.
Referencias Bibliográficas
SIERRA, Kathy Use a cabeça! Java. ed.
Alta Books, Rio de Janeiro, RJ 2005.
HORSTMANN, Cay; CORNEL, Gary Core
Java Fundamentals v.1, Sun Microsystem
Press ed. 8 2008.

Mais conteúdo relacionado

Mais procurados

python.tipos
python.tipospython.tipos
python.tipos
Leandro Barbosa
 
Apostila php 01
Apostila php 01Apostila php 01
Apostila php 01
Gislene Carvalho
 
Aula 06 vetores e matrizes
Aula 06   vetores e matrizesAula 06   vetores e matrizes
Aula 06 vetores e matrizes
Tácito Graça
 
Java Básico
Java BásicoJava Básico
Java Básico
Wesley R. Bezerra
 
Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7
Ben Hur Bahia do Nascimento
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: Introdução
Wesley R. Bezerra
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turing
wab030
 
Java 04
Java 04Java 04
Java 04
samuelthiago
 
Lista II
Lista IILista II
Lista II
unifesptk
 
Curso de Java - Antonio Alves - Aula 02
Curso de Java - Antonio Alves - Aula 02Curso de Java - Antonio Alves - Aula 02
Curso de Java - Antonio Alves - Aula 02
Antonio Alves
 
Poo1 aula 4 - tipos de dados variáveis-constantes
Poo1   aula 4 - tipos de dados variáveis-constantesPoo1   aula 4 - tipos de dados variáveis-constantes
Poo1 aula 4 - tipos de dados variáveis-constantes
Denis Sobrenome
 
Poo1 aula 6 - conversão de tipos primitivos
Poo1   aula 6 - conversão de tipos primitivosPoo1   aula 6 - conversão de tipos primitivos
Poo1 aula 6 - conversão de tipos primitivos
Denis Sobrenome
 
Cap09
Cap09Cap09
Cap09
mvbahamut
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)
Marcelo Barros de Almeida
 
Introdução a Python
Introdução a PythonIntrodução a Python
Introdução a Python
Cicero Monteiro
 
Haskell aula5 f.ordem-sup_modulos-cifra_cesar
Haskell aula5 f.ordem-sup_modulos-cifra_cesarHaskell aula5 f.ordem-sup_modulos-cifra_cesar
Haskell aula5 f.ordem-sup_modulos-cifra_cesar
CRISLANIO MACEDO
 
Algebra booleana-2995-kybded (1)
Algebra booleana-2995-kybded (1)Algebra booleana-2995-kybded (1)
Algebra booleana-2995-kybded (1)
escola e.b.2,3/S pintor josé de brito
 
Estrutura de Dados - Ponteiros
Estrutura de Dados - PonteirosEstrutura de Dados - Ponteiros
Estrutura de Dados - Ponteiros
Adriano Teixeira de Souza
 

Mais procurados (18)

python.tipos
python.tipospython.tipos
python.tipos
 
Apostila php 01
Apostila php 01Apostila php 01
Apostila php 01
 
Aula 06 vetores e matrizes
Aula 06   vetores e matrizesAula 06   vetores e matrizes
Aula 06 vetores e matrizes
 
Java Básico
Java BásicoJava Básico
Java Básico
 
Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: Introdução
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turing
 
Java 04
Java 04Java 04
Java 04
 
Lista II
Lista IILista II
Lista II
 
Curso de Java - Antonio Alves - Aula 02
Curso de Java - Antonio Alves - Aula 02Curso de Java - Antonio Alves - Aula 02
Curso de Java - Antonio Alves - Aula 02
 
Poo1 aula 4 - tipos de dados variáveis-constantes
Poo1   aula 4 - tipos de dados variáveis-constantesPoo1   aula 4 - tipos de dados variáveis-constantes
Poo1 aula 4 - tipos de dados variáveis-constantes
 
Poo1 aula 6 - conversão de tipos primitivos
Poo1   aula 6 - conversão de tipos primitivosPoo1   aula 6 - conversão de tipos primitivos
Poo1 aula 6 - conversão de tipos primitivos
 
Cap09
Cap09Cap09
Cap09
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)
 
Introdução a Python
Introdução a PythonIntrodução a Python
Introdução a Python
 
Haskell aula5 f.ordem-sup_modulos-cifra_cesar
Haskell aula5 f.ordem-sup_modulos-cifra_cesarHaskell aula5 f.ordem-sup_modulos-cifra_cesar
Haskell aula5 f.ordem-sup_modulos-cifra_cesar
 
Algebra booleana-2995-kybded (1)
Algebra booleana-2995-kybded (1)Algebra booleana-2995-kybded (1)
Algebra booleana-2995-kybded (1)
 
Estrutura de Dados - Ponteiros
Estrutura de Dados - PonteirosEstrutura de Dados - Ponteiros
Estrutura de Dados - Ponteiros
 

Semelhante a 05 classes utilitarias

Java 06 Strings Arrays
Java 06 Strings ArraysJava 06 Strings Arrays
Java 06 Strings Arrays
Regis Magalhães
 
Android - Dicas de Performance
Android - Dicas de PerformanceAndroid - Dicas de Performance
Android - Dicas de Performance
Amélia Pessoa
 
Java8
Java8Java8
4234 mysql
4234 mysql4234 mysql
4234 mysql
herbam
 
Trabalho vetores
Trabalho vetoresTrabalho vetores
Trabalho vetores
TV Pernambuco
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
Professor Samuel Ribeiro
 
A Classe StringBuilder em Java
A Classe StringBuilder em JavaA Classe StringBuilder em Java
A Classe StringBuilder em Java
Devmedia
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões Regulares
Gabriel Matheus
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões Regulares
SidneyCruz
 
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Os Fantasmas !
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
Daniel Brandão
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
Maurício Linhares
 
PHP Básico - Parte 3
PHP Básico - Parte 3PHP Básico - Parte 3
PHP Básico - Parte 3
Marcus Camargo
 
Strings e manipulação de variáveis
Strings e manipulação de variáveisStrings e manipulação de variáveis
Strings e manipulação de variáveis
111111119
 
Strings e manipulação de variáveis
Strings e manipulação de variáveisStrings e manipulação de variáveis
Strings e manipulação de variáveis
111111119
 
Strings e manipulação de variáveis
Strings e manipulação de variáveisStrings e manipulação de variáveis
Strings e manipulação de variáveis
111111119
 
Aula04-POOJAVA
Aula04-POOJAVAAula04-POOJAVA
Aula04-POOJAVA
Jorge Ávila Miranda
 
Aulas TSI32B - Estrutura, Pesquisa e Ordenação de Dados (TSI UTFPR-Toledo)
Aulas TSI32B - Estrutura, Pesquisa e Ordenação de Dados (TSI UTFPR-Toledo)Aulas TSI32B - Estrutura, Pesquisa e Ordenação de Dados (TSI UTFPR-Toledo)
Aulas TSI32B - Estrutura, Pesquisa e Ordenação de Dados (TSI UTFPR-Toledo)
Federal University of Technology - Paraná/Brazil (UTFPR)
 
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de códigoAula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
ssusere36c31
 
Java4
Java4Java4

Semelhante a 05 classes utilitarias (20)

Java 06 Strings Arrays
Java 06 Strings ArraysJava 06 Strings Arrays
Java 06 Strings Arrays
 
Android - Dicas de Performance
Android - Dicas de PerformanceAndroid - Dicas de Performance
Android - Dicas de Performance
 
Java8
Java8Java8
Java8
 
4234 mysql
4234 mysql4234 mysql
4234 mysql
 
Trabalho vetores
Trabalho vetoresTrabalho vetores
Trabalho vetores
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
 
A Classe StringBuilder em Java
A Classe StringBuilder em JavaA Classe StringBuilder em Java
A Classe StringBuilder em Java
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões Regulares
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões Regulares
 
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
 
PHP Básico - Parte 3
PHP Básico - Parte 3PHP Básico - Parte 3
PHP Básico - Parte 3
 
Strings e manipulação de variáveis
Strings e manipulação de variáveisStrings e manipulação de variáveis
Strings e manipulação de variáveis
 
Strings e manipulação de variáveis
Strings e manipulação de variáveisStrings e manipulação de variáveis
Strings e manipulação de variáveis
 
Strings e manipulação de variáveis
Strings e manipulação de variáveisStrings e manipulação de variáveis
Strings e manipulação de variáveis
 
Aula04-POOJAVA
Aula04-POOJAVAAula04-POOJAVA
Aula04-POOJAVA
 
Aulas TSI32B - Estrutura, Pesquisa e Ordenação de Dados (TSI UTFPR-Toledo)
Aulas TSI32B - Estrutura, Pesquisa e Ordenação de Dados (TSI UTFPR-Toledo)Aulas TSI32B - Estrutura, Pesquisa e Ordenação de Dados (TSI UTFPR-Toledo)
Aulas TSI32B - Estrutura, Pesquisa e Ordenação de Dados (TSI UTFPR-Toledo)
 
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de códigoAula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
 
Java4
Java4Java4
Java4
 

Mais de Artur Todeschini

Interface
InterfaceInterface
Interface
Artur Todeschini
 
Final e aastract
Final e aastractFinal e aastract
Final e aastract
Artur Todeschini
 
10 heranca
10   heranca10   heranca
10 heranca
Artur Todeschini
 
08 modificadores static
08   modificadores static08   modificadores static
08 modificadores static
Artur Todeschini
 
07 construtores e finalize
07   construtores e finalize07   construtores e finalize
07 construtores e finalize
Artur Todeschini
 
04 api javadoc
04   api javadoc04   api javadoc
04 api javadoc
Artur Todeschini
 
02 controle de fluxo
02   controle de fluxo02   controle de fluxo
02 controle de fluxo
Artur Todeschini
 
01 introducao ao java
01   introducao ao java01   introducao ao java
01 introducao ao java
Artur Todeschini
 
SISTEMAS DE GESTÃO DO CONHECIMENTO EM NUVEM: A HORA DAS PEQUENAS E MÉDIAS E...
SISTEMAS DE GESTÃO DO CONHECIMENTO EM NUVEM: A HORA DAS PEQUENAS E MÉDIAS E...SISTEMAS DE GESTÃO DO CONHECIMENTO EM NUVEM: A HORA DAS PEQUENAS E MÉDIAS E...
SISTEMAS DE GESTÃO DO CONHECIMENTO EM NUVEM: A HORA DAS PEQUENAS E MÉDIAS E...
Artur Todeschini
 
SGT_ERP_INTEGRACOES_DSS
SGT_ERP_INTEGRACOES_DSSSGT_ERP_INTEGRACOES_DSS
SGT_ERP_INTEGRACOES_DSS
Artur Todeschini
 

Mais de Artur Todeschini (10)

Interface
InterfaceInterface
Interface
 
Final e aastract
Final e aastractFinal e aastract
Final e aastract
 
10 heranca
10   heranca10   heranca
10 heranca
 
08 modificadores static
08   modificadores static08   modificadores static
08 modificadores static
 
07 construtores e finalize
07   construtores e finalize07   construtores e finalize
07 construtores e finalize
 
04 api javadoc
04   api javadoc04   api javadoc
04 api javadoc
 
02 controle de fluxo
02   controle de fluxo02   controle de fluxo
02 controle de fluxo
 
01 introducao ao java
01   introducao ao java01   introducao ao java
01 introducao ao java
 
SISTEMAS DE GESTÃO DO CONHECIMENTO EM NUVEM: A HORA DAS PEQUENAS E MÉDIAS E...
SISTEMAS DE GESTÃO DO CONHECIMENTO EM NUVEM: A HORA DAS PEQUENAS E MÉDIAS E...SISTEMAS DE GESTÃO DO CONHECIMENTO EM NUVEM: A HORA DAS PEQUENAS E MÉDIAS E...
SISTEMAS DE GESTÃO DO CONHECIMENTO EM NUVEM: A HORA DAS PEQUENAS E MÉDIAS E...
 
SGT_ERP_INTEGRACOES_DSS
SGT_ERP_INTEGRACOES_DSSSGT_ERP_INTEGRACOES_DSS
SGT_ERP_INTEGRACOES_DSS
 

Último

Introdução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escolaIntrodução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escola
Professor Belinaso
 
Reino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptxReino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptx
CarinaSantos916505
 
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
SILVIAREGINANAZARECA
 
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdfCRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
soaresdesouzaamanda8
 
000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf
000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf
000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf
YeniferGarcia36
 
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.pptLeis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
PatriciaZanoli
 
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
Eró Cunha
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
Manuais Formação
 
Atividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º anoAtividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º ano
fernandacosta37763
 
Aula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptxAula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptx
LILIANPRESTESSCUDELE
 
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
MessiasMarianoG
 
Rimas, Luís Vaz de Camões. pptx
Rimas, Luís Vaz de Camões.          pptxRimas, Luís Vaz de Camões.          pptx
Rimas, Luís Vaz de Camões. pptx
TomasSousa7
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
Pastor Robson Colaço
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
profesfrancleite
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
TomasSousa7
 
cronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdfcronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdf
todorokillmepls
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
Mary Alvarenga
 
Testes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdfTestes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdf
lveiga112
 
1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.
1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.
1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.
LeticiaRochaCupaiol
 
epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
MarceloMonteiro213738
 

Último (20)

Introdução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escolaIntrodução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escola
 
Reino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptxReino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptx
 
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
 
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdfCRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
 
000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf
000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf
000. Para rezar o terço - Junho - mês do Sagrado Coração de Jesús.pdf
 
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.pptLeis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
 
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
 
Atividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º anoAtividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º ano
 
Aula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptxAula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptx
 
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
 
Rimas, Luís Vaz de Camões. pptx
Rimas, Luís Vaz de Camões.          pptxRimas, Luís Vaz de Camões.          pptx
Rimas, Luís Vaz de Camões. pptx
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
 
cronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdfcronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdf
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
 
Testes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdfTestes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdf
 
1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.
1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.
1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.
 
epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
 

05 classes utilitarias

  • 1.
  • 2. Classes utilitárias 1 Prof. Artur Todeschini Crestani
  • 3. Classe utilitárias • String • StringBuffer / StringBuilder • Math
  • 4. String A classe String é certamente uma das classes mais utilizadas em toda a plataforma Java, por isso é importante conhecermos as principais funcionalidade da classe String. • Uma String é uma sequência de caracteres tratados como uma unidade única. • Podemos concatenar String utilizando o operador +, ou += ou então utilizando o método concat(String str);
  • 5. String Vamos analisar a String str a qual foi atribuída o valor: “ALGORITMOS”. Em algoritmos também podemos ter um vetor de caracteres, lembre-se que uma String (literal) é armazenada na memória principal como sendo um vetor, mesmo sem declararmos ela como tal. (LOPES, 2002, p. 267). A L G O R I T M O S 0 1 2 3 4 5 6 7 8 9
  • 6. String Para pegarmos a posição especifica da String utilizamos em Java utilizamos o método charAt(int pos) veja o exemplo a baixo. String str = “Algoritmos”; char c = str.charAt(3);
  • 7. Principais métodos de String charAt(int index): retorna um char que estiver localizado no índice passado por parâmetro. concat(String str) : retorna uma String que será a soma da String + a String indicada no parâmetro, todavia não a modificando. equals(String str): retorna true se a String de onde o método foi chamado for igual à String str.
  • 8. Principais métodos de String indexOf(String str): retorna o índice da primeira ocorrência da String str do parâmetro. lastIndexOf(String str) : idem acima, mas retorna última ocorrência. length(): retorna o número de caracteres da String. replace(char oldChar, char newChar): substitui todos os char dentro da String e retorna a String com onde foi feita a substituição, não modificando o conteúdo da String que chamou o método.
  • 9. Principais métodos de String startWith(String prefix): retorna um booleano indicando se a String começa com a String prefix passada por parâmetro. substring(int inicio, int fim) : retorna a String localizada entre o índice inicio e fim, mas não modifica a String original. replace(char oldChar, char newChar) : substitui todos os char dentro da String e retorna a String com onde foi feita a substituição, não modificando o conteúdo da String que chamou o método.
  • 10. Principais métodos de String toLowerCase(): retorna uma String com todos os seus caracteres minúsculos, mas não modifica a String original. toUpperCase(): retorna uma String com todos os seus caracteres maiúsculos, mas não modifica a String original. trim() : retira os espaços em brancos encontrados à esquerda e à direita da String, não modificando o conteúdo da String que chamou o método.
  • 11. Comparando String’s Ao compararmos duas variáveis de tipos primitivos utilizaríamos o operador ==, mas String não é um tipo primitivo, mas sim uma classe, ou seja, uma variável do tipo reference. Então para compararmos uma String com outra utilizamos o método equals. equals(String str): retorma true caso as Strings sejam iguais e false caso sejam diferentes.
  • 12. Comparando String’s equalsIgnoreCase(String str): retorma true caso as Strings sejam iguais não importando o case das Srings e false caso sejam diferentes. compareTo(String str) : retorna um inteiro representado a diferença entre as Strings.
  • 13. Comparando String’s Veremos mais a seguir que equals é o método utilizado, de maneira geral, para comparação de objetos. Se utilizamos o operador == para compararmos duas Strings será analisará baseado no endereçamento de memória.
  • 14. String’s são imutáveis As String’s são imutáveis, isso significa que quando você escrever: String s = “0”; for (int i = 1; i< 10; i++) { s = s + i; } Na verdade estará criando dez objetos do tipo String. “0” , “01” … até “0123456789”. Quando terminar a variável s estará referenciando a String com valor “0123456789”, mas teremos criado dez String’s.
  • 15. String’s são imutáveis Sempre que você criar uma nova String, a JVM as inserirá em uma parte especial da memória chamada de pool de Strings. Se houver uma String no pool com o mesmo valor, a JVM não criará uma duplicata, simplesmente apontará sua variável de referência para a entrada existente. A JVM pode fazer isso porque as Strings são imutáveis; uma variável não pode alterar de referência, não pode alterar o valor da String de outra variável de referência que aponte para mesma String.
  • 16. String’s são imutáveis Ficar atento, pois o Garbage Collector não chega ao pool de String. Portanto, em nosso exemplo, as dez Strings de nosso loop ficarão apenas aguardando desperdiçando memória. Portanto atente sempre que desejar fazer manipulações com String (como concatenações, etc). Há duas classes StringBuilder e StringBuffer que são mais adequadas para essas finalidades.
  • 17. StringBuffer / StringBuilder Utilize StringBuilder sempre que não estiver usando Threads pois ela é mais eficiente, mas não dever utilizada com Threads. Tanto String como StringBuilder /StringBuffer tem os métodos : char charAt(int index); int length(); String substring(int start, int end); String toString();
  • 18. String Há como pegarmos o array de caracteres de uma String em Java utilizamos o método toCharArray() veja o exemplo a baixo; String str = “Algoritmos”; char[ ] chars = str.toCharArray();
  • 19. StringBuffer / StringBuilder Para concatenar utilize o método: String append(String str); delete(int start, int end); reverse(); setCharAt(int index, char c);
  • 20. Math A classe Math possui métodos para executar operações numéricas básicas exemplos: – Exponencial; – Logaritmos; – Raiz quadrada; – Funções trigonométricas.
  • 21. Math abs(<numero> int, long, float, double) : retorna um número com o valor absoluto do valor passado como parâmetro. min(<num1>, <num2>) : retorna o menor número entre os dois números passados como parâmetro. max(<num1>, <num2>) : retorna o maior número entre os dois números passados como parâmetro. ceil(<num double>) : retorna o double mais próximo do double arredondando para maior.
  • 22. Math floor(<num double>) : retorna o double mais próximo do double arredondando para menor. pow(<num1>, <num2>) : retorna o num1 elevado a num2. sqrt(<num1>) : retorna a raiz quadrada de num1.
  • 23. Math round(<num1>) : retorna o valor arredondado de num1, utilizando as regras matemáticas de arredondamento. random() : retorna um número gerado aleatoriamente entre 0 e 1.
  • 24. Referencias Bibliográficas SIERRA, Kathy Use a cabeça! Java. ed. Alta Books, Rio de Janeiro, RJ 2005. HORSTMANN, Cay; CORNEL, Gary Core Java Fundamentals v.1, Sun Microsystem Press ed. 8 2008.