Вы находитесь на странице: 1из 17

Laboratrio de Programao de Computadores III aula 5

Prof. Carlos (Cadu)

Introduo ao Java Controle de Fluxo Cont.


J vimos a estrutura condicional simples: If {} Se atende condio, faz isso ! Else if {} Seno, Se atende essa outra, faz isso aqui ! Else {} Seno, faa isso ! Qual o problema dessa estrutura ? Na verdade, nenhum, apenas fica poluda a viso no caso de haverem muitas condies a serem testadas. O que fazer ento ? Podemos usar outra estrutura de apoio a teste Condicional, a switch
class TestaDia{ public static void main(String args[]){ int diaSemana = 4; if (diaSemana == 1) System.out.prin(segunda); else if (diaSemana == 2) System.out.prin(tera); else if (diaSemana == 3) System.out.prin(quarta); else if (diaSemana == 4) System.out.prin(quinta); else if (diaSemana == 5) System.out.prin(sexta); else if (diaSemana == 6) System.out.prin(sabado); else if (diaSemana == 7) System.out.prin(domingo);
} }

case

Introduo ao Java Controle de Fluxo Cont.


Estrutura switch

case

Switch Verifica o contedo de uma varivel Case compara o contedo com um valor e provoca um desvio se forem iguais. Regra de uso: S aceita testar variveis do tipo int e char. Deve-se finalizar cada bloco case com um comando breakcaso contrrio, os demais cases sero executados. Aps o ltimo case, se existir a possbilidade de chegar ao switch um contedo no previsto, incluir uma instruo default para tratar a exceo. Assim, temos tambm como complementos dessa estrutura, as instrues: break para a execuo e sala para fora do switch default trata qualquer contedo no previsto nos cases

Introduo ao Java Controle de Fluxo Cont.


Exemplo switch

case

class TestaDia2{ public static void main(String args[]){ int diaSemana = 4; switch (diaSemana){ case 1: System.out.println(segunda); break; case 2: System.out.println(tera); break; case 3: System.out.println(quarta); break; case 4: System.out.println(quinta); break; case 5: System.out.println(sexta); break; case 6: System.out.println(sabado); break; case 7: System.out.println(domingo); break; default: System.out.println(isso no devia acontecer); } } }

Introduo ao Java Passagem de parmetros via console.


Todo mtodo main tem em sua assinatura a seguinte definio: String args[] Ex: public void main (String args[]) Isso significa o seguinte:

Que na execuo do mtodo main, caso na linha de comando sejam digitados alguns parmetros (dados de entrada), eles chegaro ao programa em execuo por este meio.

Introduo ao Java Passagem de parmetros via console.


Exemplo:
class TestePar { public static void main (String[] args) { System.out.println("Parametro1: " + args[0]); System.out.println("Parametro2: " + args[1]); System.out.println("Parametro3: " + args[2]); } }

Aps compilar, a classe deve ser executada assim:

Voc digita java+espao+nome-da-classe+espao+parametro1+espao+parametro2+etc OBS. Se eu quiser que chegue na primeira ocorrncia de args o args[0] Carlos Eduardo Rosa, tenho colocar todo o texto entre aspas, ex: java TestePar Carlos Eduardo Rosa. Ai dentro do programa, este ser o contedo colocado em args[0].

Introduo ao Java Tipos de referncia.


Aproveitando o gancho da explicao dos parmetros do tipo String que podem ser passados para a classe atravs do mtodo main, vamos entender melhor este tipo de dado. Este tipo de dado, ao contrrio dos tipos primitivos (int, double, char, etc) na verdade uma classe do java, a qual permite definir variveis com caractersticas de objetos este tipo de dado possui recursos adicionais que so seus mtodos.
Por exemplo: Classe String: uma classe nativa do java e pertence ao pacote Java.lang que importado automaticamente pelo java e por isso no precisamos declarlo. O tipo String permite manipular strings caracteres alfanumricos de diversas formas, sendo muito til durante a programao em geral.

Introduo ao Java Tipos de referncia cont.


Vamos ver alguns mtodos fornecidos pelo tipo String:
Primeiro declaramos uma varivel do tipo String: String s = programao java; Mtodo lenght() usado para informar o tamanho de uma String, ex: System.out.println("Tamanho da string: " + s.length()); Mtodo charAt() retorna a posio de um carctere do texto, ex: System.out.println(caractere posio 5: " + s.charAt(5)); Mtodo toUpperCase() converte o texto para maisculas, ex: System.out.println(String s em maisculas: " + s.toUpperCase());

Introduo ao Java Tipos de referncia cont.


