You are on page 1of 30

REVISO DE ALGORITMOS E ESTRUTURA DE DADOS

Professor: Eduardo Habib Bechelane Maia E-mail: eduardo.maia@prof.unibh.br

Linguagem Java
Java possui um ambiente de desenvolvimento

denominado Java Sdk No oferece editores ou ambiente de programao O Java SDK contm um amplo conjunto de apis

JDK
Algumas ferramentas da sdk: Compilador (Javac) Interpretador (Java) Interpretador de applets Javadoc (gerador de documentao) Jar (manipulador de arquivos comprimidos) Jdb (depurador)

Pacotes
Com o uso de pacotes podemos organizar de forma fsica

algo lgico Sintaxe:


package nome_do_pacote;

Referenciando uma classe de um pacote: import nome_do_pacote.xyz ou import nome_do_pacote.*

Tipos primitivos
Tipos Inteiros byte short int long
Ponto flutuante float double Character char Tipo lgico boolean

Tipos primitivos
char permite a representao de caracteres individuais 16 bits Permite at 32278 caracteres diferentes
boolean assume os valores false ou true O padro false Ocupa 1 bit

Palavras reservadas
package implement s throw do boolean void goto import extends throws while byte strictfp const new class interface private enum abstract final this for return char static instanceof public try switch short transient true catch case int volatile false protected super else continue float assert

finally if default break long double synchroniz native ed null

Declarao de variveis
Varivel no pode ter o nome de uma palavra reservada
Sintaxe: tipo nome1, nome2, nome3; Exemplos: int i; boolean faltouDeAula; float somatorio, nota;

Declarao de variveis
Existe uma conveno em Java:
Nomes de classes so iniciados por letra maiscula

Nomes de mtodos, atributos e variveis so Iniciados por letras

minsculas Em nomes compostos, cada palavra do nome iniciada por letra maiscula, as palavras no so separadas por nenhum smbolo. Fonte: Code Conventions for the JavaTM Programming Language.

Comentrios
Uma linha:

//comentrio de uma linha Multiplas linhas: /* Comentrio em mais de uma linha */ Comentrio de documentao: /** Classe destinada ao armazenamento de dados relacionados a arquivos *ou diretrios. *<p> Pode ser usada para armazenar rvores de diretrios. * @author Joao Jr. *@see java.io.File */

Operadores aritmticos

Operadores relacionais e lgicos


Relacionais

Lgicos

Estrutura de um programa Java

Fluxo de execuo
Normalmente sequencial Comandos de controle permitem alterar a ordem de execuo
Ex: if (condio) { comando1; comando2; } else { comando4; }

Fluxo de execuo
switch ( valor)

{ case 1: ..... break; case 2: ..... break; default: .. }

Fluxo de execuo (Loops)


while (condio) { comando(s) ; }
do { comando(s) ; } while (condio) ;

Fluxo de execuo (Loops)


for (Inicializao;Condio;Iterao) { comandos }

Repetio simples
for: for (int i=0;i<10;i++) { System.out.println("i=" +i); }
while:

int i=0; while (i<10) { System.out.println("i=" +i); i++; }

Vetores
Permitem a manipulao e o armazenamento de uma

grande quantidade de dados do mesmo tipo Exemplo:


Lista de alunos

Permitem o acesso direto a qualquer elemento do vetor Conjunto finito de ndices Vetores podem ser unidimensionais ou multidimensionais

Vetores
A declarao de um vetor em Java requer 3 passos: 1. Declarao do nome do vetor e seu tipo 2. Alocao do vetor 3. Inicializao de seus valores Exemplo:
1. double[] vet; //declarao 2. vet =newdouble[10]; // alocao 3. for(int j = 0; vet.length();j++) // inizializao vet[j]=0.0;

Vetores
Podem ser inicializados em tempo de compilao Exemplos:

String[]naipe = {copas,ouros, paus,espadas}; Double[] temperaturas= {45.0,32.0,21.7,28.2,27.4};

Vetor multidimensional
Vetor contendo as notas de 3 provas de 30 alunos

int[][] notas = new int[30][3]; Para acessar alguma posio basta especificar as 2 dimenses:
Ex: notas[5][2];

Entrada e Sada
Nos acostumamos a escrever linhas de cdigo como:

System.out.println(Nome do Aluno: + nome); System.out.println(Velocidade do Carro: + 10);


O objeto System.out gerencia a tarefa de escrevermos a

sada do programa no dispositivo de sada padro. Este objeto automaticamente criado pelo Java. Controlado por 2 mtodos:
print(): Imprime uma sada no console. println(): Imprime uma sada no console e pula uma linha.

Entrada e sada
Os mtodos System.out.print[ln] podem receber como

argumento:
Uma String

System.out.print(Entre com o nmero de tentativas);


Um nmero ou uma varivel

Int x = 56; System.out.print(x); System.out.println(18.45);

Combinaes dos casos anteriores Nesse caso o operador + utilizado para concatenar a sada
Float media = calculaMedia(); System.out.println(A mdia da prova foi: + media );

Entrada e sada
Classe scanner:
Para criar um objeto da classe Scanner devemos indicar o

objeto System.in:
Scanner keyboard = new Scanner(System.in);

A classe Scanner contm mtodos para a leitura: De valores inteiros:

int idade = keyboard.nextInt();


De valores double:

float preco= keyboard.nextFloat();


De valores String:

String word1 = keyboard.next();


Da prxima linha:

String line = keyboard.nextLine(); Obs: a leitura da linha acaba em um caracter \n

Entrada e sada
Entradas multiplas devem ser separadas por

Whitespaces e lidas por multiplas chamandas do mtodo apropriado:


Whitespaces so string de caracteres tais como: espao,

tabulaes e quebras de linha.

Exemplo: Dado o cdigo: String word1 = keyboard.next(); String word2 = keyboard.next(); E a entrada via teclado: Casa carro

O valor de word1 ser casa, e o valor de word2 ser

carro.

Entrada e sada

Entrada e sada
Dado o cdigo:

Scanner keyboard = newScanner(System.in); intn= keyboard.nextInt(); Strings1= keyboard.nextLine(); Strings2= keyboard.nextLine();


E a entrada:

2 Carros so mais caros que 1 Casa. Quais os valores de n, s1 e s2?

JOptionPane
JOptionPane.showMessageDialog(null,Esta uma janela de

dilogo criada no centro da tela); Recebe os dados atravs de um dilogo exibido na tela.
Muito parecido com os dilogos de saida.

String name, stringIdade; name = JOptionPane.showInputDialog(null, "Qual o seu nome?"); stringIdade = JOptionPane.showInputDialog(null, "Qual a sua idade?"); int idade= Integer.parseInt(stringIdade); System.out.println(idade);

Dvidas

You might also like