You are on page 1of 33

AULA SÍNCRONA LP1 -A3

16/Fevereiro

Unidade I - Revisão de Conceitos Básicos de Algoritmos e


Programação Estruturada

Prof. João Júnior da Silva Machado


joaomachado@ifsul.edu.br

Recapitulando… Método Main


- Uma classe executável, é uma classe que possui um método inicial para a
execução o método main( );

- Uma vez que a classe apresenta o método main( ), ela pode ser usada como
ponto inicial da aplicação;

- Método main( ) deve:

➡ Ser público (public);

➡ Ser estático (static);

➡ Não ter retorno (void);

➡ Ter o nome main;

➡ Receber como parâmetro um array de String (String[ ] args);

Prof. João Machado | Laboratório de Programação I 2


Recapitulando… Método Main


- Uma classe executável, é uma classe que possui um método inicial para a
execução o método main( );

- Uma vez que a classe apresenta o método main( ), ela pode ser usada como
ponto inicial da aplicação;

- Método main( ) deve:

➡ Ser público (public);

➡ Ser estático (static);

➡ Não ter retorno (void);

➡ Ter o nome main;

➡ Receber como parâmetro um array de String (String[ ] args);

Prof. João Machado | Laboratório de Programação I 3


Recapitulando… Declaração e Inicialização


de Variáveis
- Em Java, a inicialização de variáveis é obrigatória;

- Só podemos usar uma variável, após a mesma ter sido inicializada;

Prof. João Machado | Laboratório de Programação I 4

















Recapitulando… Declaração e Inicialização
de Variáveis

- Quando declaramos e inicializamos uma variável, os


valores padrões para as variáveis são:

Prof. João Machado | Laboratório de Programação I 5


Recapitulando… Palavras reservadas em
Java

- As palavras reservadas ou palavras-chave são termos


prede nidos da linguagem que não podem ser usadas
como identi cadores, ou seja, não podem ser usadas
para representar variáveis, classes ou nomes de métodos;

Prof. João Machado | Laboratório de Programação I 6










fi
fi

Erros em JAVA

- Durante o desenvolvimento de um algoritmo, podemos


nos deparar com dois tipos de Erros:

➡ Erros em Tempo de Compilação

➡ Erros em Tempo de Execução

Prof. João Machado | Laboratório de Programação I 7


Erros em Tempo de Compilação

- Ocorrem quando você tenta executar o arquivo. Pode


ser:

➡ Erros de processamento do arquivo (parsing)

➡ Erros de compilação do código

Prof. João Machado | Laboratório de Programação I 8

Erros em Tempo de Compilação

- Ocorrem quando você tenta executar o arquivo. Pode ser:

➡ Erros de processamento do arquivo (parsing)

✓ Ponto e vírgula faltando, parênteses, aspas, chaves


ou colchetes sem o seu par correspondente (abrindo
ou fechando);

✓ A mensagem de erro vai identi car apenas o arquivo e


a linha onde o erro pode ter iniciado;

✓ Lembrando: um erro causa vários outros e nem


sempre a mensagem é precisa;
Prof. João Machado | Laboratório de Programação I 9

fi

Erros em Tempo de Compilação

- Ocorrem quando você tenta executar o arquivo. Pode ser:

➡ Erros de compilação do código

✓ Realizada após a execução do seu programa em


JAVA;

✓ Além da linha e do arquivo, a mensagem de erro irá


identi car a classe e o método onde o erro está
ocorrendo;

✓ Em geral, as mensagens são bastante elucidativas;

Prof. João Machado | Laboratório de Programação I 10


fi

Sobre os Erros

- É essencial aprender a identi car a causa da


mensagem de erro;

➡ LEIA a mensagem e localize a linha onde o erro foi


detectado;

➡ Corrija os erros na ordem em que eles aparecem;

➡ Sempre recompile depois de corrigir cada erro de


parsing (ponto e vírgula, etc…) já que eles podem
causar mensagens de erros falsas;

Prof. João Machado | Laboratório de Programação I 11


fi

Alguns exemplos de mensagens de erro

- Cannot resolve symbol

➡ Compilador é incapaz de localizar uma de nição do


símbolo encontrado. Causas comuns:

✓ Erro de sintaxe no nome de variável ou método;

✓ Variável/método não declarado;

Prof. João Machado | Laboratório de Programação I 12


fi

Alguns exemplos de mensagens de erro

- Class Hello is public, should be declared in a le named Hello.java

➡ Nome do arquivo tem que ser igual ao nome da classe principal;

✓ Nome tem que ser Hello.java, literalmente; Se o arquivo


estiver com o nome hello.java teremos um erro, já que o “h"
está minúsculo;

✓ Para consertar, altere o nome da classe no código ou no


nome do arquivo, para que sejam iguais;

❖ Preferencialmente, altere o nome do arquivo, já que pela


convenção de Java, usamos sempre nome de Classes
iniciados pela primeira letra Maiúscula;

Prof. João Machado | Laboratório de Programação I 13


fi

Alguns exemplos de mensagens de erro


- Erro de parsing

➡ Na verdade, só ha um erro no código, apesar do compilador acusar


três

Prof. João Machado | Laboratório de Programação I 14

Erro de compilação

- Erro de compilação

Prof. João Machado | Laboratório de Programação I 15


Erros em tempo de Execução
- Ocorrem quando se executa o interpretador java e são muito mais difíceis
de localizar e consertar;

- A mensagem de erro geralmente vai mostrar todo o caminho percorrido


pelo erro

