Escolar Documentos
Profissional Documentos
Cultura Documentos
Java SE - Aula 15 e 16
Java SE - Aula 15 e 16
Java SE
© Prof. Luciano
prof.luciano.rj
1
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Este material didático foi elaborado com o princípio de que o aluno já tenha alguma noção de
lógica de programação em qualquer linguagem. A propriedade intelectual deste material é do
Professor Paulo Luciano, e-mail de contato: lucianosyq@yahoo.com.br
Sumário
Revisão.................................................................................................................................................3
Aula 15 e 16........................................................................................................................................12
Operador Ternário..........................................................................................................................12
Regras de nomenclatura em Java...................................................................................................15
Métodos em Java...........................................................................................................................17
Método sem retorno.......................................................................................................................18
Métodos com retorno.....................................................................................................................19
Dever de Casa.....................................................................................................................................35
2
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Revisão
Tipos Primitivos
Operadores de atribuição
= (“recebe”)
Operadores Aritméticos
+ Soma e Concatenação
- Subtração
* Multiplicação
/ Divisão
% Módulo( resto da divisão)
Operadores Relacionais
3
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Operadores Lógico
&& E
|| OU
! Negação
^ XOU (ou exclusivo)
& E binário
| Ou Binário
Obs: Os operadores lógicos servem para unir mais de uma condição e obter um único
resultado boleano.
Comando de Entrada
Estrutura de Decisão
Comando IF
if (condição) {
// corpo do comando if
4
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Estrutura de Decisão
Comando IF/ELSE
if (condição) {
} else {
}
else {
if (condição){
}
else{
}
}
if (condição)
1 comando sem o uso de chaves
else if (condição)
1 comando sem o uso de chaves
else
1 comando sem o uso de chaves
5
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Comando switch()
switch( opção )
{
case opção1:
// comandos caso a opção 1 tenha sido escolhida
case opção2:
// comandos caso a opção 2 tenha sido escolhida
case opção3:
//comandos caso a opção 3 tenha sido escolhida
default:
//comandos do default
}
switch( opção )
{
case opção1:
// comandos caso a opção 1 tenha sido escolhida
break;
case opção2:
// comandos caso a opção 2 tenha sido escolhida
break;
case opção3:
//comandos caso a opção 3 tenha sido escolhida
break;
default:
//comandos do default
}
6
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
7
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Operador Composto
+= a+=2 a=a+2
-= b-=3 b=b-3
*= c*=4 c=c*4
/= d/=5 d=d/5
%= e%=3 e=e%3
Estrutura de repetição
Comando while
while( condicao ) {
// bloco de instruções
}
Comando do/while
No comando do-while, o comando while sempre é executado pelo menos 1 vez. A condição fica no
final da instrução.
do {
// bloco de instruções
} while( condicao );
Comando for
for( inicialização de variável ; condição ; incrementação ) {
// bloco de instruções
}
8
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Comando break
Break significa quebrar, parar, frear, interromper.
Quando o Java encontra esse comando pela frente, ele interrompe o laço/estrutura de controle
ATUAL, como o while, for, do/while e o switch
Comando Continue
O comando continue é usado somente em laços de repetição. Quando ele é executado, o laço volta
imediatamente para o teste de condição do laço de repetição. Normalmente, usamos o comando
continue em um teste.
Vetores
int v[]; // declaração e variárel do tipo vetor
v=new int[10]; // instanciando espaço na mémoria para usar o vetor
ou
int v[]= new int[10]; // forma completa de declarar e instanciar um vetor/ array
v[i], corresponde ao i-ésimo elemento do veto a, sendo que o valor da variável i deve
pertencer ao intervalo dos índices do vetor: ((i >= 0) && (i < a.length)).
Manipulação de String
Método charAt()
Extrai um caracter de uma String.
Método length()
Retorna o tamanho de uma String em inteiro
Método compareTo()
Esse método retorna um número inteiro. Retornar 0 se as Strings forem iguais, um número negativo
se a String que invoca o compareTo for menor que a String que é passada como um argumento e um
número positivo se a String que invoca o compareTo for maior que a String que é passada como
argumento.
9
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Método equals()
É um método da classe Object sobrescrito na classe String, que serve para comparar dois objetos.
Este método retorno um valor boleano. True se o conteúdo dos objetos forem iguais e False se
forem diferentes.
Método equalsIgnoreCase()
Esse método ignora a distinção entre letras maiúsculas e minúsculas entre as duas Strings
comparadas.
Método replace()
Retorna um novo objeto contendo a String original com um trecho especificado substituído por
outra expressão indicada. Esse método deixa a String original inalterada. O método replace é o que
chamamos no Word da função substituir. Onde podemos substituir uma letra ou um conjunto de
letras.
Método trim()
Gera um novo objeto string, removendo todos os caracteres de espaço em branco que aparecem no
início ou no fim da string em que o método opera. O método retorna um novo objeto string
contendo a string sem espaço em branco inicial ou final. A string original permanece inalterada.
Método isEmpty()
Um método muito utilizado e comum que verifica se uma String está ou não vazia, mas tenha
atenção neste método, pois a verificação baseia-se se sua String possui tamanho = 0, ou seja, o
String.length() = 0. Isso significa que caso você tente utilizar o isEmpty() em uma String que possui
valor NULL você receberá um erro de exceção: NullPointerException.
Contains()
É similar a função localizer no Word, ele verifica se uma letra ou palavra esta contida na String, ou
seja, ele verifica se a String contem alguma informação que estamos procurando.
O método contains() retorna um valor boleano, True se a String contem a informação procurada, e
False se a String não contem.
IndexOf()
Esse método é simples, ele é parecido com a função localizar no Word.
A grande diferença é que o método indexOf() localiza a primeira ocorrência daquilo que estamos
procurando e retorna o índice dele na String. Caso ele não encontre o valor, por default retorna -1.
Em resumo o método IndexOf retorna um inteiro. Caso ele encontre, retornará um valor >=0, caso
ele não encontre retorna -1.
10
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
lastIndexOf()
Já o método lastIndexOf(), é similar ao comando IndexOf(), a única diferença é que o lastIndexOf()
localiza a ultima ocorrência daquilo que estamos procurando na String.
Método substring() Permite extrair substrings de strings. Fornece 2 métodos substring para
permitir que um novo objeto seja criado copiando parte de um objeto String existente. Cada método
retorna um novo objeto desse tipo. Neste método existem duas versões que são:
1ª versão – aceita um argumento inteiro, esse número especifica o índice inicial na String
especificada, a partir da qual os caracteres devem ser copiados. A substring retornada contém
uma cópia dos caracteres desde o índice inicial até o final da Sting.
2ª versão – aceita dois argumentos do tipo inteiro – o índice inicial a partir do qual copia os
caracteres da String original e o índice um a mais além do último caractere que será copiado
(copiar até, mas não incluindo, esse índice na String). A substring retornada contém uma cópia
dos caracteres especificados da String original.
substring(posição_inicial)
substring(posição_inicial, Posição_ Final +1)
Método toCharArray()
Converte uma String em um vetor(array) de Char.
Obs: é um modo mais prático para fazer o Exemplo 1.
Método Split()
Corta, divide uma String em pedaços, conforme o valor determinado no comando Split.
Ele é ideal para quebrar string e armazenar em vetor.
11
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Aula 15 e 16
Operador Ternário
if (a > 0){
b = 1;
}else{
b = 2;
}
Com o operador ternário ficaria:
b = (a > 0) ? 1 : 2;
A sintaxe é:
(Condição) ? retorna o Valor se a condição for True : retorna Valor se for False
Exemplo 01
package aula_15_16;
import java.util.Scanner;
// ou
System.out.println((n1 > 0) ? "sim" : "não");
ler.close();
}
12
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Exemplo 2
String retorno;
int numero = 20;
package aula_15_16;
import java.util.Scanner;
13
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Exemplo 3
Para somar digite “s”, para somar.
package aula_15_16;
import java.util.Scanner;
14
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Nomes de Classes
PrimeiraClasse
MinhaClasse
OlaMundo
Nomes de Pacotes
Exemplos:
modelo
controle
conexão.banco.dados
br.com.empresa
15
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Nomes de Variáveis
As regras básicas.
Exemplos:
_x
$a
b1
c
calculadoraCientifica
Nomes de Métodos
Exemplos:
imprimir()
imprimirTela()
calcularMedia()
Nomes de Constantes
Exemplos:
TAMANHO
PARAR_DE_EXECUTAR
PI
TESTE_JOGO
16
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Métodos em Java
17
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Exemplo 04
package Aula_15_16;
import java.util.Scanner;
menu();
int op = ler.nextInt();
18
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Exemplo 5
package Aula_15_16;
import java.util.Scanner;
}
}
19
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Exemplo 6
Faça a soma de 2 números usando método (com retorno)
Neste caso, iremos fazer um método receber 2 números inteiros e retornará a somatória dos dois
valores que também será um número inteiro.
package Aula_15_16;
import java.util.Scanner;
return a+b;
}
20
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
void saudacao() {
System.out.println("Bom dia a todos");
// metodo void, com passagem de um argumento do tipo String, que se chamará nome
//return n1+n2+n3;
}
21
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
return nome.charAt(0);
}
// obs:
// cada argumento deve ser declarado individualmente
// quando tivermos mais de um argumento. declare todos separando por virgula, dentro do ( )
22
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Exemplo 7
Exemplo de métodos com retorno
package aula_15_16;
public class Ex_07 {
String[] lista = {"ola", "tudo bem!", "como vai", "como tem passado?", 10", "88", "c", "60,45"};
imprimirVetor(lista);
}
}
}
23
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Exemplo 8
Menu
Escolha uma opção
Digite 1 para somar
Digite 2 para subtrair
Digite 3 para dividir
Digite 4 para multiplicar
Digite 5 para sair
package Aula_15_16;
import java.util.Scanner;
public class Ex_08 {
int op;
Scanner ler = new Scanner(System.in);
do{
System.out.println("Escolha uma opção.");
System.out.println("Digite 1 - para somar.");
System.out.println("Digite 2 - para subtrair.");
System.out.println("Digite 3 - para dividir.");
System.out.println("Digite 4 - para multiplicar.");
System.out.println("Digite 5 - para sair.");
op = ler.nextInt();
}while(!(op>=1 && op<=5));
System.out.println("Digite o 1º Número:");
int n1 = ler.nextInt();
System.out.println("Digite o 2º Número:");
int n2 = ler.nextInt();
switch(op){
case 1:
System.out.println("O total da soma é: " + somar(n1,n2));
24
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
break;
case 2:
System.out.println("O total da subtração é: " + subtrair(n1,n2));
break;
case 3:
System.out.println("O total da divisão é: " + dividir(n1,n2));
break;
case 4:
System.out.println("O total da subtração é: " + multiplicar(n1,n2));
break;
case 5:
break;
default:
System.out.println("Você escolheu uma opção inválida");
ler.close();
}
Obs: Observem que no exemplo acima, quando escolhemos a opção 5(sair), ele pede 2 números pa-
ra depois dizer sair. O ideal seria que cada interação com o usuário, estivesse dentro do seu respecti-
vo “case”.
25
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Exemplo 9
Menu
Escolha uma opção
Digite 1 para somar
Digite 2 para subtrair
Digite 3 para dividir
Digite 4 para multiplicar
Digite 5 para sair
package Aula_15_16;
import java.util.Scanner;
do{
System.out.println("Escolha um opção abaixo.");
System.out.println("Digite 1 - para somar.");
System.out.println("Digite 2 - para subtrair.");
System.out.println("Digite 3 - para dividir.");
System.out.println("Digite 4 - para multiplicar.");
System.out.println("Digite 5 - para sair.");
op = ler.nextInt();
}while(!(op>=1 && op<=5));
switch(op){
case 1:
somar();
break;
case 2:
26
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
subtrair();
break;
case 3:
dividir();
break;
case 4:
multiplicar();
break;
case 5:
System.out.println("Saindo do programa.");
break;
default:
System.out.println("Você escolheu uma opção inválida");
}
System.out.println("Fim do programa.");
ler.close();
} // fim da classe
}
// declaração de métodos sem retorno
public static void subtrair(){
Scanner ler = new Scanner(System.in);
System.out.println("Digite o 1º Número:");
int n1 = ler.nextInt();
System.out.println("Digite o 2º Número:");
int n2 = ler.nextInt();
System.out.println("O total da subtração é: "+(n1-n2));
}
// declaração de métodos sem retorno
public static void dividir(){
Scanner ler = new Scanner(System.in);
System.out.println("Digite o 1º Número:");
int n1 = ler.nextInt();
System.out.println("Digite o 2º Número:");
27
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
int n2 = ler.nextInt();
System.out.println("O total da divisão é: "+(n1/n2));
}
// declaração de métodos sem retorno
public static void multiplicar(){
Scanner ler = new Scanner(System.in);
System.out.println("Digite o 1º Número:");
int n1 = ler.nextInt();
System.out.println("Digite o 2º Número:");
int n2 = ler.nextInt();
System.out.println("O total da multiplicação é: "+(n1*n2));
28
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Exemplo 10
package Aula_15_16;
import java.util.Scanner;
public class Ex_10 {
public static Scanner ler;
switch(op){
case 1:
somar();
break;
case 2:
subtrair();
break;
case 3:
dividir();
break;
case 4:
multiplicar();
break;
case 5:
System.out.println("Saindo do programa.");
break;
default:
System.out.println("Você escolheu uma opção inválida");
29
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
}
System.out.println("Fim do programa.");
ler.close();
} // fim da classe
30
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Exemplo 10
Obs : No exemplo abaixo, foram feitos métodos sem retorno com passagem de argumento. Cada
método realiza 2 tarefas: calcular a operação e exibir a informação para o usuário.
package Aula_15_16;
import java.util.Scanner;
do{
System.out.println("Escolha um opção abaixo.");
System.out.println("Digite 1 - para somar.");
System.out.println("Digite 2 - para subtrair.");
System.out.println("Digite 3 - para dividir.");
System.out.println("Digite 4 - para multiplicar.");
System.out.println("Digite 5 - para sair.");
op = ler.nextInt();
}while(!(op>=1 && op<=5));
switch(op){
case 1:{
System.out.println("Digite o 1º Número:");
int n1 = ler.nextInt();
System.out.println("Digite o 2º Número:");
int n2 = ler.nextInt();
somar(n1, n2);
break;
}
case 2:{
System.out.println("Digite o 1º Número:");
int n1 = ler.nextInt();
System.out.println("Digite o 2º Número:");
int n2 = ler.nextInt();
subtrair(n1, n2);
break;
}
case 3:{
System.out.println("Digite o 1º Número:");
int n1 = ler.nextInt();
31
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
System.out.println("Digite o 2º Número:");
int n2 = ler.nextInt();
dividir(n1, n2);
break;
}
case 4:{
System.out.println("Digite o 1º Número:");
int n1 = ler.nextInt();
System.out.println("Digite o 2º Número:");
int n2 = ler.nextInt();
multiplicar(n1, n2);
break;
}
case 5:
System.out.println("Saindo do programa.");
break;
default:
System.out.println("Você escolheu uma opção inválida");
}
System.out.println("Fim do programa.");
ler.close();
} // fim do void main
32
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Exemplo 11
Obs : No exemplo abaixo, foram feitos métodos com retorno e com passagem de argumento. Cada
método realiza somente 1 tarefa: calcular a operação e retorna o resultado para quem o chama.
package Aula_15_16;
import java.util.Scanner;
do{
System.out.println("Escolha um opção abaixo.");
System.out.println("Digite 1 - para somar.");
System.out.println("Digite 2 - para subtrair.");
System.out.println("Digite 3 - para dividir.");
System.out.println("Digite 4 - para multiplicar.");
System.out.println("Digite 5 - para sair.");
op = ler.nextInt();
}while(!(op>=1 && op<=5));
switch(op){
case 1:{
System.out.println("Digite o 1º Número:");
int n1 = ler.nextInt();
System.out.println("Digite o 2º Número:");
int n2 = ler.nextInt();
System.out.println("O total da soma é: " + somar(n1, n2));
break;
}
case 2:{
System.out.println("Digite o 1º Número:");
int n1 = ler.nextInt();
System.out.println("Digite o 2º Número:");
int n2 = ler.nextInt();
System.out.println("O total da soma é: "+ subtrair(n1, n2));
break;
}
case 3:{
System.out.println("Digite o 1º Número:");
int n1 = ler.nextInt();
33
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
System.out.println("Digite o 2º Número:");
int n2 = ler.nextInt();
System.out.println("O total da divisão é: "+ dividir(n1, n2));
break;
}
case 4:{
System.out.println("Digite o 1º Número:");
int n1 = ler.nextInt();
System.out.println("Digite o 2º Número:");
int n2 = ler.nextInt();
System.out.println("O total da multiplicação é: "+ multiplicar(n1, n2));
break;
}
case 5:
System.out.println("Saindo do programa.");
break;
default:
System.out.println("Você escolheu uma opção inválida");
}
System.out.println("Fim do programa.");
ler.close();
} // fim do void main
34
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
Dever de Casa
Exercícios
Refaça alguns exercícios anteriores, usando métodos para realizar as tarefas.
Faça usando métodos void e com retorno. Com ou sem passagem de argumentos.
1. Faça um programa em Java para ler um número inteiro. O método deverá dizer se o número
é par ou ímpar.
2. Faça um programa em Java para ler um número inteiro. O método deverá dizer se o número
é negativo positivo ou nulo.
3. Faça um programa em Java para ler o ano. O método deverá dizer se ele é bissexto.
4. Faça um programa em Java, onde o usuário deverá digitar seu nome completo. O método
deverá informar seu primeiro nome, sobrenome e nome do meio, caso haja.
5. Faça um programa em Java, onde o usuário deverá digitar uma frase. O método deverá
contar quantas vogais, consoantes, números e pontuação existem. Além disso deverá
informar quantas palavras têm na frase.
6. Faça um programa em Java para armazenar o nome e o e-mail do usuário. O usuário deverá
digitar o nome e o e-mail. Valide o e-mail digitado. O método deverá verificar se no e-mail,
contém caracteres inválidos como: ç, ~, ã, õ, -, /, |, \, #, $, %, ¨, &, espaço_vazio, *, (, ), +,
=, e se contem . e @.
7. Faça um programa em Java onde o usuário deverá digitar alguma informação como String.
Faça um método para verificar se a informação digitada é uma palavra, número inteiro ou
número real. Considere sendo uma palavra qualquer conjunto de caracteres que contenha
somente vogais e consoantes em qualquer ordem.
8. Faça um programa em Java, onde o usuário deverá digitar o nome completo. Faça um
método que deverá colocar cada primeira letra de cada nome em maiúsculo. Exceto as
conjunções, como as palavras “de”, “da”, “dos” e etc que ligam 2 nomes. Exiba na tela o
nome editado.
35
STEP Computer Academy
Prof: Luciano Módulo: Java SE Aula 15 e 16
10. Faça um programa em Java para desenhar um triângulo retângulo de #. O usuário deverá
informar a altura do triângulo. A Base do triângulo varia conforme a altura. Ex: 4 de altura, a
base deverá ter 4 #. Faça um método para desenhar o triângulo.
11. Faça um programa para fazer a média aritmética das notas do ano. Leia 4 notas do tipo
double. Exiba na tela a média aritmética e se o aluno está aprovado ou reprovado. A média
aritmética é a soma das 4 notas, dividido por 4 e a nota de aprovação da média é 5.0.
Refaça alguns exercícios das aulas anteriores. Usar o operador ternário, no lugar do
IF. Use métodos para realizar as tarefas desejadas.
12. Faça um programa para ler 2 números inteiros e diga qual é o menor número.
13. Faça um programa para ler 2 números double e diga qual é o maior número.
14. Faça um programa para ler 2 palavras. Diga se elas são iguais ou são diferentes.
15. Faça um programa para ler um número inteiro. Faça um método para dizer se o número
digitado é par ou ímpar.
36