Mtodo toLowerCase() converte o texto para minsculas, ex: System.out.println(String s em minsculas : " + s.toLowerCase()); Mtodo substring() retorna um trecho de um texto entre duas posies de inicio e fim estabelecidas. OBS o nmero indicador da 2 posio opcional e se no for informado, at o ltimo caractere ser trazido ex: System.out.println(Do 1 ao 6 caractere: " + s.substring(0, 6); System.out.println(Mostra caractere 3 em diante: " + s.substring(3);

Mtodo trim() remove todos os espaos do inicio e fim de um texto, ex: String s2 = * meu teste *; System.out.println(sem espaos: " + s2.trim ());

Introduo ao Java Tipos de referncia cont.


Mtodo Replace() serve para troca um ou vrios caracteres de um texto por outros caracteres, ex: System.out.println(Trocandos o A por *: " + s.Replace(a, *));

Mtodo Equals() serve para comparar 2 Strings. Por exemplo: String s1 = Teste Java; String s2 = Teste Java; Se fizermos o teste assim, no funcionar. Ex:
If (s1 == s2){ System.out.println(sos iguais); }else {System.out.println(sos diferentes); } O resultado ser So diferentes. Isso devido uma regra do Java para comparao de Strings, que dita que para comparar duas strings no devemos usar o operador == e sim o mtodo Equals(); vamos ver um exemplo de como usar este mtodo no prox.slide.

Introduo ao Java Tipos de referncia cont.


Mtodo Equals() Exemplo: String s1 = Teste Java; String s2 = Teste Java;
if (s1.equals(s2)) { System.out.println(so iguais); } else { System.out.println(so diferentes);

Introduo ao Java Arrays / Vetores / Matrizes / etc


Aproveitando aquele mesmo gancho da explicao dos parmetros do mtodo main: public static void main (String args[])
Dentro do parnteses de um mtodo, tudo que tem l so chamados de parmetros que so variveis declaradas para indicar os tipos de dados que podero chegar dentro da classe para uso geral pela mesma. Explicando: String declara uma varivel do tipo texto args o nome dado varivel usada como parmetro (poderia ser dado outro nome a ela se a gente quisesse, por exemplo: par. Os [] ao lado do nome da varivel args indicam que esta varivel alm de ser do tipo String, tambm um VETOR.

E O QUE UM VETOR ?

R: Ver prximo slide.

Introduo ao Java Arrays / Vetores / Matrizes / etc


O QUE UM VETOR ?
R: uma estrutura de dados que funciona como uma espcie de tabela dimensional. Exemplos: Uma varivel como se fosse uma linha apenas em uma folha. S posso escrever algo nessa nica linha, no tenho outras linhas para escrever (armazenar contedo) Agora, imagine que eu tenho uma varivel folha com linhas, por exemplo, uma folha de caderno. Qual a diferena de uma folha para uma linha ? uma folha uma COLEO de LINHAS e estas linhas so TODAS do MESMO TIPO. Percebe ?

Introduo ao Java Arrays / Vetores / Matrizes / etc


Vamos pensar no String args[] um vetor de Strings e com esta definio (sem nenhum nmero indicando quantidade de ocorrncias dentro do colchetes) significa que ilimitada a quantidade de contedos que posso receber. Agora, se eu chegar e definir String args[4] O que significa ?
Signfica que estou declarando uma varivel chamada args, do tipo String e ela tambm um VETOR ( devido o [4]) que permite eu armazenar AT 4 elementos dentro dela, cada um em uma linha ou ocorrncia Exemplo: String args[4]; args[0] = Cadu args[1] = Joo args[2] = Fabio args[3] = Elisa Isso o equivalente figura ao lado:

Introduo ao Java Arrays / Vetores / Matrizes / etc


Vetores Aproveitando para explicar: todos estes nomes array vetor matriz se referem a mesma coisa: Uma estrutura de dados com uma ou mais dimenses, sendo formada por linhas e podendo ter mais de uma coluna. Exemplo: Um vetor apenas com linhas possui uma dimenso (como o que vimos em args[])
Um vetor com linhas e colunas chamado de bi-dimensional Exemplo de vetor de uma dimenso: String semana[] = {segunda, tera, quarta, quinta, sexta}; Exemplo de vetor de duas dimenses: String dpto-produto[5][10]; aqui estou definindo um vetor duas dimenses para guardar at 10 produtos por departamento, de at 5 departamentos.

Introduo ao Java
Exerccios: 1 Escreva uma classe chamada MesesAno, declare nela um vetor e atribua a ele os 12 meses do ano. Depois, use um lao (for ou while ou Do while) para percorrer todas as ocorrncias e apresent-las na tela. 2 Escreva uma classe chamada RecebePar que receba trs parmetros do tipo String via console (dos DOS ou NetBeans). Use o comando de lao for para percorrer as ocorrncias (pois o args um vetor !) e mostr-las em formato maisculo na tela com o System.out.println. Mostre tambm o tamanho de cada parmetro. 3 Escreva uma classe chamada CalculaMedia e defina nela um vetor de inteiros com 10 ocorrncias, ex: (int valor[10]); depois use um comando de lao (for ou while ou Do while) para percorrer todas as ocorrncias, somando-as e ao trmino mostre o total na tela. OBS. Vamos resolver na sala na prxima semana e valer 1.0 na nota parcial de trabalho.

Introduo ao Java
Fim Introduo aula 5

Вам также может понравиться