Buscar

Prévia do material em texto

Programação I
Classe Scanner – Usando o método printf - Comando para utilizar a classe Scanner
Ex. import.java.util.Scanner ;
Métodos para fazer a entrada de dados na classe Scanner:
nextInt = ler dados do tipo int;
nextDouble = ler dados do tipo double;
nextLong = ler dados do tipo long;
nextLine = ler dados do tipo String;
Exemplo Completo:
Import java.util.Scanner;
 public class Leitura {
 public static void main(String [] args) {
 int idade;
 Scanner teclado = new Scanner(System.in);
System.out.println("Qual a sua idade ? ");
 idade = teclado.nextInt();
System.out.println("Idade = " + idade);
 } // fim do metodo main
 } // fim da classe
Método Printf – trabalha especificando o formato de impressão 
Usa-se %f para ponto flutuante, %s para string, %d para inteiros;
Ex. Mostra o valor da variável média, previamente definida, com duas casas decimais.
System.out.printf(“Média = %2f”, media);
Comando Switch:
É um comando de seleção semelhante ao if-else. Entretanto, ele é mais recomendado quando temos muitos caminhos possíveis a partir de uma única condição, em testes de igualdade. A expressão do switch tem que ser, obrigatoriamente, do tipo caracter ou inteiro.
ParseDouble = Transformação do Double em String, Transforma número em palavras.
Math.pow = Cálculo com potência. Ex. v = 4 * pi * Math.pow(r, 3)/3;
Math.sqrt = Cálculo de raiz quadrada.
JOptionPane = biblioteca que recebe e exibe dados em tela .
Get = exibir dados
Método get
Quando formos acessar, “pegar” alguns atributos da classe, devemos utilizar os métodos GET. Esse método sempre retornará um valor, seja ele String, int ,double etc. Então devemos criar uma função. Vejamos:
Set = pegar dados.
Método set
Para alterarmos, modificarmos os valores de um atributo da classe de maneira protegida, utilizamos os métodos SET. Esse método não terá um retorno, pois o atributo será somente modificado, criando um método de tipo VOID, sem retorno. Porém ele deve receber algum argumento para que possa ocorrer a devida alteração. Vejamos na Figura 2:
void = não tem retorno de valor algum
if = else se / então, condição.
JOptionPane.showInputDialog = Entrada de dados 
JOpitionPane.showMessageDialog = Exibição de mensagem 
Return: Retornando informações úteis em Java
Retornar no sentido de resultado. Por exemplo, uma soma.
O método pode ser simplesmente um trecho de código que calcula a soma de dois números e retorna esse resultado.
String.format = Sempre usado antes da declaração, (formatação de ponto flutuante).
Boolean = O boolean é fácil, ele só pode armazenar dois valores: true ou false. Java só aceita estes dois valores. Outras linguagens aceitam 0 ou 1, V ou F, mas Java não;
This = this referência o objeto que está sendo construído ou está usando o método. Assim, no construtor queremos diferenciar o atributo do parâmetro e ambos possuem o mesmo nome, usamos this. Regra: this.atributo = parâmetro_de_mesmo_nome_que_atributo
Estrutura de repetição: for, while e do ... while. Uso de break e continue em loops;
Existem vários métodos na classe Scanner para fazer a entrada de dados:
·         nextInt() : ler dados do tipo int;
·         nextDouble() : ler dados do tipo double;
·         nextLong() : ler dados do tipo long;
·         nextLine() : ler dados do tipo string;
Exemplo:
import java.util.Scanner;
public class Leitura {
public static void main(String [] args) {
int idade;
Scanner teclado = new Scanner(System.in);
System.out.println("Qual a sua idade ? ");
idade = teclado.nextInt();
System.out.println("Idade = " + idade);
} // fim do metodo main
} // fim da classe
 
         Usa-se %f para ponto flutuante, %s para string, %d para inteiros; Comando Switch tem que ser, obrigatoriamente, do tipo caractere ou inteiro e muito parecida com If e else.
 Classe Scanner:
