Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Java

No description
by

Douglas Moreno

on 18 June 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Java

Java
Números Ramdômicos
Desenvolvimento de jogos, na área de segurança de informações (ex: para gerar senhas ou textos de campos captcha)
Números aleatórios
import java.util.Random;

public class Random1 {

public static void main(String[] args) {

//instância um objeto da classe Random usando o construtor padrão
Random gerador = new Random();

//imprime sequência de 10 números inteiros aleatórios
for (int i = 0; i < 10; i++) {
System.out.println(gerador.nextInt());
}
}
}

Exemplo básico de utilização da classe Random
import java.util.Random;

public class Random2 {

public static void main(String[] args) {

//instância um objeto da classe Random usando o construtor básico
Random gerador = new Random();

//imprime sequência de 10 números inteiros aleatórios entre 0 e 25
for (int i = 0; i < 10; i++) {
System.out.println(gerador.nextInt(26));
}
}
}
Gerando sequência de números aleatórios inteiros com valores entre 0 e 25
import java.util.Random;

public class Random3 {

public static void main(String[] args) {

//instância um objeto da classe Random especificando a semente
Random gerador = new Random(19700621);

//imprime sequência de 10 números inteiros aleatórios entre 0 e 25
for (int i = 0; i < 10; i++) {
System.out.println(gerador.nextInt(26));
}
}
}
Especificando a semente
Casting
double d = 3.1415;
int i = d;
// não compila

int i = 3.14;
double d = 5;
// ok, o double pode conter um número inteiro
int i = d;
// não compila

Para fazer isso sem que haja o erro de compilação, é preciso ordenar que o número quebrado seja moldado (casted) como um número inteiro. Esse processo recebe o nome de casting.
double d3 = 3.14;
int i = (int) d3;

long x = 10000;
int i = (int) x;

Java.Lang.String
Comparação de String
String x = “teste”
String y = “teste”
if (x.equals(y)) {
System.out.println("os texto são iguais");
}
else {
System.out.println("os textos são diferentes");
}

