Académique Documents
Professionnel Documents
Culture Documents
Algoritmia e Programao
Linguagem JAVA
Bsico
1/28
Linguagem Java
Sumrio
Operadores Tipos Atribuio Aritmticos Relacionais Lgicos Outros Precedncias Instrues Entrada Sada Atribuio Deciso Repetio Converses entre Tipos Numricos
Estrutura de um Programa Geral Bsica Estruturas de Dados Variveis Constantes Tipos de Dados Primitivos Referncias Interfaces do Utilizador Consola Grfica
2/28
Linguagem Java
Classe 2
Programa
Mtodo m
Linguagem Java
Mtodo m Programa
Mtodo 1 Classe i Mtodo 2 Classe Principal (Main Class)
Mtodo main
Linguagem Java
// Classe principal
// cabealho do mtodo main ; imutvel
Linguagem Java
1/3
Classificadas como:
Variveis
Constantes
6/28
Linguagem Java
2/3
Declarao de Variveis
Exemplos
int x; int z=5; int x=5, y, z=1; Localizao // tipo int guarda inteiros; por omisso, variveis numricas inicializadas a 0 // varivel declarada e inicializada; = o operador de atribuio // mltiplas variveis, do mesmo tipo, declaradas na mesma linha
7/28
Linguagem Java
3/3
Declarao de Constantes
Exemplos
final int X=8; final int X=9, FACTOR=20; Localizao Em qualquer parte do corpo do mtodo
package nome; import nomeCompletoClasse; public class NomePrograma { public static void main(String[] args){ final int X=8; ... final int FACTOR = 20; ... } }
// por conveno, nomes em maisculas // mltiplas constantes, do mesmo tipo, declaradas na mesma linha
8/28
Linguagem Java
1/3
Conjunto de dados
Conjunto de operaes possveis sobre esses dados Tipos de Dados so classificados como: Primitivos // dados so valores simples // Ex: valores inteiros e valores reais Referncias (ou No-Primitivos) // dados so referncias de memria de objectos // referncia = endereo // definidos por classes // Ex: classe String - guarda texto
9/28
Linguagem Java
2/3
Categorias Inteiros:
Reais:
Outros:
Exemplos char c = 'R', opcao= 'a'; boolean flag = false; double nota = 18.5; // caracteres so delimitados por pelicas // valores lgicos: false e true // separador decimal o . (ponto)
x
RAM ...
5
...
Contedo de uma varivel de tipo primitivo
10/28
Linguagem Java
3/3
String
Scanner
Formatter
Varivel de Tipo Referncia Exemplos String cidade; String nome = "Nico"; String ave = "guia"; Guarda uma referncia de objecto da classe declarada Referncia = endereo de memria Considerada objecto Exemplos: nome e ave
...
guia
...
11/28
Linguagem Java
Interfaces do Utilizador
Tipos Consola
Interface Textual
Interface Grfica
Sada
12/28
Linguagem Java
1/2
Suportada por um objecto da classe Scanner package nome; import java.util.Scanner; public class NomePrograma { public static void main(String[] args){ int n; long y; double x; String nome, nome_composto; Scanner ler = new Scanner(System.in); n = ler.nextInt(); y = ler.nextLong(); x = ler.nextDouble(); nome = ler.next(); nome_composto= ler.nextLine();
}
// declara um objecto Scanner para ler do teclado // l um int do teclado e guarda em n // l um long do teclado e guarda em y // l um double do teclado e guarda em x // l uma string do teclado e guarda em nome // l uma linha e guarda em nome_composto
Linguagem Java
2/2
Exemplos de instrues para ler um dado e guard-lo numa varivel Leitura de inteiro do tipo int: int num = ler.nextInt(); Leitura de float: float num = ler.nextFloat(); Leitura de strings: String s = ler.next(); // ex: nome simples String s = ler.nextLine(); // ex: nomes compostos
14/28
Linguagem Java
package nome;
import javax.swing.JOptionPane; public class NomePrograma { public static void main(String[] args){ // l uma string e guarda em nome String nome = JOptionPane.showInputDialog("Insira um nome:"); ... // l um int e guarda em i int i = Integer.parseInt(JOptionPane.showInputDialog("Insira um inteiro:")); // l um long e guarda em l long l = Long.parseLong(JOptionPane.showInputDialog("Insira um inteiro:")); ... // l um double e guarda em d double d = Double.parseDouble(JOptionPane.showInputDialog("Insira um real:")); // l um float e guarda em f float f = Float.parseFloat(JOptionPane.showInputDialog("Insira um real:"));
}
}
Nelson Freire (ISEPDEI-APROG 2011/12) 15/28
Linguagem Java
Sada - Consola
Suportada pelos mtodos print, println e printf do objecto System.out System a classe que representa o sistema de computao out objecto da classe System que representa o dispositivo standard de sada Por omisso o ecr Mtodos de escrita System.out.print("mensagem"); printf - consultar o mtodo String.format nos System.out.println("mensagem"); slides Java-Classes System.out.printf(string_formatao, lista_variveis) ;
package nome;
public class NomePrograma { public static void main(String[] args){ System.out.print("Operao impossvel!"); // Escreve mensagem e coloca cursor no fim System.out.println("Diviso por zero!!"); // Escreve mensagem e coloca cursor no incio da // linha seguinte ... System.out.printf("Mdia=%.1f",media); // Sada formatada; Escreve a media (double) // com uma casa decimal. Exemplo: Mdia=15.3
}
Linguagem Java
JOptionPane.showMessageDialog(null, "mensagem");
package nome; import javax.swing.JOptionPane; public class NomePrograma { // importa classe JOptionPane
JOptionPane.showMessageDialog(null, s);
}
// Sada formatada
17/28
Linguagem Java
Operadores
1/2
Atribuio = // Ex: x = x + z;
Aritmticos + // Soma // Subtraco * // Produto / // Diviso real ou inteira; Diviso inteira se ambos os operandos forem inteiros. % // Resto da diviso Relacionais > // Maior >= // Maior ou igual < // Menor <= // Menor ou igual != // Diferente == // Igual
Lgicos && || ! Outros ++ -// AND // OR // NOT ; Ex: !(x<0 && y>10) // Incrementa valor de 1 unidade; // decrementa valor de 1 unidade; Ex: contador++ Ex: contador-18/28
Linguagem Java
Operadores
2/2
Precedncia Maior
Exemplos
a / b * c (a / b) * c
== !=
&&
||
?: Menor = += -= *= /= %= a -= b += c (a -= b) += c
19/28
Linguagem Java
Instruo de Atribuio
// expresso tem de ser do tipo da varivel
public static void main(String[] args){ int x, y; double z; int d, idade; x = 5; d = idade 12; z = x * 10 Math.pow(2,5);
}
20/28
Linguagem Java
Instrues de Deciso
// = SE ... ENTO
// bloco = { ... } ; obrigatrio para aco com mais de 1 instruo // = SE ... ENTO ... SENO
1/4
Sintaxe
if (condio) { // aco }
if (condio) { // aco 1 } else { // aco 2
}
// = CASO ... SEJA switch(expresso) { // expresso tem de ser do tipo inteiro ou caracter
// aco_1; break;
case valor_n[, case valor_o, ..., case valor_v] : // aco_2; break; ... default : // aco_por_omisso; // opcional; ltima escolha; Pode no ser a ltima }
21/28
Linguagem Java
Instrues de Deciso
2/4
}
Nelson Freire (ISEPDEI-APROG 2011/12) 22/28
Linguagem Java
Instrues de Deciso
3/4
Exemplos
package nome;
int x, y, z; switch(x){ case 1, case 3: z = y * 2; break; case 6: z = 12; break; case 2, case 4, case 7: y = 45; z = 23; break; default: z=50; }
} }
Nelson Freire (ISEPDEI-APROG 2011/12)
23/28
Linguagem Java
Instrues de Deciso
4/4
24/28
Linguagem Java
Instrues de Repetio
1/2
Sintaxe
while (condio) { // = ENQUANTO
// corpo do ciclo
}
do {
// corpo do ciclo
} while (condio); // termina com ;
// = PARA
25/28
Linguagem Java
Instrues de Repetio
2/2
Exemplos package nome; public class NomePrograma { public static void main(String[] args){ int c, y; Scanner ler = new Scanner(System.in); c = 1; while(c<=25){ System.out.println(c); c++; } do { y = ler.nextInt(); } while(y>0); for(c=1; c<=25; c++){ // um PARA(c1 AT 25 PASSO 1) System.out.println(c); } for(c=25; c>=1; c--) // for(); no terminar com ponto-e-vrgula System.out.println(c);
}
}
Nelson Freire (ISEPDEI-APROG 2011/12) 26/28
Linguagem Java
1/2
Explcita (cast)
Converso Implcita Declarada implicitamente o Exemplo: short x = 1389;
char
byte short int long
long y = x;
Converso para tipos maiores ou iguais o Excepto long float Tipos Sem perda de preciso Possvel perda de preciso Converso Explcita Declarada explicitamente ... atravs de cast Sintaxe dum cast o (tipo_alvo) nome_varivel o Exemplo: double x = 13.89; int y = (int) x;
Nelson Freire (ISEPDEI-APROG 2011/12)
float
double
Linguagem Java
2/2
Valores
Valor
INTEIRO
Sufixo
Sem L
Exemplo
123456789 123456789L 123456789l 12.34
Tipo Considerado
int long double
l
Sem REAL F f
12.34F 12.34f
float
28/28