É usada para realizar a entrada de dados;
Pertence ao pacote java.util;
Por não estar definido em uma biblioteca padrão,
para usar a classe Scanner, precisamos informar onde essa classe se encontra, isso é feito através do comando:
import java.util.Scanner;
new é utilizado para criar uma nova instância de uma determinada classe (no seu caso, a DataInputStream).
Imagine que a planta de uma casa é a classe e uma casa construída a partir dessa planta seria a instância dessa classe - um novo objeto. Você pode construir diversas casas a partir dessa mesma planta, ou seja, você pode criar diversos objetos que são instâncias da mesma class.
O new faz com que a máquina virtual aloque memória para armazenar um novo objeto. Você pode acessar métodos definidos na classe DataInputStream a partir dessa nova instância.
System.in é o input stream do sistema. No seu caso, você está utilizando esse input stream para efetuar a leitura de uma linha.
Comando switch
É um comando de seleção semelhante ao if-else.
Entretanto, ele é mais recomendado quando temos muitos caminhos possíveis a partir de uma única condição, em testes de igualdade.
 while:Avalia uma expressão lógica e executa um bloco de comando enquanto ela for verdadeira. O bloco é executado ZERO (teste no início) ou mais vezes.
do .. while:
Avalia uma expressão lógica e executa um bloco de comando enquanto ela for verdadeira. O bloco é executado UMA (teste no final) ou mais vezes.
 
for:
Executa um bloco de comandos enquanto uma expressão booleana for verdadeira.
Execução do FOR se dá da seguinte forma:
1. Executa a expressão de inicialização;
2. Testa a expressão lógica. Se for FALSA termina o for;
3. Executa o bloco de comandos;
4. Executa a expressão de incremento;
5. Volta para o passo 2.
Break:
O comando break força a saída do loop mais interno de um comando de repetição (while, do..while ou for).
Continue:
O comando continue força o início da próxima interação do loop mais interno de um comando de repetição (while, do..while ou for).
Comando While 
Avalia uma expressão lógica e executa um bloco de comando enquanto ela for verdadeira. O bloco é executado ZERO (teste no início) ou mais vezes.
do .. while:
Avalia uma expressão lógica e executa um bloco de comando enquanto ela for verdadeira. O bloco é executado UMA (teste no final) ou mais vezes.
for:
Executa um bloco de comandos enquanto uma expressão booleana for verdadeira.
break:
O comando break força a saída do loop mais interno de um comando de repetição (while, do..while ou for)
continue:
O comando continue força o início da próxima interação do loop mais interno de um comando de repetição (while, do..while ou for).
Objeto:
Um objeto é a representação computacional de um elemento ou processo do mundo real.
Ex.: Cadeira, Mesa, Aula, Venda, Cliente, Carro, etc.
Os objetos possuem características e comportamentos. Cada característica ou propriedade é chamada de atributo do objeto.
Ex.: nome, data_nascimento, limpar, mover, data_venda, acelerar, freiar.
Classificação:
Objetos com as mesmas características (atributos e métodos) são agrupados em uma classe.
Abstração:
Abstração procura focar as características essenciais de um objeto, de acordo com a perspectiva do observador.
Ex.: objeto aluno
Encapsulamento:
Uma classe encapsula atributos e métodos, ocultando os detalhes de implementação dos objetos. Os atributos não podem ser manipulados diretamente. Os atributos podem ser alterados ou consultados somente através dos métodos do objeto. Assim devemos declarar nosso atributos sempre como private.
Classes:
As classes são os elementos básicos para construção de programas OO. Assim, para construir um programa OO devemos, inicialmente identificar as classes que fazem parte do problema que estamos tentando resolver.
public: pode ser livremente instanciada por qualquer outra classe;
private: só é visível no arquivo onde foi criada.
package: só pode ser instanciada por classes do mesmo pacote. É a visibilidade default.
Visibilidade: public, private, package ou protected
public: pode serlivremente lido ou alterado de qualquer classe.
private: só pode ser lido ou alterado por métodos da própria classe, ou seja, esse atributo não é visível fora da classe.
Para a criação de objetos usamos o operador new. Teremos a partir daí, um objeto ou instância da classe.
Método construtor
Assim, podemos dizer que construtores são métodos especiais usados para criar uma instância de uma classe (objeto).
Classe Math do Java
A classe Math, nos proporciona uma série de operações e constantes matemáticas que são facilmente acessadas estaticamente, ou seja, não precisamos instanciar um objeto para podermos usar seus métodos.
Ex.:
public class ComprimentoCirculo {
public static void main(String[] args) {
float raio = 2.4f;
double comprimento = 2 * raio * Math.PI;
System.out.println(comprimento);
}
}
Classe Math do Java - Métodos estáticos
O Java através da Classe Math, nos oferece uma série de métodos prontos, que realizam operações matemáticas, como, por exemplo os métodos pow e sort.
Classe Math do Java: Métodos estáticos
pow (base, expoente): calcula a potência da base elevada ao expoente.
sqrt (número): calcula a raiz quadrada de um número.
Ex.: 
Sobrecarga ou Overload
- De construtores: construtores na mesma classe e que se diferenciam pela passagem de parâmetros.
- De métodos: dois métodos na mesma classe, com mesmo nome e que se diferenciam pela lista de parâmetros. O Java não confunde os dois métodos porque eles têm assinaturas diferentes.
POO
Programação Orientada a Objetos. Este tipo de programação trata os elementos da linguagem de maneira semelhante aos objetos reais.
Packages
É semelhante ao conceito de biblioteca de funções, sendo que um package (pacote) é um conjunto de classes, que ficam num diretório com o mesmo nome do pacote. O package default é o java.lang.*; que é adicionado a todo arquivo java mesmo que o programador não o referencie. O .* diz ao java para incluir todas as classes do pacote.
Classes
É um conjunto de objetos com características comuns. Uma classe é como um modelo para a criação de objetos, que tem as mesmas características da classe à qual pertence.
Objetos
É um elemento de uma classe. Temos uma classe "gatos" que é formada pelos objetos "gato". Todos os objetos tem em comum o fato de serem gatos (mesma espécie), mas podem ter características diferentes entre si. Objetos tem variáveis e métodos como também classes.
Instância
Uma instância de uma classe é um novo objeto criado dessa classe, com o operador new. Instanciar uma classe é criar um novo objeto do mesmo tipo dessa classe. Uma classe somente poderá ser utilizada após ser instanciada.
Métodos
Os métodos representam os estados e ações dos objetos e classes.
Variáveis
As variáveis e constantes representam as características dos objetos.
Packages
Classes - Objetos - Métodos e variáveis.
Interface
É a declaração de um conjunto de constantes e métodos sem qualquer implementação, usando a palavra implements. É o conjunto de requisições que um objeto pode atender.
Superclasse
Todas as classes são criadas tendo outra como base. A classe que gerou a outra é chamada de superclasse. E fazemos referência à supercasse de uma classe usando a palavra extends. A classe gerada é chamada de subclasse. Toda classe tem uma subclasse. Quando não declaramos explicitamente a superclasse a super default é a object.
Construtores
São usados para inicializar objetos. É o método que tem o mesmo nome da sua classe. Não pode ter um tipo de retorno e é chamado pelo operador new.
Encapsulamento
É o empacotamento (encapsulamento) de variáveis e métodos, ocultando a implementação do usuário. Representa reutilização, segurança e facilidade de manutenção.
Sobrecarga ou Overload
- Assinatura diferente significa que os métodos têm:
- Quantidade de parâmetro diferente;
- Tipos dos parâmetros diferentes; ou.
- Ordem dos parâmetros diferentes.
this
this referencia o objeto que está sendo construído ou está usando o método. Assim, no construtor queremos diferenciar o atributo do parâmetro e ambos possuem o mesmo nome, usamos this.
Regra: this.atributo = parâmetro_de_mesmo_nome_que_atributo
Construa um programa que calcule:
- A distância entre os centros de dois círculos (um com valores fixos e outro com valores do usuário)
- A área do círculo
- O perímetro do círculo
	
