Programação Orientada a Objetos I Estruturas de Dados em Java

Propaganda
Programação Orientada a Objetos I
Estruturas de Dados em Java
Rafael Silva Guimarães
Instituto Federal do Espı́rito Santo
[email protected]
http://rafaelguimaraes.net
https://github.com/rafaelsilvag/ifesJava
2 de Agosto de 2016
Estruturas de Dados em Java
1/21
Glossário
Estruturas de Decisão
Estruturas de Repetição
Estruturas de Dados em Java
Referências
Estruturas de Dados em Java
2/21
Estrururas de Decisão
I
Uma estrutura de decisão altera o fluxo de execução do
programa. Ele faz isso através de uma estrutura aonde você
especifica uma condição para que ocorra tal alteração em um
determinado programa.
I
No Java, as estruturas de decisão possuem syntaxe idêntica
da linguagem C, vista por vocês no semestre anterior. As
estruturas que você deve ter conhecimento são: IF e
SWITCH.
Estruturas de Dados em Java
3/21
Estrururas de Decisão
I
Vejamos um de utilização da estrurura IF no algoritmo
ExemploIf01.
I
Obs.: Assim como no C, a linguagem Java também é
sensı́vel a letras maiúsculas e minı́sculas.
Estruturas de Dados em Java
4/21
Estrururas de Decisão
Example (ExemploIf01.java)
import javax.swing.JOptionPane;
// Importaç~
ao da classe responsável por criar uma
// interface de interaç~
ao com o usuário
public class ExemploIf01{
public static void main(String args[]){
int valor=0;
// Retiramos o System.out.println por JOptionPane
if (valor == 0){
JOptionPane.showMessageDialog(
null,
"Valor igual a 0");
}else{
JOptionPane.showMessageDialog(
null,
"Valor n~
ao é igual a 0");
}
}
}
Estruturas de Dados em Java
5/21
Estrururas de Decisão
I
Estamos alterando a forma de como iremos exibir e capturar
as informações para o usuário. Estaremos utilizando uma
classe gráfica que exibe e coleta informações do usuário
chamada de ”JOptionPane”.
I
Esta classe faz parte do pacote Swing, responsável por
armazenar todas as classes de manipulação gráfica no Java.
Iremos aprofundar melhor nela em um outro momento em
nossa disciplina.
Estruturas de Dados em Java
6/21
Estrururas de Decisão
I
I
Lembre-se! Para capturar e exibir os dados utilizaremos
conforme podemos observar no código abaixo:
JOptionPane.showMessageDialog(null, ”Valor”);
int i=0;
// Para concatenar valor inteiro com string usamos o +
JOptionPane.showMessageDialog(null, "Valor: "+i);
I
JOptionPane.showInputDialog(”Informe um valor: ”);
String str01;
// Sempre irá retornar um valor do tipo String
str01 = JOptionPane.showInputDialog("Informe um valor: ");
Estruturas de Dados em Java
7/21
Estrururas de Decisão
I
Algumas comparações serão alteradas. Por exemplo, em C
para compararmos strings era necessário utilizarmos uma
coleção de funções na biblioteca ”string.h”. No caso do Java,
uma String na verdade é um objetos que contém métodos e
atributos. Veja no exemplo a seguir:
I
Podemo observar que no objeto do tipo String temos um
método chamado de ”equal”ou ”equalIgnoreCase”,
responsável por comparar 2 strings. Portanto, o método irá
retornar 2 valores, ”true”ou ”false”.
Estruturas de Dados em Java
8/21
Estrururas de Decisão
Example (ExemploIf04.java)
import javax.swing.JOptionPane;
public class ExemploIf04{
public static void main(String args[]){
String nome;
nome = JOptionPane.showInputDialog("Informe o seu nome");
// verifica se o nome do usuário é admin
if(nome.equals("admin")){
JOptionPane.showMessageDialog(null,
"Voc^
e é um usuário Admin!");
}else{
JOptionPane.showMessageDialog(null,
"Voc^
e é um usuário comum!");
}
}
}
Estruturas de Dados em Java
9/21
Estrururas de Decisão
Example (ExemploIf05.java)
import javax.swing.JOptionPane;
public class ExemploIf05{
public static void main(String args[]){
String nome;
nome = JOptionPane.showInputDialog("Informe o seu nome");
// verifica se o nome do usuário é admin
if(nome.equalsIgnoreCase("admin")){
JOptionPane.showMessageDialog(null,
"Voc^
e é um usuário Admin!");
}else{
JOptionPane.showMessageDialog(null,
"Voc^
e é um usuário comum!");
}
}
}
Estruturas de Dados em Java
10/21
Estrururas de Decisão
I
Vamos ver um exemplo de utilização da estrutura de decisão
Switch em Java, no algoritmo ExemploSwitch01.
I
Nesta etapa executamos uma ”Conversão de Tipos”, passando
um valor do tipo String para um valor do tipo Integer.
Valor Inicial
Tipagem Final
Formato para conversão
int x = 10
int x = 10
float x = 10.5
float
double
int
float y = (float) x
double y = (double) x
int y = (int) x
Estruturas de Dados em Java
11/21
Estrururas de Decisão
import javax.swing.JOptionPane;
public class ExemploSwitch01{
public static void main(String args[]){
String valor;
int opc;
valor = JOptionPane.showInputDialog("Informe um valor: ");
// Convertendo os valor String para Integer.
opc = Integer.parseInt(valor);
switch(opc){
case 1: JOptionPane.showMessageDialog("Valor 1!"); break;
case 2: JOptionPane.showMessageDialog("Valor 2!"); break;
case 3: JOptionPane.showMessageDialog("Valor 3!"); break;
default: JOptionPane.showMessageDialog("Desconhecido!");
}
}
}
Estruturas de Dados em Java
12/21
Estrururas de Decisão
Valor Inicial
Tipagem Final
Formato para conversão
String x = ”10”
String x = ”10.50”
String x = ”10.50”
String x = ”IFES”
int x = 10
float x = 10.5
double x = 235.222
byte x[]
int
float
double
Vetor de Bytes
String
String
String
String
int y = Integer.parseInt(x)
float y = Float.parseFloat(x)
double y = Double.parseDouble
byte b[] = x.getBytes()
String y = String.valueOf(x)
String y = String.valueOf(x)
String y = String.valueOf(x)
String y = new String(x)
Estruturas de Dados em Java
13/21
Estruturas de Repetição
I
Uma estrutura de repetição, cada ciclo de repetição é
chamado de iteração.
I
No Java, as estruturas de repetição possuem syntaxe idêntica
da linguagem C, vista por vocês no semestre anterior. As
estruturas que você deve ter conhecimento são: FOR,
FOREACH, WHILE e DO...WHILE.
Estruturas de Dados em Java
14/21
Estruturas de Repetição - FOR
Example (ExemploFor01.java)
import javax.swing.JOptionPane;
public class ExemploFor01{
public static void main(String args[]){
int valor=10, soma=0;
// Exemplo de utilizaç~
ao do FOR
for(int i = 0;i <= valor;i++){
soma += i;
}
JOptionPane.showMessageDialog(null,"Resultado: "+soma);
}
}
Estruturas de Dados em Java
15/21
Estruturas de Repetição - FOREACH
Example (ExemploFor02.java)
import javax.swing.JOptionPane;
public class ExemploFor02{
public static void main(String args[]){
int vInteiros[] = {0,1,2,3,4,5,6,7,8,9}, soma=0;
// Exemplo de utilizaç~
ao do FOREACH
for(int v: vInteiros){
soma += v;
}
JOptionPane.showMessageDialog(null,"Resultado: "+soma);
}
}
Estruturas de Dados em Java
16/21
Estruturas de Repetição - WHILE
Example (ExemploFor02.java)
import javax.swing.JOptionPane;
public class ExemploWhile01{
public static void main(String args[]){
int valor=10, soma=0;
// Exemplo de utilizaç~
ao do While
while(valor >= 0){
soma += valor;
valor--;
}
JOptionPane.showMessageDialog(null,"Resultado: "+soma);
}
}
Estruturas de Dados em Java
17/21
Estruturas de Repetição - DO...WHILE
import javax.swing.JOptionPane;
public class ExemploWhile02{
public static void main(String args[]){
String aux;
int opc;
// Exemplo de utilizaç~
ao do Do...While
do{
aux = JOptionPane.showInputDialog(
"####### INFORME UMA OPÇ~
AO #######\n"+
"1 - Cadastrar Aluno\n"+
"2 - Editar Aluno\n"+
"3 - Visualizar Alunos\n"+
"0 - Sair\n"+
"#################################\n"
);
}while(opc != 0);
}
}
Estruturas de Dados em Java
18/21
Declaração de Array(Vetores) em Java
I
Sintaxe da Declaração:
I
I
I
Usando elementos do Array
I
I
tipo[]nomedoarray = newtipo[numerodeelementos];
int[]notas = {8.0, 7.5, 8.5, 9.0, 8.0};
nota[10] = 10.0;
Vetores/Arrays Multidimensionais em Java
I
I
float[][]notas = newfloat[2][5];
float[][]notas = {{8.0, 7.5, 8.0, 6.5}, {8.9, 9.0, 8.4, 8.0}};
Estruturas de Dados em Java
19/21
Exemplo de Utilização Array(Vetores) em Java
public class ExemploArray {
public static void main(String args[]) {
int v1[] = {1, 2, 3, 4, 5};
int v2[] = new int[5];
for (int i = 0; i < v2.length; i++) {
v2[i] = i;
System.out.print(v2[i]+" ");
}
int m1[][] = {{1, 2}, {1, 2}};
int m2[][] = new int[3][3];
for (int i = 0; i < m2.length; i++) {
for (int j = 0; j < m2[i].length; j++) {
m2[i][j] = i + j;
System.out.print(m2[i][j]+" ");
}
System.out.println();
}
}
}
Estruturas de Dados em Java
20/21
Referências
Cornell, G. ; Horstmann, S. C.
Core Java 2: Fundamentos (vol.1.)
Pearson Makron Books São Paulo
Cornell, G. ; Horstmann, S. C.
Core Java 2: Recursos Avançados (vol.2.)
Pearson Makron Books São Paulo
Sebesta, R.W.
Conceitos de Linguagens de Programação
Bookman São Paulo
Deitel, Paul; Deitel, Harvey
Java - Como Programar
Pearson São Paulo
Estruturas de Dados em Java
21/21
Download