Vous êtes sur la page 1sur 32

Anlise e Projeto de

Algoritmos

MDULO 2
Introduo Programao em
Java
Prof. Alexandre Siqueira Dias
alexandresd@prof.una.br

Introduo linguagem Java


Linguagem orientada a objetos (Sun - 1995)
Linguagem de propsito geral derivada do C++
Originalmente desenvolvida para dispositivos
eletrnicos inteligentes de consumo popular
Depois utilizada para criar pginas Web com
contedo dinmico

Introduo linguagem Java


Linguagem hbrida

Compilada e interpretada
Bytecodes - linguagem

intermediria

Introduo linguagem Java


Programas Java normalmente passam por 5 fases:

Edio
O programador escreve o programa (e o armazena em disco)

Compilao
O compilador cria bytecodes a partir do programa

Carga
O carregador de classe armazena bytecodes na memria

Verificao
O verificador de bytecodes confirma que os bytecodes no violam restries

de segurana

Execuo
A JVM traduz bytecodes em linguagem de mquina

Introduo linguagem Java

Programas em Java
Consistem em partes chamadas
classes, as quais incluem mtodos que
realizam tarefas e retornam
informaes ao concluir
O Java oferece bibliotecas de classe

Conhecidas como Java APIs (Application


Programming Interfaces) ou APIs do Java

Programas em Java
public class AloMundo{
public static void main(String args[]){
System.out.println("Alo Mundo!");
}
}

Java sensvel a maisculas e


minsculas

Codificao em Java
main(): incio da execuo - mtodo da classe
principal de um Aplicativo Java
Toda instruo deve ser encerrada por ;
Salvar o programa

Com o mesmo nome da classe (idntico)

Extenso .java

Conveno

Cada palavra do nome em maisculo


Introducao, AloMundo, ExemploDePrograma

Objeto de Sada System.out


Exibe informaes na janela de comando
print imprime o contedo e mantm o
cursor na mesma linha
println imprime o contedo e move o cursor
para a prxima linha

Objeto de Sada System.out


