Buscar

POO 04 Estruturas Basicas de Programacao

Prévia do material em texto

marcelo@ifpb.edu.br 
Estruturas Básicas de 
2 
! Visão Geral de um programa Java 
! Comentários 
! Tipos de Dados 
! Variáveis 
! Atribuições e Inicializações 
! Operadores 
! Estruturas de Decisão (Simples e Composta) 
! Estruturas de Repetição (Determinada e 
Indeterminada) 
3 
! Ao final desse módulo você deverá ser 
capaz de... 
– Identificar a estrutura básica de um 
programa Java 
– Inserir comentários 
– Declarar e inicializar as variáveis 
– Realizar operações (aritméticas e lógicas) 
4 
! Um programa escrito em Java é composto 
por um conjunto de classes 
– Caso mais simples: um programa com apenas 
uma classe. 
+main( ) 
Teste 
+main( ) 
TesteAluno -nome: String 
+getNome( ) 
Aluno 
5 
! Estrutura Básica 
[public] class NomedaClasse { 
 [atributo 1] 
 ... 
 [atributo n] 
 [método 1] 
 ... 
 [método n] 
} 
6 
public class HelloWorld { 
 public static void main(String[]args) { 
 System.out.println (“Hello world!”); 
} 
} 
HelloWorld.java 
7 
! Observações 
– Todo programa Java tem pelo menos uma 
classe 
– HelloWorld é uma classe 
– Java é “case sensitive” 
• Hello ≠ hello ≠ HELLO ≠ HeLLO ≠ hELLO 
8 
! O nome da classe tem que ser o mesmo do 
arquivo que a contem 
– HelloWorld.java 
– public class HelloWorld {... 
– Após a compilação teremos um arquivo 
chamado HelloWorld.class 
– Esse arquivo é chamado de bytecode. 
! O método main é por onde se inicia a 
execução do programa 
9 
 CLASSEA.JAVA 
public static void 
main( ) 
public void exibe() 
public double soma( ) 
 CLASSEB.JAVA 
 CLASSEC.JAVA 
public double divide( ) 
1 
2 
3 
4 
5 
6 7 
10 
! Observações 
– public é um modificador de acesso: 
• diz quem deve acessar o quê 
• Pode ser atribuído a métodos e classes 
PACKAGE P1 
public class C 
PACKAGE P2 
class D class B 
X 
X 
public class A 
11 
! Observações 
– System.out.println escreve uma mensagem na 
saída padrão 
– { e } são delimitadores de bloco. Nesse caso, o 
bloco é um método 
• métodos são blocos de comandos que equivalem a 
funções em C e procedimentos ou funções em 
Pascal 
! O parâmetro args representa o conjunto de 
argumentos que podemos passar para o 
programa 
12 
%> java Soma 6 2 1 
6 2 1 
0 1 2 
args 
public class Soma{ 
 public static void main(String[]args) { 
 System.out.println(args[0]); 
 System.out.println(args[1]); 
 System.out.println(args[2]); 
} 
} 
13 
! Podemos usar três tipos em Java: 
– Estilo C 
 /* Isso aqui é um comentário!!!!!!!!!!! */ 
– Estilo C++ 
 // Isso aqui 
 // é um comentário!!!!!!!! 
– Estilo JavaDoc 
 /** Isso aqui é um comentário */ 
14 
! Há oito tipos primitivos de variáveis: 
– Seis são números 
• quatro são inteiros 
• dois são reais ou ponto-flutuante 
– Um é caracter 
– Um é lógico 
15 
! Inteiros 
– byte: 8 bits 
– short: 16 bits 
– int: 32 bits 
– long: 64 bits 
byte short 
int long 
16 
float double 
17 
18 
! Lógico (boolean) 
– É usado para testes lógicos através de 
operadores relacionais 
– Assume dois valores: 
• true (verdadeiro) 
• false (falso). 
19 
! Sintaxe: 
tipo lista_de_variáveis; 
! Exemplos: 
int x, y, z; 
float f1, f2; 
boolean teste; 
char letra, simbolo; 
20 
21 
! Algumas palavras reservadas 
– main,public, class, int, static, void, float, 
double, return, switch, case, for, long, double, 
public, private, protected, goto, abstract, 
boolean, break, byte, cast, do, else, extends, if, 
try, exception, final, package... 
22 
23 
! O efeito de declaramos uma variável é, 
simplesmente, o de alocar uma posição de 
memória para ela 
! Se quisermos utiliza-la temos que atribuir 
valores, ou seja, preenchermos aquela 
posição alocada 
– declaração ≠ inicialização 
24 
int valor; 
valor = 10; 
int valor = 10; 
Declaração e inicialização separadas 
Declaração e inicialização juntas 
25 
! O formato geral de uma atribuição é a 
seguinte: 
VARIÁVEL = EXPRESSÃO; 
VARIÁVEL = VARIÁVEL; 
VARIÁVEL = MÉTODO; 
26 
! Por exemplo: 
{ 
... 
valor = soma; 
soma = soma + 1; 
linha = entrada.readLine(...); 
 ... 
} 
27 
! Implícita 
– ocorre quando uma operação envolve 
operandos de diferentes tipos mas que são 
compatíveis. 
– Regra de conversão: 
• Byte ➔ short ➔ int ➔ long 
•  float ➔ double 
28 
! Implícita 
– Por exemplo, misturar valores inteiros e de 
ponto flutuante: 
 int media, num; 
 float valor1, valor2 ; 
 double soma, total; 
 valor1 = media + valor2; 
 soma = valor1 + valor2; 
29 
byte short 
int long 
float double 
30 
! Explícita 
– Pode-se converter diretamente de um tipo para 
outro, desde que haja compatibilidade. 
– Por exemplo, tipos numéricos 
int x; 
double y; 
x = (int) y; 
– No entanto, está errado fazer... 
boolean b; 
x = (int) b; 
31 
! Acrescenta-se a palavra reservada final antes do 
tipo da declaração de uma variável seguido do 
valor: 
final double PI = 3.1417; 
! Por convenção, as constantes devem ser 
declaradas e usadas com todas as letras 
maiúsculas 
32 
! Se quisermos que a constante seja acessada 
fora de um método static ela deve ser 
declarada fora do método e sucedida da 
palavra static 
– o uso de static tem outros efeitos que serão 
discutidos mais à frente no curso. 
public class Circulo { 
 static final double PI = 3.1417; 
 public static void main(String[] args){ 
 double r = 10.0; 
 System.out.println(area(r)); 
 } 
 static double area(double raio){ 
 return PI*raio*raio; 
 } 
} 
33 
34 
35 
if (exp) 
 comando; 
if (exp){ 
 comando1; 
 ... 
 comandon; 
} 
! Seleção Simples 
if (exp) 
 comando1 
else 
 comando2; 
if (exp){ 
 bloco1; 
} 
else { 
 bloco2; 
} 
if (exp){ 
 bloco1 
} 
else if (exp){ 
 bloco2; 
else{ 
 bloco2; 
} 
36 
! Seleção Composta 
– A seleção simples se torna desvantajosa se 
tivermos muitas alternativas: 
switch(expressão){ 
 case opção1 : ... 
 break; 
 case opção2 : ... 
 break; 
 ... 
 case opção4 : ... 
 break; 
 [default: ...] 
} 
37 
! Determinadas 
– Geralmente é usado quando sabemos a priori 
quantas vezes o bloco de comandos será 
executado 
• COMANDO FOR 
– Exemplo: Vamos imprimir a mensagem “Eu 
vou aprender Java!” 1000 vezes. 
for (int i=0; i < 1000; i++) 
 System.out.println(“Eu vou Aprender Java!”); 
38 
! Indeterminadas 
– Executa enquanto uma determinada condição 
permanecer verdadeira e essa permanência é 
desconhecida. 
• Comando WHILE e DO-WHILE 
while (letra <> ‘a’) || (letra <> ‘A’) { 
 System.out.println(“Opção errada! Digite novamente”); 
 ... 
} 
! É realizada por meio do pacote java.io e 
envolve a montagem de fluxos de entrada 
! Utiliza diversas classes diferentes 
encapsuladas umas às outras 
! Por enquanto iremos simplificar… 
39 
Classe 1 Classe 2 Classe 3 
! Possui métodos simplificados para fazer 
entrada de dados. 
! Está contida no pacote java.util 
 import java.util.Scanner; 
40 
! Quando for criar o objeto que irá ler os 
dados, deve-se direcionar para o teclado: 
 Scanner key = new Scanner(System.in); 
41 
! Alguns métodos 
– nextInt 
– nextDouble 
– nextFloat 
– next 
– nextLine 
42 
43

Continue navegando