➡ Dica: o início da mensagem normalmente indicará a causa raiz do erro;

- Erros de tempo de execução (runtime), normalmente estarão relacionados


há:

➡ Tentar acessar uma posição inexistente de memória;

➡ Falha em comunicação de rede;

➡ Não existência de arquivo(s) externo(s);


Prof. João Machado | Laboratório de Programação I 16

Erros de Execução comuns e possíveis


causas
- Exception in thread “main”: NoClassDefFoundError: Classe

➡ A classe não foi encontrada;

➡ Provavelmente o nome da classe foi digitado incorretamente;

- Exception in thread “main”: NoSuchMethodError: main

➡ O sistema tentou chamar a main( ) mas não o encontrou;

➡ A classe não tem um método main( ) (e por sua vez, não é executável);

➡ Con ra a assinatura de todo o método main( ):

✓ public static void main(String[ ] args)

Prof. João Machado | Laboratório de Programação I 17


fi

Erros de Execução comuns e possíveis


causas

- ArrayIndexOutOfBoundsException:

➡ O programa tentou acessar uma posição de


memória inexistente;

✓ Ocorre principalmente com vetores e matrizes,


quando o programa tenta acessar um vetor/matriz
além dos limites de nidos;

➡ Erro de lógica com vetores;

Prof. João Machado | Laboratório de Programação I 18


fi

Erros de Execução comuns e possíveis


causas

- NullPointerException

➡ Referência para o objeto é nula;

✓ Variável que está se tentando utilizar, foi


declarada mas não foi inicializada;

✓ Pode ocorrer também com vetores/matrizes;

Prof. João Machado | Laboratório de Programação I 19


Estruturas Fundamentais de JAVA


- Já vimos em aula sobre convenções de JAVA, mas para reforçar:

➡ Nomes de Classes: iniciam em Maiúsculas

✓ class Main, class Alunos, …

➡ Nome das Variáveis: iniciam em minúsculas

✓ int idade, double impostoDevido

➡ Nomes de Métodos: são verbos que indicam em minúsculas e após usam maiúsculas;

✓ imprimirDados( ), calcularImpostos( ), …

➡ Nomes Compostos:

✓ Segue a mesma convenção dos nomes de métodos, primeira letra minúscula e as


demais primeiras letras de cada palavra(s), coloca-se em maiúscula;

❖ int idadeAluno; String nomeFuncionario, …

Prof. João Machado | Laboratório de Programação I 20


Estruturas Fundamentais de JAVA

- Para acessar a documentação completa, acesse:

➡ DevMedia (Português);

➡ Oracle JAVA (Inglês) -webpage

➡ Oracle Java (Inglês) -pdf

Prof. João Machado | Laboratório de Programação I 21


Operadores Relacionais

- A comparação entre os valores de duas ou mais


variáveis é feita através dos operadores de
comparação;

- O mais comum é comparar a igualdade e a


desigualdade dos valores;

- Existem operadores para essas duas formas de


comparação;

Prof. João Machado | Laboratório de Programação I 22


Operadores Relacionais

Sinal Signi cado

== igual

> maior

< menor

>= maior ou igual

<= menor ou igual

! negação

!= diferente

Prof. João Machado | Laboratório de Programação I 23


fi
Operadores Relacionais

- Uma comparação pode devolver dois valores


possíveis: verdadeiro ou falso;

- Em Java, uma comparação sempre irá devolver um


valor boolean;

- Iremos utilizar os operadores relacionais em muitos


casos, onde precisamos determinar se o valor de uma
determinada variável/condição é verdadeira/falsa;

Prof. João Machado | Laboratório de Programação I 24


Operadores Relacionais

Prof. João Machado | Laboratório de Programação I 25


Estruturas Condicionais

- Imagine um programa que, de acordo com as informações


que o usuário insere no programa, se comporta de
maneiras diferentes;

- Para isso, usamos estruturas que permitem controlar o


uxo de execução dos programas;

- A maneira mais simples de controlar o uxo de execução é


de nir que um determinado trecho de código deve ser
executado quando uma condição for verdadeira;

- A estrutura que nos permite esse controle de uxo é if/


else;
Prof. João Machado | Laboratório de Programação I 26
fl
fi

fl
fl

Estruturas Condicionais
Português Estruturado

Prof. João Machado | Laboratório de Programação I 27


Estruturas Condicionais

- Estrutura Condicional Simples IF

➡ Se tal coisa

Prof. João Machado | Laboratório de Programação I 28


Estruturas Condicionais

- Estrutura Condicional Composta IF-ELSE

➡ Se tal coisa — Senão outra coisa

Prof. João Machado | Laboratório de Programação I 29


Estruturas Condicionais

- Estrutura Condicional Encadeado IF-ELSEIF-ELSE

➡ Se tal coisa—Senão Se outra coisa—Senão aqui

Prof. João Machado | Laboratório de Programação I 30

Estruturas Condicionais

- O que vai em (condição) ?

➡ Os operadores relacionais, vistos no slide 23;

- Outras observações:

➡ O ELSE não exige condição, somente quando


tivermos ELSE IF;

➡ A condição de um if sempre tem que ser um valor


booleano;

Prof. João Machado | Laboratório de Programação I 31


Estruturas
Condicionais

➡ Exemplo de Aula:

❖ Referente ao slide 27

Prof. João Machado | Laboratório de Programação I 32


Estruturas Condicionais
➡ Outro exemplo:

Prof. João Machado | Laboratório de Programação I 33

You might also like