Concatenação de String
int valor = 10;
String x = “o valor é igual a: “ + valor
Documentação
Números e Datas
4 tipos de inteiros
2 tipos de ponto flutuante
Exemplo
public class TiposPrimitivos {
public static void main(String[] args){

// Tipos numéricos inteiros
byte byteMinimo = -128;
byte byteMaximo = 127;

short shortMaximo = -32768;
short shortMinimo = 32767;

int intMaximo = -2147483648;
int intMinimo = 2147483647;

long longMaximo = -9223372036854775808;
long longMinimo = 9223372036854775807;

// Tipos numéricos reais
float floatNum = 78.88776f;
double doubleNum = 922337.559874387184073645;
}
}
Date (java.util.Date)
Calendar (java.util.Calendar)
A classe Date armazena uma data e hora, que internamente é armazenada com um inteiro long
Não oferece todos os recursos necessários para manipular datas
Date d = new Date();
Date
A classe Calendar é uma classe abstrata e não pode ser instanciada com o operador new
Ela deve ser criada utilizando um operador estático sobrecarregado: getInstance()
Calendar c = Calendar.getIntance();
Com a instância de Calendar devemos configurar uma data e podemos fazer isso de duas formas:
c.set(ano,mes,dia);
c.set(ano,mês,dia,hora,minuto);
c.set(ano,mês,dia,hora,minuto,segundo);
set()
c.setTime(new Date() );
setTime()
A classe Calendar também nos fornece várias constantes para manipular datas
Date d= new Date();
Calendar c = Calendar.getInstance();
c.add(Calendar.DAY_OF_YEAR,5 );//adicionamos 5 dias a data aual
c.add(Calendar.MONTH,3 );//adicionamos 3 mêses a data atual
c.add(Calendar.YEAR,1 );//adicionamos 1 ano a data atual
Métodos Classe String
Split
A classe String conta com um método split que “corta” a String em um array de Strings, de acordo com determinados parâmetros.
String frase = "java é demais";
String palavras[] = frase.split(" ");
Gerar e manipular de uma forma eficiente todos os comentários em formato de documentação de códigos
Facilitar a reutilização como fonte geradora de conhecimentos acerca de uma classe.
['java', ['é'], ['demais']
Javadoc
toUpperCase e toLowerCase
Método da classe String que retorna uma nova String em caixa alta (toUpperCase) e em caixa baixa (toLowerCase) de uma String.
Padrão de documentação de classes em Java
Criado pela Sun Microsystems
Fornece linguagem especifica para enriquecer os comentários que introduzem classes, atributos e métodos
Baseia-se na inserção de textos explicativos em forma de um comentário especial,
DateFormat(java.text.DateFormat)
String palavra = "fj11";
String maiuscula = palavra.toUpperCase();
String minuscula = palavra.toLowerCase();
"FJ11"
"fj11"
Date d = new Date();
Calendar c = Calendar.getInstance();
c.setTime(d);
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
System.out.println( df.format(c.getTime()) );
replace
O método replace substitui uma determinada String de uma String
Quais classes?
Quais são seus métodos?
O que eles fazem?
String palavra = "fj11";
palavra = palavra.replace("1", "2");
"fj22"
substring
Retorna uma nova String a partir de uma String
Documentar o que a classe faz, e não como ela faz.
String palavra = "fj11";
String sub_palavra = palavra.substring(2, 3);
SimpleDateFormat()
"f j 1 1"
0 1 2 3 4
"1"
Java.Lang.StringBuffer
No caso de você trabalhar muito com a manipulação de uma mesma String (por exemplo, dentro de um laço), o ideal é utilizar a classe StringBuffer.

A classe StringBuffer representa uma sequência de caracteres e diferentemente da String, ela é mutável, e não possui aquele pool.
Date hoje = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm:ss");
System.out.println( sdf.format(hoje));
Sintaxe
/** Exemplo básico de um comentário em JavaDoc
* com mais de uma linha.
*/

Tags
Gerar o Javadoc
Usando Eclipse:

Disponível apenas se estiver na perspectiva Java
Opções para gerar a documentação do seu sistema
Ao abrir o arquivo index.html, vai abrirá uma página semelhante a essa:
Exemplo
/**
* Classe responsável por moldar as Contas do Banco
*
* @author Manoel Santos da Silva
*/

public abstract class
Conta{
...
}
Ou adicione alguns comentários em algum método seu:
/**
* Metodo que incrementa o saldo.
* @param valor
*/

public void
deposita(
double
valor) {
...
}
Como ficou:
Java.Lang.Math
Classe com diversos métodos especializados em realizar cálculos matemáticos.
Parte do pacote Java.Lang, importado automaticamente pelo compilador.
Constantes matemáticas:
•Math.PI: O valor de pi.(3.14159265358979323846f)
•Math.E: Valor da base para logaritmos naturais.(2.7182818284590452354f)

Existe uma série de métodos estáticos que fazem operações com números, por exemplo: arredondar(round), tirar o valor absoluto (abs), tirar a raiz(sqrt), calcular o seno(sin) e outros.
Métodos
Potências e raízes
•pow (base, expoente) - calcula a potência da base elevada ao expoente.
•sqrt (número) - calcula a raíz quadrada de um número
•cbrt (número) - calcula a raiz cúbica de um número
public class
PotenciasRaizes {

public static void

main(String[] args) {
System.out.println(
"1 MB tem " + Math.pow(2, 10) + " KB"
);
System.out.println(
"A raiz quadrada de 121 é "
+ Math.sqrt(121)
+
" e a raiz cúbica de 1331 também é "
+ Math.cbrt(1331));
}
Arredondamentos

•floor (decimal) - este método retorna o primeiro inteiro após o valor decimal. Ex.: 2.1 será 3, 6.0 será 6, 10.8 será 11...
•round (decimal) - retorna o arredondamento aritmético do número decimal passado como parâmetro
public class
Exemplo {

public static void
main(String[] args) {
float nr = -5.75f;
System.out.println(
"Absoluto: "
+ Math.abs(nr) +

"\nInteiro mais baixo: "
+ Math.ceil(nr) +

"\nInteiro mais alto: "
+ Math.floor(nr) +

"\nDouble mais próximo:
" + Math.rint(nr) +

"\nArredondamento: "
+ Math.round(nr));
}
Trigonometria

A maior parte dos métodos encontrados na classe Math são trigonométricos.
•hypot (x , y) - retorna o valor da hipotenusa, ou, basicamente, a distância entre dois pontos fundamentada na fórmula √x²+y² » [sqrt (pow(x, 2) + pow(y,2))].
public class
Hipotenusa {

public static void
main(String[] args) {

double
ponto1 = 30;

double
ponto2 = 40;
System.out.println(
"A distancia entre o "
+ ponto1 +
" e o "
+ ponto2 +
" é "
+ Math.hypot(ponto1, ponto2));
}
import java.util.Random;

public class RandomReal {

public static void main(String[] args) {

Random r = new Random();

System.out.println(r.nextDouble());
System.out.println(r.nextFloat());
}
}
Números Reais
Full transcript