Algoritmos e Técnicas de Programação
III
Vídeo 01
Professor(a): Josiane da Costa Vieira Rezende
Objetivos de aprendizagem
• Estudar sobre introdução à programação Java.
Operadores
● Atribuição: =
● Aritméticos:
− Soma: +
− Subtração: -
− Multiplicação: *
− Divisão: /
− Modulo: %
Precedência
● *, / e % : mesma precedência, a maior
● + e - : mesma precedência
● = : menor de todas
● Em caso de empate resolve-se da esquerda
para a direita
● O uso de parênteses altera a precedência
Operadores
● Igualdade:
− igual a: = =
− diferente: !=
● Relacionais
● maior que: >
● menor que: <
● maior ou igual: >=
● menor ou igual: <=
Tipos de dados primitivos
Tipo Bit Exemplo
boolean 8 true, false
char 16 ‘a’, ‘A’, ‘1’, ‘@’
byte 8 -128 a 127
int 32 -32768 a 32767
long 64 -263
a +263
float 32 -3.14, 0
double 64 -3.14, 0
void 0 nenhum valor nenhum valor
Estruturas de controle
● Comando if – sintaxe
if (condição) {
. . . seqüência de comandos . . .
}
if (condição)
<comando> ;
Estruturas de controle
● Comando if/else – sintaxe
if (condição) {
. . . seqüência de comandos . . .
}
else {
. . . seqüência de comandos . . .
}
import javax.swing.JOptionPane;
public class testeif{
public static void main(String args[]){
String entrada = JOptionPane.showInputDialog("Entre com um
número");
int num = Integer.parseInt(entrada);
if (num<=10){
JOptionPane.showMessageDialog(null,“Menor que 10 ");
}
else if (num<100){
JOptionPane.showMessageDialog(null,“Menor que 100");
}
else JOptionPane.showMessageDialog(null,“Maior que
100");
System.exit(0);
}
};
Repetição controlada
● Comando while – sintaxe
while (condição){
. . . seqüência de comandos . . .
}
Repetição controlada
import javax.swing.JOptionPane;
public class testewhile{
public static void main(String args[]){
String entrada = JOptionPane.showInputDialog("Entre
com um
número");
int num = Integer.parseInt(entrada);
while (num<=10){
System.out.println("num = " + num);
num ++;
}
}
};
Estrutura de repetição “for”
● Sintaxe
for (variável 🡪 inicial;condição;incremento){
. . . seqüência de comandos . . .
}
Estrutura de repetição “for”
public class TesteFor{
public static void main(String args[]){
for(int u=1; u<=10; u++ ){
System.out.println("u = " + u);
}
}
}
Repetição controlada do/while
● Tem a mesma função do while.
● A diferença e que o bloco de comandos é
executado pelo menos uma vez
● Sintaxe
do{
. . . seqüência de comandos . . .
} while (condição)
Repetição controlada do/while
import javax.swing.*;
public class TesteWhile{
public static void main(String args[]){
String entrada = JOptionPane.showInputDialog("Entre com um
número");
int num = Integer.parseInt(entrada);
do{
JOptionPane.showMessageDialog(null,"O número é" + num);
num = num/2;
}while (num>10);
}
};
Estrutura de Controle Switch
● Utilizado quando uma variável pode
assumir vário valores
● Este comando só pode ser utilizado com
variáveis dos tipos
− byte
− short
− int
− char
Estrutura de Controle Switch
● Sintaxe
switch (variável)
{
case [valor]:
. . . seqüência de comandos . . .
break;
case [valor]:
. . . seqüência de comandos . . .
break;
default:
. . . seqüência de comandos . . . }
import javax.swing.JOptionPane;
public class TesteCase{
public static void main(String args[]){
String entrada = JOptionPane.showInputDialog("Entre com um número");
int num = Integer.parseInt(entrada);
switch (num)
{
case 1:
JOptionPane.showMessageDialog(null,"1");
break;
case 2:
JOptionPane.showMessageDialog(null,"2");
break;
default:
JOptionPane.showMessageDialog(null,“maior ou igual a 3");
}
System.exit(0);
}
};
Operadores Lógicos
● Operador “OU” (or)
● Operador “E” (and)
Operadores Lógicos
● Operador “OU exclusivo” (xor)
● Operador de negação (not)
Métodos
● São módulos de programas, ou seja, trechos de
código com determinada função.
● Cada método deve possuir um nome (identificador)
● Declaração básica de um método:
valor_retorno nome_metodo( tipo p1, tipo p2, ... ){
. . . seqüência de comandos . . .
}
import java.awt.Container;
import javax.swing.*;
public class SquareInteger extends JApplet {
public void init(){
int result;
String output = "";
for(int counter = 1; counter<=10; counter++){
result = square(counter);
output = output + "n" + counter + " * " + counter + " = " + result;
}
JOptionPane.showMessageDialog(null,output);
}
public int square(int y){
return y * y;
}
}
Chamada de métodos
● Métodos da mesma classe:
− nome_método(lista_parâmetros)
− se não tiver parâmentros: nome_método()
− ex: square(counter)
● Métodos de objetos
− nome_objeto.nome_método();
− ex: outputArea.setText(“Hello world”);
● Métodos de classes importadas
− nome_classe.nome_método(lista_parâmetros)
− ex: JOPtionPane.showMessageDialog(null,“Olá!”);
− Obs: métodos static
● Um método static de uma classe só pode chamar
metodos e variáveis static desta classe
Métodos da Classe Math
● Os métodos dessa classe permitem realizar
certos cálculos matemáticos comuns
● Esta presente no pacote java.lang, ou seja,
não precisa ser importado
● Seus principais métodos são:
Métodos da Classe Math
● abs(x): retorna o valor absoluto
− abs(-1.34) = 1.34 (int, long, float, double)
● cos(x): retorna o co-seno de x, em radianos
● exp(x): método exponencial ex
● ceil(x): retorna o menor inteiro maior que x
− ceil(9.2) = 10
● floor(x): retorna o maior inteiro menor que x
− floor(9.2) = 9
● round(x): arredonda para o inteiro mais próximo
Métodos da Classe Math
● log(x): logaritmo de x na base e
● max(x,y): retorna o maior entre x e y
● min(x,y): retorna o menor entre x e y
● pow(x,y): retorna xy
● sin(x): seno de x, em radianos
● sqrt(x): raiz quadrada de x
● tan(x): tangente de x, em radianos
Exercício
● Crie um applet que receba 3 valores (double) e
retorne o maior deles.
● Crie um método denominado Max, que será
responsável em calcular qual é o maior valor
● Utilize nesse médodo que será criado o método
Math.max(x,y).
● O resultado deve ser exibido dentro de uma
JTextArea no painel de conteúdo do applet.
import javax.swing.*;
import java.awt.Container;
public class Maximum extends JApplet{
public void init(){
String n1, n2, n3;
double x, y, z;
n1 = JOptionPane.showInputDialog("Entre com o
primeiro número:");
n2 = JOptionPane.showInputDialog("Entre com o
segundo número:");
n3 = JOptionPane.showInputDialog("Entre com o
terceiro número:");
x = Double.parseDouble(n1);
y = Double.parseDouble(n2);
z = Double.parseDouble(n3);
double result = max(x,y,z);
JOptionPane.showMessageDialog(null, "O maior
é " + result);
}
public double max(double x, double y, double z){
return Math.max(x,Math.max(y,z));
}
};
Coerção de argumentos
● É a transformação automática de um tipo
de dados para outro
● Ex: Math.sqrt(x), espera que x seja double.
Se x for inteiro, automaticamente ocorre a
conversão de x para double e o método
executa normalmente
● Só é aceito de tipos inferiores para tipos
superiores
Coerção de argumentos
● double 🡪 nenhuma
● float 🡪 double
● long 🡪 float, double
● int 🡪 float, double, long
● char 🡪 float, double, long, int
● shor 🡪 float, double, long, int
● byte 🡪 short, float, double, long, int
● boolean 🡪 nenhuma
Conversão de tipos
● Para converter de tipos superiores para inferiores
segue-se o exemplo:
int x;
x = (int) Max(1.0, 2.0, 3.0)
O método retorna um double e esse double é
convertido para inteiro
● Exemplo 2:
int x = (int) Max(1.0, 2.0, 3.0) / 2
Primeiro o método é executado, depois ocorre a
conversão e por último a divisão
Números Aleatório
● O método Math.random() retorna um
número x (double), de forma que
0 <= x < 0
● Para produzir inteiros em um determinado
intervalo (I 🡪 F) deve-se escalonar o
resultado desse método da seguinte forma:
int i = I + (int) (Math.random() * (F – I + 1))
Números Aleatórios
public class randomico{
public static void main(String args[]){
int x=0;
for (int i=1; i<=10 ; i++){
x = 1 + (int)(Math.random() * 10);
System.out.println("n" + x);
}
}
}
Exercício
● Crie um método que, quando chamado,
gere números inteiros aleatórios de 0 a 6.
Crie um aplicativo que receba um inteiro
fornecido pelo usuário e compare se esse
número é igual a um número gerado pelo
método citado acima. Esse aplicativo deve
oferecer 10 chances para o usuário acertar.
Toda vez que o usuário entrar com um novo
valor um novo número aleatório é gerado.
import javax.swing.JOptionPane;
public class dado{
public static int jogar(){
return 1 + (int)(Math.random()*6);
}
public static void main(String args[]){
String entrada;
int num, result;
for (int u=1; u<=10 ; u++){
entrada = JOptionPane.showInputDialog("Entre com um número (1-6)");
num = Integer.parseInt(entrada);
result = jogar();
if (num == result)
JOptionPane.showMessageDialog(null,"Você acertou!");
else
JOptionPane.showMessageDialog(null,“Errado! O resultado é: " +
result);
}
System.exit(0);
}
}
import javax.swing.JOptionPane;
import javax.swing.JApplet;
public class dado extends JApplet{
public static int jogar(){
return 1 + (int)(Math.random()*6);
}
public void init(){
String entrada;
int num, result;
for (int u=1; u<=10 ; u++){
entrada = JOptionPane.showInputDialog("Entre com um número (1-6)");
num = Integer.parseInt(entrada);
result = jogar();
if (num == result)
JOptionPane.showMessageDialog(null,"Você acertou!");
else
JOptionPane.showMessageDialog(null,"Errado! O resultado é: " + result);
}
}
}
Exercícios
● Faça um applet que crie um número aleatório entre
0 e 100, e que ofereça 3 chances para o usuário
acertar tal número. Toda vez que o usuário entrar
com uma tentativa o applet deve retornar se a o
número inserido pelo usuário é maior ou menor
que o número gerado pelo programa
● Crie um applet onde o usuário insere um número
(double) e o applet retorne a parte fracionário
deste número
● Crie um applet que gere 5000 números aleatórios
de 1 a 5 ao final imprima quantas vezes cada
número foi gerado.
Exercício
● Escreva o seguinte método:
public double calculo(double a, double b, int opcao)
Esse método deve retornar o resultado uma operação
entre
a e b, que deve ser definida em opção, da seguinte forma:
− opcao = 1 🡪 a * b
− opcao = 2 🡪 a / b
− opcao = 3 🡪 ab
− opcao = 4 🡪 sqrt(a+b)
Crie um applet que utilize esse método e ofereça ao
usuário um menu contendo as 4 opções.
Strings
String
● Não é exatamente um vetor de caracteres,
é uma classe que possui como atributo um
vetor de caracteres.
● Com isso, cada string é um objeto
● Possui vários métodos que auxiliam no
tratamento de strings
Strings - Métodos
● Criando um string
char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.'};
String helloString = new String(helloArray);
ou
String helloString = “hello.”
● Comparação
String a;
If (a.equals(“Programação”)) { ...}
Strings - Métodos
● Tamanho
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
● Concatenando
− String a = “Hello”
− String b = “ Word!”
− a.concat(b); ou a = a+b; ou a +=b;
Strings - Métodos
● Convertendo Strings em números
− int i = Integer.parseInt(“12”);
− double d = Double.parseDouble(“3.14”);
● Convertendo número em Strings
− double x = 10.7;
− String y = “” + 10.7;
ou
− int i; double d;
− String s3 = Integer.toString(i);
− String s4 = Double.toString(d);
Strings - Métodos
● Pegando um caractere
String anotherPalindrome = "Niagara. O roar
again!";
char aChar = anotherPalindrome.charAt(9);
Obs: primeiro caractere 🡪 charAt(0)
● Pegando uma substring
− String anotherPalindrome = "Niagara. O roar again!";
− String roar = anotherPalindrome.substring(11, 15);
String - Métodos
● Maiúsculo e minúsculo
− toLowerCase() e toUpperCase() : retorna a string toda
em maiúsculo ou em minúsculo
● Pegando pedaços da string
− String question = "josiane da costa vieira rezende";
− String a[] = question.split(" ");
− JOptionPane.showMessageDialog(null, "" + a[0]);
String - Métodos
● Verificando a ocorrência de caracteres ou de substrings
− String q = "josiane da costa vieira rezende";
− int a = q.indexOf(" ");
− JOptionPane.showMessageDialog(null, "" + a); // aparece 7
− String q = "josiane da costa vieira rezende";
− int a = q.lastIndexOf(" ");
− JOptionPane.showMessageDialog(null, "" + a); // aparece
24
Obs: pode ser passada uma substring
String - Métodos
● Substituindo caracteres ou substrings
String q = "josiane da costa vieira rezende";
String a = q.replace(" ","_");
JOptionPane.showMessageDialog(null, "" + a);
Formatando casas decimais
import java.text.DecimalFormat;
import javax.swing.*;
public class FormataDecimais {
public static void main(String args[]) {
double x = 10.0 /3;
DecimalFormat fmt = new DecimalFormat("0.00");
String n = fmt.format(x);
JOptionPane.showMessageDialog(null, "" + n);
}
}
Neste vídeo educativo você aprendeu sobre
introdução à programação Java.
Interaja no ambiente virtual, ele é o nosso
meio de comunicação!
Bons estudos!
Finalizando...
50
Professora: Adriana Viana
Referências
BARNES, D. Programação Orientada a Objetos com Java. São Paulo: Pearson, 2004.
DEITEL, P; DEITEL, H. Java como Programar. 8 ed. São Paulo: Pearson, 2010.
HORSTMANN, C; CORNELL, G. Core Java: Volume 1 - Fundamentos. 8 ed. São Paulo: Pearson, 2010.

programação de computadores - java e programação de computadores

  • 1.
    Algoritmos e Técnicasde Programação III Vídeo 01 Professor(a): Josiane da Costa Vieira Rezende
  • 2.
    Objetivos de aprendizagem •Estudar sobre introdução à programação Java.
  • 3.
    Operadores ● Atribuição: = ●Aritméticos: − Soma: + − Subtração: - − Multiplicação: * − Divisão: / − Modulo: %
  • 4.
    Precedência ● *, /e % : mesma precedência, a maior ● + e - : mesma precedência ● = : menor de todas ● Em caso de empate resolve-se da esquerda para a direita ● O uso de parênteses altera a precedência
  • 5.
    Operadores ● Igualdade: − iguala: = = − diferente: != ● Relacionais ● maior que: > ● menor que: < ● maior ou igual: >= ● menor ou igual: <=
  • 6.
    Tipos de dadosprimitivos Tipo Bit Exemplo boolean 8 true, false char 16 ‘a’, ‘A’, ‘1’, ‘@’ byte 8 -128 a 127 int 32 -32768 a 32767 long 64 -263 a +263 float 32 -3.14, 0 double 64 -3.14, 0 void 0 nenhum valor nenhum valor
  • 7.
    Estruturas de controle ●Comando if – sintaxe if (condição) { . . . seqüência de comandos . . . } if (condição) <comando> ;
  • 8.
    Estruturas de controle ●Comando if/else – sintaxe if (condição) { . . . seqüência de comandos . . . } else { . . . seqüência de comandos . . . }
  • 9.
    import javax.swing.JOptionPane; public classtesteif{ public static void main(String args[]){ String entrada = JOptionPane.showInputDialog("Entre com um número"); int num = Integer.parseInt(entrada); if (num<=10){ JOptionPane.showMessageDialog(null,“Menor que 10 "); } else if (num<100){ JOptionPane.showMessageDialog(null,“Menor que 100"); } else JOptionPane.showMessageDialog(null,“Maior que 100"); System.exit(0); } };
  • 10.
    Repetição controlada ● Comandowhile – sintaxe while (condição){ . . . seqüência de comandos . . . }
  • 11.
    Repetição controlada import javax.swing.JOptionPane; publicclass testewhile{ public static void main(String args[]){ String entrada = JOptionPane.showInputDialog("Entre com um número"); int num = Integer.parseInt(entrada); while (num<=10){ System.out.println("num = " + num); num ++; } } };
  • 12.
    Estrutura de repetição“for” ● Sintaxe for (variável 🡪 inicial;condição;incremento){ . . . seqüência de comandos . . . }
  • 13.
    Estrutura de repetição“for” public class TesteFor{ public static void main(String args[]){ for(int u=1; u<=10; u++ ){ System.out.println("u = " + u); } } }
  • 14.
    Repetição controlada do/while ●Tem a mesma função do while. ● A diferença e que o bloco de comandos é executado pelo menos uma vez ● Sintaxe do{ . . . seqüência de comandos . . . } while (condição)
  • 15.
    Repetição controlada do/while importjavax.swing.*; public class TesteWhile{ public static void main(String args[]){ String entrada = JOptionPane.showInputDialog("Entre com um número"); int num = Integer.parseInt(entrada); do{ JOptionPane.showMessageDialog(null,"O número é" + num); num = num/2; }while (num>10); } };
  • 16.
    Estrutura de ControleSwitch ● Utilizado quando uma variável pode assumir vário valores ● Este comando só pode ser utilizado com variáveis dos tipos − byte − short − int − char
  • 17.
    Estrutura de ControleSwitch ● Sintaxe switch (variável) { case [valor]: . . . seqüência de comandos . . . break; case [valor]: . . . seqüência de comandos . . . break; default: . . . seqüência de comandos . . . }
  • 18.
    import javax.swing.JOptionPane; public classTesteCase{ public static void main(String args[]){ String entrada = JOptionPane.showInputDialog("Entre com um número"); int num = Integer.parseInt(entrada); switch (num) { case 1: JOptionPane.showMessageDialog(null,"1"); break; case 2: JOptionPane.showMessageDialog(null,"2"); break; default: JOptionPane.showMessageDialog(null,“maior ou igual a 3"); } System.exit(0); } };
  • 19.
    Operadores Lógicos ● Operador“OU” (or) ● Operador “E” (and)
  • 20.
    Operadores Lógicos ● Operador“OU exclusivo” (xor) ● Operador de negação (not)
  • 21.
    Métodos ● São módulosde programas, ou seja, trechos de código com determinada função. ● Cada método deve possuir um nome (identificador) ● Declaração básica de um método: valor_retorno nome_metodo( tipo p1, tipo p2, ... ){ . . . seqüência de comandos . . . }
  • 22.
    import java.awt.Container; import javax.swing.*; publicclass SquareInteger extends JApplet { public void init(){ int result; String output = ""; for(int counter = 1; counter<=10; counter++){ result = square(counter); output = output + "n" + counter + " * " + counter + " = " + result; } JOptionPane.showMessageDialog(null,output); } public int square(int y){ return y * y; } }
  • 23.
    Chamada de métodos ●Métodos da mesma classe: − nome_método(lista_parâmetros) − se não tiver parâmentros: nome_método() − ex: square(counter) ● Métodos de objetos − nome_objeto.nome_método(); − ex: outputArea.setText(“Hello world”); ● Métodos de classes importadas − nome_classe.nome_método(lista_parâmetros) − ex: JOPtionPane.showMessageDialog(null,“Olá!”); − Obs: métodos static ● Um método static de uma classe só pode chamar metodos e variáveis static desta classe
  • 24.
    Métodos da ClasseMath ● Os métodos dessa classe permitem realizar certos cálculos matemáticos comuns ● Esta presente no pacote java.lang, ou seja, não precisa ser importado ● Seus principais métodos são:
  • 25.
    Métodos da ClasseMath ● abs(x): retorna o valor absoluto − abs(-1.34) = 1.34 (int, long, float, double) ● cos(x): retorna o co-seno de x, em radianos ● exp(x): método exponencial ex ● ceil(x): retorna o menor inteiro maior que x − ceil(9.2) = 10 ● floor(x): retorna o maior inteiro menor que x − floor(9.2) = 9 ● round(x): arredonda para o inteiro mais próximo
  • 26.
    Métodos da ClasseMath ● log(x): logaritmo de x na base e ● max(x,y): retorna o maior entre x e y ● min(x,y): retorna o menor entre x e y ● pow(x,y): retorna xy ● sin(x): seno de x, em radianos ● sqrt(x): raiz quadrada de x ● tan(x): tangente de x, em radianos
  • 27.
    Exercício ● Crie umapplet que receba 3 valores (double) e retorne o maior deles. ● Crie um método denominado Max, que será responsável em calcular qual é o maior valor ● Utilize nesse médodo que será criado o método Math.max(x,y). ● O resultado deve ser exibido dentro de uma JTextArea no painel de conteúdo do applet.
  • 28.
    import javax.swing.*; import java.awt.Container; publicclass Maximum extends JApplet{ public void init(){ String n1, n2, n3; double x, y, z; n1 = JOptionPane.showInputDialog("Entre com o primeiro número:"); n2 = JOptionPane.showInputDialog("Entre com o segundo número:"); n3 = JOptionPane.showInputDialog("Entre com o terceiro número:");
  • 29.
    x = Double.parseDouble(n1); y= Double.parseDouble(n2); z = Double.parseDouble(n3); double result = max(x,y,z); JOptionPane.showMessageDialog(null, "O maior é " + result); } public double max(double x, double y, double z){ return Math.max(x,Math.max(y,z)); } };
  • 30.
    Coerção de argumentos ●É a transformação automática de um tipo de dados para outro ● Ex: Math.sqrt(x), espera que x seja double. Se x for inteiro, automaticamente ocorre a conversão de x para double e o método executa normalmente ● Só é aceito de tipos inferiores para tipos superiores
  • 31.
    Coerção de argumentos ●double 🡪 nenhuma ● float 🡪 double ● long 🡪 float, double ● int 🡪 float, double, long ● char 🡪 float, double, long, int ● shor 🡪 float, double, long, int ● byte 🡪 short, float, double, long, int ● boolean 🡪 nenhuma
  • 32.
    Conversão de tipos ●Para converter de tipos superiores para inferiores segue-se o exemplo: int x; x = (int) Max(1.0, 2.0, 3.0) O método retorna um double e esse double é convertido para inteiro ● Exemplo 2: int x = (int) Max(1.0, 2.0, 3.0) / 2 Primeiro o método é executado, depois ocorre a conversão e por último a divisão
  • 33.
    Números Aleatório ● Ométodo Math.random() retorna um número x (double), de forma que 0 <= x < 0 ● Para produzir inteiros em um determinado intervalo (I 🡪 F) deve-se escalonar o resultado desse método da seguinte forma: int i = I + (int) (Math.random() * (F – I + 1))
  • 34.
    Números Aleatórios public classrandomico{ public static void main(String args[]){ int x=0; for (int i=1; i<=10 ; i++){ x = 1 + (int)(Math.random() * 10); System.out.println("n" + x); } } }
  • 35.
    Exercício ● Crie ummétodo que, quando chamado, gere números inteiros aleatórios de 0 a 6. Crie um aplicativo que receba um inteiro fornecido pelo usuário e compare se esse número é igual a um número gerado pelo método citado acima. Esse aplicativo deve oferecer 10 chances para o usuário acertar. Toda vez que o usuário entrar com um novo valor um novo número aleatório é gerado.
  • 36.
    import javax.swing.JOptionPane; public classdado{ public static int jogar(){ return 1 + (int)(Math.random()*6); } public static void main(String args[]){ String entrada; int num, result; for (int u=1; u<=10 ; u++){ entrada = JOptionPane.showInputDialog("Entre com um número (1-6)"); num = Integer.parseInt(entrada); result = jogar(); if (num == result) JOptionPane.showMessageDialog(null,"Você acertou!"); else JOptionPane.showMessageDialog(null,“Errado! O resultado é: " + result); } System.exit(0); } }
  • 37.
    import javax.swing.JOptionPane; import javax.swing.JApplet; publicclass dado extends JApplet{ public static int jogar(){ return 1 + (int)(Math.random()*6); } public void init(){ String entrada; int num, result; for (int u=1; u<=10 ; u++){ entrada = JOptionPane.showInputDialog("Entre com um número (1-6)"); num = Integer.parseInt(entrada); result = jogar(); if (num == result) JOptionPane.showMessageDialog(null,"Você acertou!"); else JOptionPane.showMessageDialog(null,"Errado! O resultado é: " + result); } } }
  • 38.
    Exercícios ● Faça umapplet que crie um número aleatório entre 0 e 100, e que ofereça 3 chances para o usuário acertar tal número. Toda vez que o usuário entrar com uma tentativa o applet deve retornar se a o número inserido pelo usuário é maior ou menor que o número gerado pelo programa ● Crie um applet onde o usuário insere um número (double) e o applet retorne a parte fracionário deste número ● Crie um applet que gere 5000 números aleatórios de 1 a 5 ao final imprima quantas vezes cada número foi gerado.
  • 39.
    Exercício ● Escreva oseguinte método: public double calculo(double a, double b, int opcao) Esse método deve retornar o resultado uma operação entre a e b, que deve ser definida em opção, da seguinte forma: − opcao = 1 🡪 a * b − opcao = 2 🡪 a / b − opcao = 3 🡪 ab − opcao = 4 🡪 sqrt(a+b) Crie um applet que utilize esse método e ofereça ao usuário um menu contendo as 4 opções.
  • 40.
  • 41.
    String ● Não éexatamente um vetor de caracteres, é uma classe que possui como atributo um vetor de caracteres. ● Com isso, cada string é um objeto ● Possui vários métodos que auxiliam no tratamento de strings
  • 42.
    Strings - Métodos ●Criando um string char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.'}; String helloString = new String(helloArray); ou String helloString = “hello.” ● Comparação String a; If (a.equals(“Programação”)) { ...}
  • 43.
    Strings - Métodos ●Tamanho String palindrome = "Dot saw I was Tod"; int len = palindrome.length(); ● Concatenando − String a = “Hello” − String b = “ Word!” − a.concat(b); ou a = a+b; ou a +=b;
  • 44.
    Strings - Métodos ●Convertendo Strings em números − int i = Integer.parseInt(“12”); − double d = Double.parseDouble(“3.14”); ● Convertendo número em Strings − double x = 10.7; − String y = “” + 10.7; ou − int i; double d; − String s3 = Integer.toString(i); − String s4 = Double.toString(d);
  • 45.
    Strings - Métodos ●Pegando um caractere String anotherPalindrome = "Niagara. O roar again!"; char aChar = anotherPalindrome.charAt(9); Obs: primeiro caractere 🡪 charAt(0) ● Pegando uma substring − String anotherPalindrome = "Niagara. O roar again!"; − String roar = anotherPalindrome.substring(11, 15);
  • 46.
    String - Métodos ●Maiúsculo e minúsculo − toLowerCase() e toUpperCase() : retorna a string toda em maiúsculo ou em minúsculo ● Pegando pedaços da string − String question = "josiane da costa vieira rezende"; − String a[] = question.split(" "); − JOptionPane.showMessageDialog(null, "" + a[0]);
  • 47.
    String - Métodos ●Verificando a ocorrência de caracteres ou de substrings − String q = "josiane da costa vieira rezende"; − int a = q.indexOf(" "); − JOptionPane.showMessageDialog(null, "" + a); // aparece 7 − String q = "josiane da costa vieira rezende"; − int a = q.lastIndexOf(" "); − JOptionPane.showMessageDialog(null, "" + a); // aparece 24 Obs: pode ser passada uma substring
  • 48.
    String - Métodos ●Substituindo caracteres ou substrings String q = "josiane da costa vieira rezende"; String a = q.replace(" ","_"); JOptionPane.showMessageDialog(null, "" + a);
  • 49.
    Formatando casas decimais importjava.text.DecimalFormat; import javax.swing.*; public class FormataDecimais { public static void main(String args[]) { double x = 10.0 /3; DecimalFormat fmt = new DecimalFormat("0.00"); String n = fmt.format(x); JOptionPane.showMessageDialog(null, "" + n); } }
  • 50.
    Neste vídeo educativovocê aprendeu sobre introdução à programação Java. Interaja no ambiente virtual, ele é o nosso meio de comunicação! Bons estudos! Finalizando... 50 Professora: Adriana Viana
  • 51.
    Referências BARNES, D. ProgramaçãoOrientada a Objetos com Java. São Paulo: Pearson, 2004. DEITEL, P; DEITEL, H. Java como Programar. 8 ed. São Paulo: Pearson, 2010. HORSTMANN, C; CORNELL, G. Core Java: Volume 1 - Fundamentos. 8 ed. São Paulo: Pearson, 2010.