Exemplos de JOptionPane
package trabalho.raiol;
public class Quadrado { // classe pública.
 double lado;
 public void setlado (double valorLado /* designação para o elemento */) { // método público que não retorna valor a quem solicitou, chamado setlado. // void: não tem retorno de valor algum, por isso set é void, pois não retorna valor.
 this.lado = valorLado; // usado como atributo, eu vou atribuir o que for digitado no valorLado dentro de lado.
 }
 public double getlado() { // método público do tipo double chamado getlado. // get é para buscar, então precisa ser definido um valor, por isso o double.
 return lado;
 }
 public double CalcularQuadrado() { // método do tipo double chamado CalcularQuadrado. // método é definido por ().
 double quadrado = Math.pow(lado, 2);
 return quadrado;
 }
} 
package trabalho.raiol;
import javax.swing.JOptionPane;
public class TrabalhoRaiol {
 public static void main(String [] args) {
 int numero;
 
 numero = Integer.parseInt(JOptionPane.showInputDialog("Entre com um Número: "));
 if (numero == 1) {
 Quadrado q = new Quadrado(); // new é uma instanciação para poder mandar pra memória e assim chamar o método em qualquer lugar.
 double lado;
 lado = Double.parseDouble(JOptionPane.showInputDialog("Digite o valor do Lado do Quadrado: "));
 q.setlado(lado);
 JOptionPane.showMessageDialog(null, "O valor do Quadrado é: " + q.CalcularQuadrado());
 }

Mais conteúdos dessa disciplina