public class AloMundo{
public static void main(String args[]){
System.out.print("Usando ");
System.out.println("print e println
");
System.out.println("Fim do programa
");
}
}

Entrada de dados
import java.util.Scanner;
public class Entrada {
public static void main(String args[]){
//Cria Scanner para obter entrada a partir da janela de comando
Scanner input = new Scanner( System.in );
int numero1, numero2, soma;
System.out.print("Informe o 1o numero: ");
numero1 = input.nextInt();
System.out.print("Informe o 2o numero: ");
numero2 = input.nextInt();
soma = numero1 + numero2;
System.out.println("A soma eh: " + soma);
}
}

Usando caixas de dilogo


import javax.swing.JOptionPane;
public class Dialogo {
public static void main(String args[]){
JOptionPane.showMessageDialog(null, "Exemplo de
texto em um janela!");
System.exit(0);
}
}

Usando caixas de dilogo

Importamos do pacote javax.swing


(interface grfica) a classe JOptionPane

Usando caixas de dilogo


Observaes

System uma classe que faz parte do


pacote java.lang
No necessrio importar java.lang.*
importado em todos os programas Java
O mtodo exit utilizado para indicar
que o aplicativo encerrou:
0 (zero), com sucesso
Outro valor, sem sucesso

Usando caixas de dilogo para


leitura
import javax.swing.JOptionPane;
public class Leitura {
public static void main(String args[]){
String entrada;
int numero1, numero2, soma;
entrada = JOptionPane.showInputDialog("Digite o nmero: ");
// Converte a entrada para inteiro e armazena em numero1
numero1 = Integer.parseInt(entrada);
entrada = JOptionPane.showInputDialog("Digite o nmero: ");
// Converte a entrada para inteiro e armazena em numero2
numero2 = Integer.parseInt(entrada);
soma = numero1 + numero2;
JOptionPane.showMessageDialog(null, "A soma : " + soma);
System.exit(0);
}
}

Usando caixas de dilogo para


leitura

Sintaxe Java Estruturas de controle


condicional
Estrutura de seleo simples
if ( condio ){
...
}

Estrutura de seleo composta


if ( condio ){
...
if (idade < 16)
System.out.println(No pode votar);
}else {
else System.out.println(Pode votar);
...
}

Sintaxe Java Estruturas de controle


condicional
class Maior{
public static void main(String args[]){
int a = 5;
int b = 10;
if (a > b){
System.out.println(A maior que B!");
}else if(a < b){
System.out.println(B maior que A");
}else System.out.println(A e B so iguais");
}
}

Sintaxe Java Estruturas de controle


condicional
Estrutura de mltipla escolha
switch ( valor ){
case 1: ...; break;
case 2: ...; break;
default : ...;
}

switch ( valor ){
case 1: System.out.println("Digitou 1");break;
case 2: System.out.println("Digitou 2");break;
default : System.out.println("Valor divergente");
}

Sintaxe Java Estruturas de repetio


Estrutura de repetio com teste no incio
while( condio ){
...
}

Estrutura de repetio com teste no fim


do{
...
}while ( condio );

Estrutura de repetio com varivel de controle


for(int a = 0; a < 100; a++){
...
}

Sintaxe Java Estruturas de repetio


class Fatorial{
public static void main(String args[]){
int resultado = 1;
for (int aux = 5; aux > 1; aux--){
resultado = resultado * aux;
}
System.out.println(O valor : + resultado);
}
}

OBS: o sinal + possui dois tipos de operaes

se estiver entre nmeros ele soma:


5 + 6 = 11

se estiver entre caracteres (palavras) ele concatena


Belo + Horizonte = Belo Horizonte

Sintaxe Java Estruturas de repetio


class CX{
public static void main(String args[]){
int resultado = 0;
int posicao = 0;
while (posicao <= 100){
if (posicao % 2 == 0){
resultado = resultado + posicao;
}
posicao++;
}

System.out.println(O valor : +
resultado);
}
}

Sintaxe Java Vetores


Estruturas que comporta vrios dados de um nico tipo
Declarao

int c[ ];

Tudo em Java um objeto, ento um vetor tambm


deve ser instanciado

c = new int[10];

Declarando e criando

int c[] = new int [10];

Sintaxe Java Vetores


Outros exemplos:

String nomes[] = new String [ 100 ];

double notas[] = new double [ 150 ];

Iniciando vetores com valores

int dados[] = {1,2,12};

String meses[] = {Janeiro, Fevereiro,


Dezembro};

Erro comum

int vetor[12];

Sintaxe Java Vetores


Exibindo dados do vetor

Retorna o
tamanho do vetor

class MostraVetor{
public static void main(String args[]){
int meses[] = {12,11,10,9,8,7,6,5,4,3,2,1};
for(int index = 0; index < meses.length;
index++){
System.out.println( meses[index] );
}
}
}

Sintaxe Java Vetores


class SomaNumerosParesDoVetor{
public static void main(String args[]){
int dados[] = new int [1000];
int soma = 0;
for(int i = 0; i < dados.length; i++)
dados[i] = i;
for(int i = 0; i < dados.length; i++){
if(dados[i] % 2 == 0)
soma = soma + dados[i];
}
System.out.println(A soma dos nmeros pares :
+ soma );
}

Sintaxe Java Mtodos


So funes pertencentes classe
Informar o tipo de retorno e ao final do
mtodo retornar a varivel
correspondente (idntico a C++)
Ex.: o mtodo obterSaldo
public float obterSaldo(){
return saldo;
}

Sintaxe Java Mtodos


Public class Fatorial{
public static int fatorial(int fat){
int aux = 1;
for(int i = fat; i > 0; i--)
aux = aux * i;
return aux;
}

Na classe principal,
todos os mtodos
devem ter a palavra
static

public static void main(String args[]){


System.out.println(O Fatorial de 5 : +
fatorial(5) );
}
}

Sintaxe Java Passando vetores como parmetro


public class Vetor {
public static void imprime ( int [] b)
{
for (int i = 0; i < b.length; i++)
{
System.out.println( b[i] );
}
}
public static void main(String Args[ ]) {
int [] a = {10, 2, 3};
imprime(a);
}
}

Sintaxe Java Loop for each


public class Vetor {
public static void imprime ( int [] b)
{
for ( int i : b )
{
System.out.println( i );
}
}
public static void main(String Args[ ]) {
int [] a = {10, 2, 3};
imprime(a);
}
}

Exerccio
1. Faa um programa que leia 2 nmeros e imprima todos os nmeros inteiros
existentes entre esses dois nmeros
2. Faa um programa que imprima a tabuada de multiplicar do nmero 5:
5X1=5
5 X 2 = 10
5 X 3 = 15
5 X 4 = 20
5 X 5 = 25
5 X 6 = 30
5 X 7 = 35
5 X 8 = 40
5 X 9 = 45
5 X 10 = 50

Exerccio
3. Faa um programa que solicite ao usurio que informe cinco nmeros
e imprima:

A mdia aritmtica desses nmeros

O maior e o menor valor

Os nmeros em ordem inversa

4. Faa um programa que leia um vetor com 5 elementos inteiros. Solicite


ao usurio que informe um novo nmero, e verifique se este nmero
encontra-se no vetor. Caso positivo, imprima a(s) posio(es) em que
este nmero estiver no vetor. Caso contrrio, exiba uma mensagem
ao usurio informando que o nmero no se encontra no vetor.
5. Faa um programa que solicite ao usurio que informe inicialmente os
6 nmeros sorteados na Mega Sena. Em seguida, pea que ele digite
os 6 nmeros do carto que jogou. Imprima a quantidade de pontos
que ele fez no concurso.