Buscar

Manual de Programação I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 136 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 136 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 136 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

MANUAL DO CURSO DE LICENCIATURA EM 
GESTÃO DE SISTEMAS DE 
INFORMAÇÃO 
 
1º Ano 
Disciplina: Programação I 
Código: ISCED1-GSI06 
Total Horas/1o Semestre: 
Créditos (SNATCA): 5 
Número de Temas: 
 
 
 
 
 
 
 
 
INSTITUTO SUPERIOR DE CIÊNCIAS E EDUCAÇÃO A DISTÂNCIA - ISCED 
 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 i 
 
Direitos de autor (copyright) 
Este manual é propriedade do Instituto Superior de Ciências e Educação a Distância (ISCED), 
e contém reservados todos os direitos. É proibida a duplicação ou reprodução parcial ou 
total deste manual, sob quaisquer formas ou por quaisquer meios (electrónicos, mecânico, 
gravação, fotocópia ou outros), sem permissão expressa da entidade editora (Instituto 
Superior de Ciências e Educação a Distância (ISCED). 
A não observância do acima estipulado o infractor é passível a aplicação de processos 
judiciais em vigor no País. 
 
 
 
 
 
 
 
Instituto Superior de Ciências e Educação a Distância (ISCED) 
Direção Académica 
Rua Dr. Almeida Lacerda, No 212 Ponta - Gêa 
Beira - Moçambique 
Telefone: +258 23 323501 
Cel: +258 82 3055839 
Fax: 23323501 
E-mail: isced@isced.ac.mz 
Website: www.isced.ac.mz 
 
 
 
 
 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 ii 
 
Agradecimentos 
O Instituto Superior de Ciências e Educação a Distância (ISCED) e o autor do presente manual 
agradecem a colaboração dos seguintes indivíduos e instituições na elaboração deste 
manual: 
Pela Coordenação 
Pelo design 
Direção Académica do ISCED 
Direção de Qualidade e Avaliação do ISCED 
Financiamento e Logística 
 
Pela Revisão 
Instituto Africano de Promoção da Educação 
a Distância (IAPED) 
Adjelo Garfo, Licenciado em Informática. 
Programador. 
Elaborado Por: Solomone Rumhungwe (MSc. IT) 
 
 
 
 
 
 
 
 
 
 
 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 iii 
 
Índice 
Visão geral 1 
Bem-vindo à Disciplina/Módulo de Programação I .......................................................... 1 
Objectivos do Módulo....................................................................................................... 1 
Quem deveria estudar este módulo ................................................................................. 1 
Como está estruturado este módulo ................................................................................ 2 
Ícones de actividade ......................................................................................................... 4 
Habilidades de estudo ...................................................................................................... 4 
Precisa de apoio? .............................................................................................................. 7 
Tarefas (avaliação e auto-avaliação) ................................................................................ 8 
Avaliação ........................................................................................................................... 9 
TEMA I: FUNDAMENTOS BÁSICOS DE PROGRAMAÇÃO ................................................. 11 
Unidade 1.1: Introdução à programação ........................................................................ 11 
Unidade 1.2: Algoritmos ................................................................................................. 14 
TEMA II: CONCEITOS E FUNDAMENTOS BÁSICOS DE PROGRAMAÇÃO JAVA ................ 22 
Unidade 2.1: Tecnologia JAVA ........................................................................................ 22 
Unidade 2.2: Introdução Prática ..................................................................................... 32 
Exercícios de AUTO-AVALIAÇÃO (Com respostas): ......................................................... 35 
Exercícios de AVALIAÇÃO: .............................................................................................. 37 
TEMA III: TIPOS DE DADOS ............................................................................................. 38 
Unidade 3.1: Tipos primitivos ......................................................................................... 39 
Unidade 3.2: Operadores ................................................................................................ 41 
Unidade 3.3: Caracteres especiais e palavras reservadas .............................................. 48 
Exercícios de AUTO-AVALIAÇÃO (Com Respostas): ........................................................ 51 
Exercícios de AVALIAÇÃO ................................................................................................ 53 
TEMA IV: ESTRUTURAS DE CONTROLO ........................................................................... 56 
Unidade 4.1: Estruturas de Controlo .............................................................................. 57 
Exercícios de AUTO-AVALIAÇÃO (com respostas) .......................................................... 69 
Exercícios de AVALIAÇÃO ................................................................................................ 70 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 iv 
 
TEMA V: UMA INTRODUÇÃO ÀS ESTRUTURAS DE DADOS COMO ARRAY E MATRIZES 
(ARRAYS BIDIMENSIONAIS)............................................................................................. 74 
Unidade 5.1: Array (Vector) ............................................................................................ 75 
Exercícios de AUTO-AVALIAÇÃO (com respostas) .......................................................... 79 
Exercícios de AVALIAÇÃO ................................................................................................ 80 
TEMA VI: INTRODUÇÃO AO PARADIGMA DE PROGRAMAÇÃO ORIENTADA A OBJECTOS 
(POO) ............................................................................................................................... 83 
Unidade 6.1: Objectos, Classes, Atributos e Métodos ................................................... 85 
Unidade 6.2: Métodos .................................................................................................... 88 
Exercícios de AUTO-AVALIAÇÃO (Com Respostas) ......................................................... 93 
Exercícios de AVALIAÇÃO ................................................................................................ 95 
TEMA VII: NETBEANS IDE ................................................................................................ 97 
Unidade 7.1: NetBeans IDE ............................................................................................. 97 
Exercícios ............................................................................................................. 103 
TEMA VIII: ORIENTAÇÃO A OBJECTOS (CONTINUAÇÃO) .............................................. 104 
Unidade 8.1: Modificadores de acesso e atributos de classe ...................................... 104 
Unidade 8.2: Herança, Reescrita e Polimorfismo ......................................................... 107 
Unidade 8.3: Pacotes (packages): ................................................................................. 123 
Exercícios de AUTO-AVALIAÇÃO (Com Respostas) ....................................................... 126 
Exercícios de AVALIAÇÃO .............................................................................................. 126 
 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo:Programação I 
 1 
 
Visão geral 
Bem-vindo à Disciplina/Módulo de Programação I 
Objectivos do Módulo 
Ao terminar o estudo deste módulo de Programação I deverá ser 
capaz de: 
 Apresentar o domínio dos principais conceitos de 
Programação e suas aplicações. 
 Desenvolver pequenos aplicativos em Java. 
 Implementar algoritmos na resolução de casos práticos no 
contexto do curso frenquentado. 
 
 
Objectivos 
Específicos 
 Definir os principais conceitos de programação, tais como 
os tipos de dados, variáveis, estruturas de controlo e de 
decisão, e paradigma de orientação a objectos; 
 Analisar problemas, delinear e implementar algoritmos; 
 Desenvolver pequenos programas em Java; 
 Conhecer os fundamentos básicos da programação 
orientada a objectos. 
Quem deveria estudar este módulo 
Este módulo foi concebido para estudantes do 1º ano do curso de 
licenciatura em Gestão de Sistemas de Informação do ISCED. 
Poderá ocorrer, contudo, que haja leitores que queiram se 
actualizar e consolidar seus conhecimentos nessa disciplina, esses 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 2 
 
serão bem-vindos, não sendo necessário para tal se inscrever. Mas 
poderá adquirir o manual. 
Como está estruturado este módulo 
Este módulo de Programação I, para estudantes do 1º ano do 
curso de Licenciatura em Gestão de Sistemas de Informação, à 
semelhança dos restantes do ISCED, está estruturado como se 
segue: 
Páginas introdutórias 
 Um índice completo; 
 Uma visão geral detalhada dos conteúdos do módulo, 
resumindo os aspectos-chave que você precisa conhecer 
para melhor estudar. Recomendamos vivamente que leia 
esta secção com atenção antes de começar o seu estudo, 
como componente de habilidades de estudos. 
Conteúdo desta Disciplina/Módulo 
Este módulo está estruturado em temas. Cada tema, por sua vez 
comporta certo número de unidades temáticas ou simplesmente 
unidades. Cada unidade temática se caracteriza por conter uma 
introdução, objectivos e conteúdos. 
No final de cada unidade temática ou do próprio tema, são 
incorporados antes o sumário, exercícios de auto-avaliação e só 
depois é que aparecem os exercícios de avaliação. 
Os exercícios de avaliação têm as seguintes características: puros 
exercícios teóricos/práticos, problemas não resolvidos e 
actividades práticas algumas incluíndo estudo de caso. 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 3 
 
Outros recursos 
A equipa dos académicos e pedagogos do ISCED, pensando em si, 
num cantinho recôndito deste nosso vasto Moçambique e cheio 
de dúvidas e limitações no seu processo de aprendizagem, 
apresenta uma lista de recursos didácticos adicionais ao seu 
módulo para que possas explorar. Para tal o ISCED disponibiliza na 
biblioteca do seu centro de recursos mais material de estudos 
relacionado ao seu curso como: livros e/ou módulos, CD, CD-ROM, 
DVD. 
Para além deste material físico ou electrónico disponível na 
biblioteca, pode ter acesso à Plataforma digital Moodle para 
alargar mais ainda as possibilidades dos seus estudos. 
 
Auto-avaliação e Tarefas de avaliação 
Tarefas de auto-avaliação para este módulo encontram-se no final 
de cada unidade temática e de cada tema. As tarefas dos 
exercícios de auto-avaliação apresentam duas características: 
primeiro apresentam exercícios resolvidos com detalhes. Segundo, 
exercícios que mostram apenas respostas. 
Tarefas de avaliação devem ser semelhantes às de auto-avaliação 
mas sem mostrar os passos e devem obedecer o grau crescente de 
dificuldades do processo de aprendizagem, umas a seguir a outras. 
Parte das tarefas de avaliação será objecto dos trabalhos de 
campo a serem entregues aos tutores/docentes para efeitos de 
correcção e subsequentemente nota. Também constará do exame 
do fim do módulo. Pelo que, caro estudante, fazer todos os 
exercícios de avaliação é uma grande vantagem. 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 4 
 
Comentários e sugestões 
Use este espaço para dar sugestões valiosas, sobre determinados 
aspectos, quer de natureza científica, quer de natureza didáctico-
Pedagógica, etc, sobre como deveriam ser ou estar apresentadas. 
Pode ser que graças as suas observações que, em goso de 
confiança, classificamo-las de úteis, o próximo módulo venha a ser 
melhorado. 
Ícones de actividade 
Ao longo deste manual irá encontrar uma série de ícones nas 
margens das folhas. Estes ícones servem para identificar 
diferentes partes do processo de aprendizagem. Podem indicar 
uma parcela específica de texto, uma nova actividade ou tarefa, 
uma mudança de actividade, etc. 
Habilidades de estudo 
O principal objectivo deste campo é o de ensinar aprender a 
aprender. Aprender aprende-se. 
Durante a formação e desenvolvimento de competências, para 
facilitar a aprendizagem e alcançar melhores resultados, implicará 
empenho, dedicação e disciplina no estudo. Isto é, os bons 
resultados apenas se conseguem com estratégias eficientes e 
eficazes. Por isso é importante saber como, onde e quando 
estudar. Apresentamos algumas sugestões com as quais esperamos 
que caro estudante possa rentabilizar o tempo dedicado aos 
estudos, procedendo como se segue: 
1º. Praticar a leitura. Aprender à distância exige alto domínio de 
leitura. 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 5 
 
2º. Fazer leitura diagonal aos conteúdos (leitura corrida). 
3º. Voltar a fazer leitura, desta vez para a compreensão e 
assimilação crítica dos conteúdos (ESTUDAR). 
4º. Fazer seminário (debate em grupos), para comprovar se a sua 
aprendizagem confere ou não com a dos colegas e com o padrão. 
5º. Fazer TC (Trabalho de Campo), algumas actividades práticas ou 
as de estudo de caso se existirem. 
IMPORTANTE: Em observância ao triângulo modo-espaço-tempo, 
respectivamente como, onde e quando estudar. 
Como foi referido no início deste item, antes de organizar os seus 
momentos de estudo reflicta sobre o ambiente de estudo que seria 
ideal para si: estudo melhor em casa/biblioteca/café/ ou noutro 
lugar? Estudo melhor à noite/de manhã/de tarde/fins-de-
semana/ao longo da semana? Estudo melhor com música/num 
sítio sossegado/num sítio barulhento!? Preciso de intervalo em 
cada 30 minutos, em cada hora, etc. 
É impossível estudar numa noite tudo o que devia ter sido 
estudado durante um determinado período de tempo; Deve 
estudar cada ponto da matéria em profundidade e passar só ao 
seguinte quando achar que já domina bem o anterior. 
Privilegia-se saber bem (com profundidade) o pouco que puder ler 
e estudar, que saber tudo superficialmente! Mas a melhor opção é 
juntar o útil ao agradável: Saber com profundidade todos 
conteúdos de cada tema, no módulo. 
Dica importante: não recomendamos estudar seguidamente por 
tempo superior a uma hora. Estudar por tempo de uma hora 
intercalado por 10 (dez) a 15 (quinze) minutos de descanso 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 6 
 
(chama-se descanso à mudança de actividades). Ou seja, que 
durante o intervalo não se continuar a tratar dos mesmos assuntos 
das actividades obrigatórias. 
Uma longa exposição aos estudos ou ao trabalho intelectual 
obrigatório pode conduzir ao efeito contrário: baixar o rendimento 
da aprendizagem. Por que o estudante acumula um elevado 
volume de trabalho,em termos de estudos, em pouco tempo, 
criando interferência entre os conhecimentos, perde sequência 
lógica, por fim ao perceber que estuda tanto mas não aprende, cai 
em insegurança, depressão e desespero, por se achar injustamente 
incapaz! 
Não estude na última da hora; quando se trate de fazer alguma 
avaliação. Aprenda a ser estudante de facto (aquele que estuda 
sistematicamente), não estudar apenas para responder a questões 
de alguma avaliação, mas sim estude para a vida, sobre tudo, 
estude pensando na sua utilidade como futuro profissional, na área 
em que está a se formar. 
Organize na sua agenda um horário onde define a que horas e que 
matérias deve estudar durante a semana; Face ao tempo livre que 
resta, deve decidir como o utilizar produtivamente, decidindo 
quanto tempo será dedicado ao estudo e a outras actividades. 
É importante identificar as ideias principais de um texto, pois será 
uma necessidade para o estudo das diversas matérias que 
compõem o curso: 
A colocação de notas nas margens pode ajudar a estruturar a 
matéria de modo que seja mais fácil identificar as partes que está 
a estudar e pode escrever conclusões, exemplos, vantagens, 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 7 
 
definições, datas, nomes, pode também utilizar a margem para 
colocar comentários seus relacionados com o que está a ler; 
A melhor altura para sublinhar é imediatamente a seguir à 
compreensão do texto e não depois de uma primeira leitura; 
Utilizar o dicionário sempre que surja um conceito cujo significado 
não conhece ou não lhe é familiar. 
Precisa de apoio? 
Caro estudante, temos a certeza que por uma ou por outra razão, o 
material de estudos impresso, lhe pode suscitar algumas dúvidas 
como falta de clareza, alguns erros de concordância, prováveis 
erros ortográficos, falta de clareza, fraca visibilidade, páginas 
trocadas ou invertidas, etc). Nestes casos, contacte os serviços de 
atendimento e apoio ao estudante do seu Centro de Recursos (CR), 
via telefone, sms, e-mail, se tiver tempo, escreva mesmo uma carta 
participando a preocupação. 
Uma das atribuições dos Gestores dos CR e seus assistentes 
(Pedagógico e Administrativo), é a de monitorar e garantir a sua 
aprendizagem com qualidade e sucesso. Dai a relevância da 
comunicação no Ensino a Distância (EAD), onde o recurso às TICs se 
torna incontornável: entre estudantes, estudante – Tutor, 
estudante – CR, etc. 
As sessões presenciais são um momento em que você caro 
estudante, tem a oportunidade de interagir fisicamente com staff 
do seu CR, com tutores ou com parte da equipa central do ISCED 
indigitada para acompanhar as suas sessões presenciais. Neste 
período pode apresentar dúvidas, tratar assuntos de natureza 
pedagógica e/ou administrativa. 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 8 
 
O estudo em grupo, que está estimado para ocupar cerca de 30% 
do tempo de estudos a distância, é de muita importância, na 
medida em que permite-lhe situar, em termos do grau de 
aprendizagem com relação aos outros colegas. Desta maneira 
ficará a saber se precisa de apoio ou de apoiar aos colegas. 
Desenvolver o hábito de debater assuntos relacionados com os 
conteúdos programáticos, constantes nos diferentes temas e 
unidades temáticas, no módulo. 
Tarefas (avaliação e auto-avaliação) 
O estudante deve realizar todas as tarefas (exercícios, actividades e 
autoavaliação), contudo nem todas deverão ser entregues, mas é 
importante que sejam realizadas. As tarefas devem ser entregues 
duas semanas antes das sessões presenciais seguintes. 
Para cada tarefa serão estabelecidos prazos de entrega, e o não 
cumprimento dos prazos de entrega, implica a não classificação do 
estudante. Tenha sempre presente que a nota dos trabalhos de 
campo conta e é decisiva para a admissão ao exame final da 
disciplina/módulo. 
Os trabalhos devem ser entregues ao Centro de Recursos (CR) e os 
mesmos devem ser dirigidos ao tutor/docente. 
Podem ser utilizadas diferentes fontes e materiais de pesquisa, 
contudo os mesmos devem ser devidamente referenciados, 
respeitando os direitos do autor. 
O plágio1 é uma violação do direito intelectual do (s) autor (es). 
Uma transcrição à letra de mais de 8 (oito) palavras do testo de um 
 
1
 Plágio - copiar ou assinar parcial ou totalmente uma obra literária, propriedade 
intelectual de outras pessoas, sem prévia autorização. 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 9 
 
autor, sem o citar é considerado plágio. A honestidade, humildade 
científica e o respeito pelos direitos autorais devem caracterizar a 
realização dos trabalhos e seu autor (estudante do ISCED). 
Avaliação 
Muitos perguntam: Com é possível avaliar estudantes à distância, 
estando eles fisicamente separados e muito distantes do 
docente/tutor!? Nós dissemos: Sim é muito possível, talvez seja 
uma avaliação mais fiável e consistente. 
Você será avaliado durante os estudos à distância que contam com 
um mínimo de 90% do total de tempo que precisa de estudar os 
conteúdos do seu módulo. Quando o tempo de contacto presencial 
conta com um máximo de 10%) do total de tempo do módulo. A 
avaliação do estudante consta de forma detalhada no regulamento 
de avaliação. 
Os trabalhos de campo por si realizados, durante estudos e 
aprendizagem no campo, pesam 25% e servem para a nota de 
frequência para ir aos exames. 
Os exames são realizados no final da cadeira/disciplina ou módulo 
e decorrem durante as sessões presenciais. Os exames pesam no 
mínimo 75%, o que adicionado aos 25% da média de frequência, 
determinam a nota final com a qual o estudante conclui a cadeira. 
A nota de 10 (dez) valores é a nota mínima de conclusão da 
cadeira. 
Nesta cadeira o estudante deverá realizar pelo menos 2 (dois) 
trabalhos e 1 (um) (exame). 
Algumas actividades práticas, relatórios e reflexões serão utilizadas 
como ferramentas de avaliação formativa. 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 10 
 
Durante a realização das avaliações, os estudantes devem ter em 
consideração a apresentação, a coerência textual, o grau de 
cientificidade, a forma de conclusão dos assuntos, as 
recomendações, a identificação das referências bibliográficas 
utilizadas, o respeito pelos direitos do autor, entre outros. 
Os objectivos e critérios de avaliação constam do Regulamento de 
Avaliação. 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 11 
 
TEMA I: FUNDAMENTOS BÁSICOS DE PROGRAMAÇÃO 
Unidade 1.1: Introdução à programação 
 O que é Programação? 
 O que são Linguagens de Programação? 
O que é Programação? 
Com a evolução da tecnologia, cada dia mais pessoas têm acesso a um computador, seja em 
casa, na escola, no trabalho. Quando usamos computadores, podemos fazer muitas coisas. Uma 
criança pode usar a Internet para passar uma mensagem, um estudante pode usar uma planilha 
eletrônica para calcular uma média ou quantos pontos precisa para ser aprovado em cada 
matéria, um cozinheiro pode guardar suas receitas em software como o Word ou em um produto 
especializado para receitas. 
E para alguns mais curiosos, surgem perguntas como: "como os computadores fazem isto?", 
"Será que posso fazer ou aprender?", "Como será um computador por dentro?". 
Todos os dias pela manhã programamo-nos para ir ao trabalho/escola/faculdade:acordar, 
escovar os dentes, tomar o banho, café e sair. De uma maneira simples, programar é criar uma 
série de instruções. No exemplo acima essa seria a nossa programação, o nosso conjunto de 
instruções. 
Embora a tecnologia esteja tão avançada, os computadores ainda não “pensam” exatamente, no 
sentido literal da palavra. Eles simplesmente executam o que lhes são ordenados, seja bom ou 
não. Aliás, para eles não existe bom ou ruim, eles simplesmente fazem, não importa o resultado 
do trabalho; A “magia” está na capacidade de processamento de um computador. O que um 
simples notebook pode fazer, em termos de cálculos e rapidez, é muito mais do que qualquer um 
ser humano da face da terra pode fazer ao longo de toda a sua vida. 
Resumindo, programar é dizer para o computador o que você quer, e ele simplesmente fará. É 
dar instruções ao computador para que ele execute alguma tarefa. Mas como dizer isso? Como 
se comunicar e dar instruções ao 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 12 
 
computador? Através das linguagens de programação. 
O que são Linguagens de Programação? 
Podemos imaginar o computador como uma super calculadora, capaz de fazer cálculos muito 
mais rápidos do que nós, mas para isso devemos dizer para o computador o que deve ser 
calculado e como deve ser calculado. 
Diferentemente dos seres humanos, os computadores não têm capacidade de raciocínio e 
precisam de instruções exatas para tudo o que fazem. O que é óbvio para você, humano, 
certamente não é óbvio para uma máquina. E se quisermos que a máquina faça algo, precisamos 
de certa forma, "falar com ela". A função das linguagens de programação é exatamente essa, ou 
seja, servir de um meio de comunicação entre computadores e humanos. 
Existem dois tipos de linguagens de programação: as de baixo nível e as de alto nível. Os 
computadores interpretam tudo como números em base binária, ou seja, só entendem zero e 
um. As linguagens de baixo nível são interpretadas diretamente pelo computador, tendo um 
resultado rápido, porém é muito difícil e incômodo se trabalhar com elas. Exemplos de 
linguagens de baixo nível são a linguagem binária e a linguagem Assembly. 
Exemplo de código em Assembly: 
 
Como pode-se notar, é uma linguagem bastante complicada. 
Já as linguagens de alto nível são mais fáceis de se trabalhar e de entender, as ações são 
representadas por palavras de ordem (exemplo faça, imprima, etc) geralmente em inglês, foram 
feitos assim para facilitar a memorização e a lógica. Elas não são interpretadas diretamente pelo 
computador, sendo necessário traduzí-las para linguagem binária utilizando-se de um programa 
chamado compilador. 
Quando programamos em uma linguagem de programação de alto nível primeiramente criamos 
um arquivo de texto comum contendo 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 13 
 
a lógica do programa, ou seja, é onde falamos ao computador como deve ser feito o que 
queremos. Este arquivo de texto é chamado de código-fonte, cada palavra de ordem dentro do 
código-fonte é chamada de instrução. 
Após criarmos o código-fonte devemos traduzir este arquivo para linguagem binária usando o 
compilador correspondente com a linguagem na qual estamos programando. O compilador irá 
gerar um segundo arquivo que chamamos de executável ou programa, este arquivo gerado é 
interpretado diretamente pelo computador. 
Exemplo de código em linguagem JAVA (alto nível): 
 
Atualmente existem muitas linguagens de programação disponíveis. Essas linguagens foram 
criadas com um certo propósito, para tratar de determinados tipos de problemas, por isso a 
escolha da mais apropriada depende dos diversos tipos de problemas/situações. 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 14 
 
Unidade 1.2: Algoritmos 
 Algoritmo 
 Constituição de um algoritmo 
 Formas de representação de um Algoritmo 
Algoritmo 
Um algoritmo pode ser definido como uma sequência finita de passos (instruções) para resolver 
um determinado problema. Sempre que desenvolvemos um algoritmo estamos estabelecendo 
um padrão de comportamento que deverá ser seguido (uma norma de execução de ações) para 
alcançar o resultado de um problema. Exemplo: 
 
Como se pode ver, um algoritmo pode ser qualquer sequência de instruções. A que podem ver 
acima, a confeção de um bolo, é realizada por um ser humano. 
Para o desenvolvimento de um algoritmo eficiente é necessário obedecermos algumas 
premissas básicas no momento de sua construção: 
 Definição: Os passos de um algoritmo devem ser bem definidos, objetivando 
a clareza e evitando ambiguidades. 
 Finitude: Um algoritmo deve chegar ao seu fim após um número finito de 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 15 
 
passos. 
 Efetividade: Um algoritmo deve ser efetivo, ou seja, suas operações devem 
ser básicas o suficiente para que possam, em princípio, serem executadas de 
maneira exata e em um tempo finito. 
 Entradas: Um algoritmo deve possuir zero ou mais entradas. Estas são 
insumos ou quantidades que são processados pelos algoritmos durante a 
execução de seus passos. 
 Saídas: Um algoritmo deve possuir uma ou mais saídas. Elas representam o 
resultado do trabalhado realizado pelos algoritmos. 
Os algoritmos são capazes de realizar tarefas como: 
1. Ler e escrever dados; 
2. Avaliar expressões algébricas, relacionais e lógicas; 
3. Tomar decisões com base nos resultados das expressões avaliadas; 
4. Repetir um conjunto de ações de acordo com uma condição; 
O algoritmo 1, a baixo, é um exemplo simples de algoritmo (sem condições ou repetições) para 
troca de um pneu. 
 
No algoritmo 2 estão ilustradas as tarefas anteriormente mencionadas. 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 16 
 
 
Nas linhas de 2 a 4 pode-se observar a repetição de uma ação enquanto uma dada condição seja 
verdadeira, neste caso em específico, o algoritmo está repetindo a ação “esperar ônibus” 
enquanto a condição “ônibus não chega” permanecer verdadeira. 
Assim que essa condição se tornar falsa (quando o ônibus chegar) o algoritmo deixará de repetir 
a ação “esperar ônibus”, e irá executar a linha 5. 
Já nas linhas de 7 a 9, é possível observar um exemplo da execução (ou não execução) de uma 
ação com base na avaliação de uma expressão. Nesse trecho, o algoritmo avalia se a expressão 
“não tenho passagem” é verdadeira e em caso positivo, executaa acão “pegar dinheiro”. 
Caso a expressão “não tenho passagem” seja falsa (ou seja, a pessoa tem passagem) então o 
algoritmo irá ignorar a ação “pegar dinheiro” e irá executar a linha 10. Essas são as chamadas 
estruturas de controlo e serão estudadas com mais detalhes no Tema IV. 
CONSTITUIÇÃO DE UM ALGORITMO 
Um algortimo quando programado num computador é constituído pelo menos das 3 partes, 
sendo elas: 
1. Entrada de dados; 
2. Processamento de dados; 
3. Saída de dados; 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 17 
 
Na parte de entrada, são fornecidas as informações necessárias para que o algoritmo possa ser 
executado. Estas informações podem ser fornecidas no momento em que o programa está 
sendo executado ou podem estar embutidas dentro do mesmo. 
 
Na parte do processamento são avaliadas todas as expressões algébricas, relacionaise lógicas, 
assim como todas as estruturas de controlo existentes no algoritmo (condição e/ou repetição). 
Na parte de saída, todos os resultados do processamento (ou parte deles) são enviados para um 
ou mais dispositivos de saída, como: monitor, impressora, ou até mesmo a própria memória do 
computador. 
FORMAS DE REPREENTAÇÃO DE UM ALGORITMO 
 Descrição narrativa 
Os algoritmos são expressos em linguagem natural (português, inglês, francês, espanhol, etc.). 
Sua principal desvantagem se encontra no fato da linguagem natural estar bem distante da 
linguagem utilizada pelos computadores. Logo, a tradução de uma para a outra se torna uma 
atividade bastante dispendiosa. Além disso, linguagens naturais são mais propensas a 
ambiguidades. 
Muitas vezes uma palavra pode ter vários significados, dependendo do contexto no qual são 
utilizadas. Em contrapartida, é bem mais fácil elaborar um algoritmo por meio de uma 
linguagem com a qual já temos uma certa familiaridade, do que através de linguagens que não 
são utilizadas com frequência no dia-a-dia. 
Vejamos a seguir um exemplo de algoritmo em descrição narrativa: 
Algoritmo para fritar um ovo: 
1. Retire o ovo da geladeira. 
2. Coloque a frigideira no fogo. 
3. Coloque óleo na frigideira. 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 18 
 
4. Quebre ovo, separando a casca. 
5. Ponha a clara e a gema na frigideira. 
6. Espere um minuto. 
7. Apague o fogo. 
8. Retire o ovo da frigideira. 
 Fluxograma 
Os fluxogramas são uma apresentação do algoritmo em formato gráfico. Cada ação ou situação 
é representada por uma caixa. Tomadas de decisões são indicadas por caixas especiais, 
possibilitando ao fluxo de ações tomar caminhos distintos. 
Fluxograma consiste em usar formas geométricas padronizadas para descrever os passos a 
serem executados pelos algoritmos. As formas mais comumente utilizadas em fluxogramas são 
as seguintes: 
 
 
 
 
 
 
 
 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 19 
 
Exemplos de fluxogramas: 
Fluxograma de algoritmo para cálculo de media de dois números. 
 
 
Fluxograma de algoritmo assar pão. 
 
 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 20 
 
Analisando o ultimo exemplo: 
 O início e o fim do algoritmo estão marcados com uma figura elíptica; 
 As ações a serem executadas estão em retângulos; 
 Sendo que a estrutura de controlo condicional que está em losângolo indica 
duas possibilidades de proseguimento do algoritmo, uma para o caso da 
expressão avaliada (condição) ser verdadeira e outra para o caso de ser 
falsa. 
No exemplo da última figura, a primeira ação é executada “abrir forno” e então a segunda 
expressão é avaliada “fogo acesso?” como verdadeira ou falsa; caso seja verdadeira, o algoritmo 
prossegue para a ação à esquerda “botar lenha”; caso seja falsa, o algoritmo executa a ação à 
direita “acender fogo”. Em seguida, para qualquer um dos casos, a próxima ação a ser executada 
é “assar pão”. 
 Pseudocodigo 
O pseudocódigo é uma maneira intermediária entre a linguagem natural e uma linguagem de 
programação de representar um algoritmo. 
Ela utiliza um conjunto restrito depalavras-chave, em geral na língua nativa do programador, 
que tem equivalentes nas linguagens de programação. 
Além disso, o pseudocódigo não requer todo a rigidez sintática necessária numa linguagem de 
programação, permitindo que o aprendiz se detenha na lógica do algoritmo e não no 
formalismo da sua representação. 
Na medida em que se obtém mais familiaridade com os algoritmos, então o pseudocódigo pode 
ser traduzido para uma linguagem de programação. 
Exemplo de um algoritmo em pseudocodigo para comparar dois números: 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 21 
 
 
Neste exemplo é mostrado um exemplo de pseudocódigo escrito em português para escrever o 
maior valor entre, x ou y. As palavras leia, se, então, senão-se, fim e escreva são palavras-chave 
que representam estruturas presentes em todas as linguagens de programação. 
Entretanto, no pseudocódigo não é necessário se preocupar com detalhes de sintaxe (como 
ponto-e-vírgula no final de cada expressão) ou em formatos de entrada e saída dos dados. 
Deste modo, o enfoque no desenvolvimento do algoritmo fica restrito a sua lógica em si, e não 
na sua sintaxe para representação em determinada linguagem. 
 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 22 
 
TEMA II: CONCEITOS E FUNDAMENTOS BÁSICOS DE 
PROGRAMAÇÃO JAVA 
Unidade 2.1: Tecnologia JAVA 
 Tecnologia Java 
 Características da Linguagem e API Java 
 Ambiente de desenvolvimento e de execução 
 Máquina Virtual JAVA (JVM) 
 Versões do Java 
 Bytecode 
 Coletor de Lixo (Garbage Collector) 
 
 Tecnologia Java 
Java é uma linguagem de programação orientada a objetos feita na Sun Microsystems, hoje 
Oracle Corporation, lançada em 1995. 
A Linguagem Java foi desenvolvida nos princípios dos anos 90 por um grupo de Engenheiros 
liderado por James Gosling da antiga Sun Microsystems, e foi lançada em 1995. JAVA é uma 
linguagem derivada do C, porém, programar em Java é mais simples, pois é do alto nível. Isso 
quer dizer que não nos preocupamos tanto com detalhes do baixo nível, como memória, 
processamento, ponteiros, lixo etc. O Java já provém um gerenciamento automático de 
memória e um coletor de lixo (Garbage Collector), que facilitam a vida do desenvolvedor, mas 
consomem mais processamento. A diferença do Java é que os programas não são compilados 
diretamente na arquitetura do computador. Ao invés disso, é executado na JVM (Java Virtual 
Machine), uma máquina virtual, e esta é implementada nos mais diversos dispositivos, o que 
torna o Java referência quando o assunto é portabilidade. 
Em outras linguagens de programação, como em C ou C++, o programa é convertido em código 
de máquina (Assembly) e é executado 
http://www.programacaoprogressiva.net/2012/08/comece-programar-linguagem-de_3132.html
http://programacaoprogressiva.blogspot.com/2012/08/comece-programar-linguagem-de_3132.html
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 23 
 
especificamente num sistema operativo. 
O nome "Java" é usado para referir-se à: 
 Uma linguagem de programação orientada a objectos; 
 Uma colecção de APIs (classes, componentes, frameworks) para 
desenvolvimento de aplicações multiplataforma; 
 Um ambiente de execução presente em navegadores, mainframes; 
 SOs, celulares, palmtops, cartões inteligentes, electrodomésticos; 
Devido à compra da Sun pela Oracle em 2009, actualmente a página oficial do java é: 
http://www.oracle.com/technetwork/java/. 
A evolução da linguagem é controlada pelo Java Community Process (www.jcp.org), este é um 
mecanismo para o desenvolvimento de especificações técnicas padrão para a Tecnologia Java. 
Qualquer indivíduo pode registar-se no site e participar na revisão fornecendo feedback para as 
solicitações de especificação de Java. 
 Características da linguagem e api java 
 Linguagem de programação orientada a objectos 
 Simples e robusta (minimiza bugs, aumenta produtividade); 
 Familiar (sintaxe parecida com C); 
 Possui códigos fonte e objectos portáveis para diversas arquitecturas e 
sistemas operacionais, Independente de plataforma; Suporte nativo a threads (+ simples, maior portabilidade); 
 Dinâmica (módulos, acoplamento em tempo de execução; 
 Com colecta de lixo (menos bugs, mais produtividade); 
 Segura (mecanismos para garantir segurança); 
 Código intermediário de máquina virtual interpretado; 
 Compilação rápida (mais produtividade no desenvolvimento); 
 Sintaxe uniforme, rigorosa quanto a tipos (código mais simples, menos 
diferenças em funcionalidades iguais). 
 API Java 
http://www.oracle.com/technetwork/java/
http://www.jcp.org/
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 24 
 
 API (Interface de Programação de Aplicação) é um conjunto de padrões de 
programação (classes e interfaces), que permite a construção e utilização de 
aplicativos de maneira não transparente ao usuário; 
 As classes e interfaces que compõem a API do Java estão divididas em 
pacotes e cada um destes agrupa um conjunto de classes e interfaces que 
possuem propósitos comuns; 
 A estrutura dos pacotes que abriga as classes e interfaces de Java reflectem a 
estrutura de directórios onde seus arquivos compilados estão dispostos; 
 As classes e interfaces do JDK encontram-se em um arquivo compactado 
chamado rt.jar que se encontra no directório \jre\lib; 
 As especificações sobre a API Java Standard Edition 7 estão disponíveis em: 
http://docs.oracle.com/javase/7/docs/api/, neste site estão especificados os 
pacotes e classes que compõem a API Java, bem como uma breve descrição 
das suas funcionalidades. 
O pacote java: 
 Contém classes e interfaces essenciais à consecução dos seus desígnios 
enquanto linguagem de programação e também recursos indispensáveis 
para realização de tarefas importantes para a execução de qualquer 
programa; 
 Possui 13 pacotes: applet, awt, beans, io, lang, math, net, nio, rmi, security, 
sql, text e util. Estes contém classes e interfaces distribuídas em diversos sub 
pacotes que devem ser aplicados para desenvolver determinado tipo de 
aplicação, cada pacote de acordo com as necessidades da aplicação. 
O pacote javax: 
 Contém classes e interfaces que complementam as dispostas no pacote java 
e outras que oferecem novos recursos; 
 No javax estão disponíveis os pacotes acessibility, activity, annotation, 
http://docs.oracle.com/javase/7/docs/api/
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 25 
 
crypto, imageio, print, swing, xml, tools, dentre outros. 
 O pacote java.lang contém recursos necessários para a implementação de 
diversas operações fundamentais para a construção de uma diversidade de 
aplicações. 
 Ambiente de desenvolvimento e de execução 
A evolução da linguagem java, após o seu lançamento, levou ao aumento do número de 
bibliotecas padrão da linguagem e à criação de três divisões na plataforma a partir da versão 2 
da linguagem: J2SE, J2EE e J2ME. A partir de 2006, o número 2 foi retirado da sigla e estas 
passaram a ser: JSE, JEE e JME. 
 Java Standard Edition (JSE): é o ambiente de desenvolvimento mais 
utilizado, seu uso é voltado a PC’s e servidores. Possui ferramentas e APIs 
essenciais para qualquer aplicação Java (inclusive GUI), é a mais indicada 
para quem quer aprender a linguagem; 
 Java Enterprise Edition (JEE): é voltado para redes, internet, intranets e 
afins. Possui bibliotecas para o acesso a servidores, sistemas de email, banco 
de dados e outros. Contém ferramentas e APIs para o desenvolvimento de 
aplicações distribuídas. Foi desenvolvia para suportar grande quantidade de 
usuários simultâneos; 
 Java Micro Edition (JME): é usado no desenvolvimento para dispositivos 
móveis ou portáteis como celulares e palmtops. 
 
JRE (Java Runtime Environment): 
 É necessário para executar aplicações Java; 
 É composto por uma JVM e um conjunto de bibliotecas que permite executar 
softwares em java. 
JDK (Java Development Kit): 
 Conjunto de utilitários que permite criar sistemas de software para a 
plataforma Java; 
 Possui uma JVM privada e alguns recursos para finalizar o desenvolvimento 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 26 
 
da aplicação Java. É o Kit de Desenvolvimento Java. 
 
 Deve ser descarregada pelos desenvolvedores, é formado pelo JRE e outras 
ferramentas como o compilador; 
 Colecção de ferramentas de linha de comando para, entre outras tarefas, 
compilar, executar e depurar aplicações Java; 
Para desenvolver em java é necessário descarregar e instalar o JDK na sua máquina 
(computador), para tal visite o site: http://www.oracle.com/technetwork/java/. É necessário 
descarregar e instalar o Kit de Desenvolvimento Java SE para resolver os exercícios deste manual 
e executar os exemplos. 
Algumas outras ferramentas do SDK: 
 Debugger: jdb, depurador simples de linha de comando; 
 Profiler: java –prof, opção do interpretador Java que gera estatísticas sobre 
uso de métodos em um arquivo de texto chamado java.prof; 
 Java Documentation Generator: javadoc, gera documentação em HTML 
(default) a partir de código-fonte Java; 
 Java Archiver: jar, extensão do formato ZIP; ferramenta comprime, lista e 
expande; 
 Applet Viewer: appletviewer, permite a visualização de applets sem 
browser; 
 HTML Converter: htmlconverter.jar, converte <applet> em <object> em 
páginas que usam applets; 
 Disassembler: javap, permite ler a interface pública de classes. 
http://www.oracle.com/technetwork/java/
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 27 
 
JVM (Java Virtual Machine): 
 Máquina imaginária que é implementada através de software emulador em 
uma máquina real; 
 Provê especificações de plataforma de hardware na qual compila-se todo o 
código java; 
 Permite que o software java seja uma plataforma independente, pois a 
compilação é feita por uma máquina genérica (JVM); 
 Entende e interpreta o bytecode; 
 Camada responsável por traduzir o que sua aplicação deseja fazer para as 
respectivas chamadas do sistema operacional onde ela encontra-se a 
executar no momento; 
 
 A aplicação executa sem nenhum envolvimento do SO, conversa apenas com 
a JVM. Esta gerencia os recursos computacionais, pois funciona como uma 
máquina real; 
 As máquinas virtuais utilizam uma estratégia de compilação chamada Just-in-
time Compilation (JIT), através da qual um código de máquina pode ser 
gerado diversas vezes durante o processamento de um programa, para 
melhorar a utilização dos recursos disponíveis em um determinado instante 
da execução. 
A forma de execução de uma aplicação depende: 
 da origem do código a ser executado (remoto ou local); 
Bytecode Java 
Máquina Virtual Java 
(Windows ou Linux) 
SO 
(Windows ou Linux) 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 28 
 
 da forma como foi implementada a JVM pelo fabricante usando java. 
 
 
 (Usando java tecnologia JIT, HotSpot, etc.) 
A primeira tarefa executada pela JVM é o carregamento das classes necessárias para rodar a 
aplicação. O Class Loader: 
 Carrega primeiro as classes nativas do JRE (APIs); 
 Depois carrega extensões do JRE: JARs em $JAVA_HOME/jre/lib/ext e classes 
em $JAVA_HOME/jre/lib/classes; 
 Carrega classes do sistema local (a ordem dos caminhos no CLASSPATH 
define a precedência); 
 Por último, carrega possíveis classes remotas. 
 Versões do java 
 Java 1.0 e 1.1 são as primeiras versões do Java, mas já traziam bibliotecas 
importantes comoo JDBC e o java.io; 
 Java 1.2 trouxe grande aumento no tamanho da API, e foi nesse momento 
em que trocaram a nomenclatura de Java para Java2, com o objectivo de 
diminuir a confusão que havia entre Java e Javascript (uma outra linguagem); 
 Java 1.3 e 1.4 e o Java 1.5, esta última passou a chamar-se Java 5, tanto por 
uma questão de marketing, como também devido à mudanças significativas 
na linguagem; 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 29 
 
 A última versão do Java disponível actualmente é a 8. 
 Bytecode 
É o código de máquina que é executado em qualquer máquina através da Máquina Virtual Java 
(JVM). 
O texto contendo código escrito em linguagem Java é traduzido em bytecode através do 
processo de compilação e é armazenado em um arquivo *.class chamado de Classe Java; 
 
 
F4 D9 00 03 0A B2 FE FF FF 09 02 01 01 2E 2F 30 62 84 3D 29 3A C1 
Figura: Bytecode Java (código de máquina virtual) 
 Coletor de lixo 
A memória alocada em Java não é liberada pelo programador, ou seja, objectos criados não são 
destruídos pelo programador. 
A criação de objectos em Java consiste em: 
1. Alocar memória no heap para armazenar os dados do objecto; 
2. Inicializar o objecto (via construtor); 
3. Atribuir endereço de memória a uma variável (referência); 
4. Mais de uma referência pode apontar para o mesmo objecto. 
 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 30 
 
 
Quando um objecto não tem mais referências apontando para ele, seus dados não mais podem 
ser usados, e a memória deve ser liberada; 
O colector de lixo irá liberar a memória na primeira oportunidade. 
 
Criação de um programa (Passo a Passo) 
1. (Editar), O programa é criado em um editor e armazenado em disco em um arquivo com 
extensão .java: 
 
2. Compilar: 
 
 
 
 
3. Carregar: 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 31 
 
 
 
4. Verificar: 
 
5. Executar: 
 
 
 
Como compilar? 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 32 
 
Para compilar é necessário usar o java compiler (linha de comando): 
1. javac NomeDaClasse.java 
2. javac -d .. /destino Um.java Dois.java 
3. javac -d .. /destino *.java 
4. javac -classpath c:\fontes -d ../destino *.java 
Como executar? 
Para executar é necessário usar o interpretador java (faz parte do JRE)*: 
1. java NomeDaClasse; 
2. java pacote.subpacote.NomeDaClasse; 
3. java -classpath c:\classes;c:\bin;. pacote.Classe; 
4. java -cp c:\classes;c:\bin;. pacote.Classe; 
5. java -cp %CLASSPATH%;c:\mais pacote.Classe; 
6. java -cp biblioteca.jar pacote.Classe; 
7. java -jar executavel.jar. 
Unidade 2.2: Introdução Prática 
Nesta seção será apresentado o exemplo de uma aplicação simples em Java (Aplicação 
HelloWorld), com o objectivo de mostrar: 
 Como escrever uma aplicação Java; 
 Como compilar uma aplicação Java; 
 Como executar uma aplicação Java. 
 Como escrever uma aplicação java 
Aplicação HelloWorld 
Esta mini-aplicação em Java imprime um texto na tela quando executada via linha de comando. 
 Digite o texto a baixo em um editor de texto simples, no caso do windows pode recorrer-
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 33 
 
se ao Notepad: 
 
HelloWorld.java 
Comentário de bloco 
 
 
 Salve o ficheiro com a extensão .java no directório em que pretende guardar seus 
ficheiros java, neste caso, o ficheiro encontra-se no directório “C:\isced\exemplos”: 
 
 Selecione “Save” para salvar o ficheiro: 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 34 
 
 
 Na imagem acima nota-se que ao salvar o ficheiro com a extensão .java, este é 
reconhecido como um JAVA File, diferentemente do ficheiro acima ao qual não foi 
especificada sua extensão. 
COMO COMPILAR UMA APLICAÇÃO JAVA 
 Para compilar e executar o código java, usaremos o cmd (prompt de comando do 
Windows). Antes, é necessário efectuar pequenas alterações na variável do ambiente, 
para tal, siga as instruções descritas neste link: http://pt.m.wikihow.com/Instalar-o-Kit-
de-Desenvolvimento-de-Software-Java-(JDK); 
 O passo a seguir é abrir o cmd no modo do administrador e indicar o diretório do ficheiro 
que se pretende compilar: neste caso, o ficheiro a compilar é o HelloWorld.java; 
 
 
 A seguir, compile o ficheiro através do comando javac, sem se esquecer de especificar a 
extensão .java, como mostra a imagem a baixo: 
 
http://pt.m.wikihow.com/Instalar-o-Kit-de-Desenvolvimento-de-Software-Java-(JDK)
http://pt.m.wikihow.com/Instalar-o-Kit-de-Desenvolvimento-de-Software-Java-(JDK)
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 35 
 
 O código foi compilado com sucesso e não foram encontrados erros. Caso tivessem sido 
detectados erros, a linha a seguir estaria a descrever a natureza do erro. Neste caso, o 
código foi compilado com sucesso e foi gerado um ficheiro .class (HelloWord.class) no 
mesmo directório do ficheiro .java: 
 
COMO EXECUTAR UMA APLICAÇÃO JAVA 
E para executar basta digitar o comando “java HelloWord”, a baixo: 
 
 Desta forma, podemos compilar qualquer aplicação java no nosso computador. É 
importante lembrar que após compilar o código, basta executar para usar a aplicação, 
não sendo necessário compilar novamente. 
Exercícios de AUTO-AVALIAÇÃO (Com respostas): 
1. O que é e pra que serve um algoritmo? 
2. Diga o que é um pseudocódigo e pra que serve. 
3. Complete as frases que se seguem com as palavras em falta: 
a. O comando ______ do JDK executa um aplicativo Java; 
b. O comando _________ compila um programa Java; 
c. Um arquivo de programa Java deve terminar com a extensão de arquivo 
_________; 
d. Quando um programa Java é compilado, o arquivo produzido pelo compilador 
termina com extensão de arquivo ________; 
e. O arquivo produzido pelo compilador Java contém _______ que são executados 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 36 
 
pela JVM. 
4. O termo Java pode ser usado para referir-se a: 
a. Uma ________________ orientada a objetos; 
b. Uma coleção de___________ para desenvolvimento de aplicações 
multiplataforma; 
c. Um ________ presente em browsers, mainframes; 
5. Cite e comente 5 características da linguagem Java. 
6. Diga o que é e de que é composta a API Java. 
7. Quantos e quais são os pacotes encontrados no pacote java? 
8. Diga o nome das três partes da plataforma Java abordadas neste capítulo e em que versão 
do Java deu-se a conhecer esta divisão. 
Respostas: 
1. Algoritmo é uma série de acções que obedecem certa ordem para resolver determinado 
problema, ou seja, uma sequência lógica que leva a resolução de um problema. Como a sua 
definição já diz, o algoritmo serve para indicar os passos a seguir para resolver um problema e a 
ordem de execução desses. 
2. Pseudocódigo é uma Linguagem informal, similar a língua quotidiana, conveniente e amigável ao 
usuário, usada para desenvolver algoritmos. 
3. As palavras em falta nas frases são: 
a. java; 
b. javac; 
c. . java; 
d. .class; 
e. bytecodes. 
4. Java pode ser usada para referir-se a: 
a. linguagem de programação; 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 37 
 
b. APIs (classes, componentes, frameworks); 
c. ambiente de execução. 
5. Algumas das características da Linguagem Java são: 
a. Simples e robusta (minimiza bugs e aumenta produtividade); 
b. Independente de plataforma, possui códigos fonte e objectos portáveis para 
diversas arquiteturas e sistemas operacionais; 
c. Suporte nativo a threads (+ simples, maior portabilidade); 
d. Coleta de lixo (menos bugs, mais produtividade); 
e. Código intermediário de máquina virtual interpretado. 
6. API Java: 
a. Conjunto de padrões de programação (classes e interfaces), que permite a 
construção e utilização de aplicativos de maneira não transparente ao usuário; 
b. As classes e interfaces que compõem a API do Java estão divididas em pacotes e 
cada um destes agrupa um conjunto de classes e interfaces que possuem 
propósitos comuns. 
7. No pacote java estão disponíveis 13 pacotes, nomeadamente: applet, awt, beans, io, lang, math, 
net, nio, rmi, security, sql, text e util. 
8. As três partes da plataforma Java abordadas neste capítulo são: JSE, JEE e JME, que surgiram 
com a versão 2 do Java. 
Exercícios de AVALIAÇÃO: 
1. Rotineiramente, usamos algoritmos para as mais diversas tarefas. Cite três algoritmos que 
podemos encontrar no dia-a-dia. 
2. Discorra sobre as formas de representação de algoritmos mais comuns, destacando suas 
vantagens e desvantagens. 
3. Que empresa foi responsável pela criação do Java e em que ano a linguagem foi lançada ao 
mercado? 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 38 
 
4. Qual era a finalidade da criação do Java? 
5. Fale das três categorias principais dos pacotes da API Java e da sua composição. 
6. Fale do JSE, JEE e JME. 
7. Fale de SDK, JDK e JRE. 
8. O que é Máquina Virtual Java ou Java Virtual Machine? 
9. Quantas versões do Java existem e qual é a última (indique o ano de lançamento de cada 
uma)? 
10. O que é Bytecode? 
11. Como funciona a coleta de lixo em Java? 
12. Explique o funcionamento de um programa java, a partir da sua criação até sua execução. 
13. Explique os passos a seguir para compilar um programa java pela linha de comando. 
14. Indique três limitações do Java. 
15. Que editores de texto podem ser usados para escrever códigos java? Fale das vantagens e 
desvantagens de cada um. 
16. Quais são os requisitos para compilar e correr uma aplicação java na minha máquina? 
17. Com base no programa HelloWorld apresentado, escreva um programa em Java que 
imprima o seu nome. 
TEMA III: TIPOS DE DADOS 
Objectivos: 
Aprender a trabalhar com os seguintes recursos do java: 
 Tipos primitivos; 
 Operadores; 
 Declaração e atribuição de valores; 
 Casting; 
 Caracteres especiais e palavras reservadas; 
 Comentários e Delimitadores em Java. 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 39 
 
Unidade 3.1: Tipos primitivos 
Tipos de dados primitivos são aqueles que já vem por definição na própria linguagem, isto é, não 
foram criados pelo programador. A cada variável em JAVA está associada a um tipo de dados. O 
tipo de dados define quais os valores que a variável pode conter. Se, por exemplo, dissermos 
que uma variável é do tipo Inteiro, não poderemos lá colocar um valor booleano ou um 
Caracter. 
Existem 8 tipos de dados primitivos em java divididos como mostra a figura a baixo: 
 
Lógicos: 
O tipo boolean pode representar dois estados: 
 Verdadeiro (TRUE); 
 Falso (FALSE). 
Inteiro: 
Em java, os inteiros podem ser representados de 5 formas: 
 Decimal; 
 Octal; 
 Hexadecimal; 
 ASCII; 
 Unicode. 
Exemplo: 
 // valor 2 em decimal; 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 40 
 
 // 0 indica que ele está representado em octal; 
 0xBACC // 0x indica que ele está representado em hexadecimal; 
 'A' // representação ASCII; 
 \u0061' // representação Unicode. 
Inteiro Longo 
Por padrão os inteiros são representados por int. Os tipos de dados inteiros assumem valores 
de acordo com as faixas da figura a baixo: 
 
Número Fracionário 
O tipo ponto-flutuante possui o valor double como padrão. Os números flutuantes possuem 
um ponto decimal ou um dos seguintes caracteres: 
 E ou e // expoente; 
 F ou f // float; 
 D ou d // double; 
Exemplos: 
 3.14 // tipo double; 
 6.02E23 // double com expoente; 
 2.718F // float; 1 
 23.4E+306D // double 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 41 
 
A baixo a tabela mostra os tipos e faixa de valores dos números fraccionários: 
 
Unidade 3.2: Operadores 
Operadores aritméticos: 
 
Operadores de Incremento e Decremento: 
 
 
 
 
 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 42 
 
 
Operadores Relacionais: 
 
Operadores Lógicos 
Operadores lógicos avaliam um ou mais operandos lógicos que geram um único valor final true 
ou false como resultado da expressão. A figura abaixo dá a entender como eles funcionam: 
 
Operador Condicional (?:) 
O operador condicional é também chamado de operador ternário. Tem 3 argumentos que juntos 
formam uma única expressão condicional. A estrutura de uma expressão utilizando um operador 
condicional é a seguinte: exp1?exp2:exp3. 
Precedência de Operadores 
Serve para indicar a ordem na qual o compilador interpretará os diferentes tipos de operadores, 
para que ele sempre tenha como saída um resultado coerente e não ambíguo: 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 43 
 
 
Declaração e atribuição de valores 
Nome da variável: 
 Deve ser iniciado por uma letra, _ ou $; 
 Seguido de letras, números, _ ou $; 
 Podem ter qualquer tamanho; 
 Não podem ser igual a uma palavra reservada. 
Sintaxe: tipo_de_dado nome_variável; 
Java é case sensitive. 
Ex: 
 int idade; //é válido 
 int _idade // é válido 
 int $idade // é valido 
 int 1 // é inválido 
 Na linguagem de programação Java, as variáveis devem ser declaradas para que possam 
ser utilizadas; 
 A declaração de uma variável envolve definir um nome único (identificador) dentro de um 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 44 
 
escopo e um tipo de valor, conforme os tipos de dados usados em java; 
 Opcionalmente, pode atribuir-lhe um valor inicial; 
 Pode-se declarar várias variáveis de mesmo tipo na mesma linha, separando com vírgula. 
Ex: int idade, _idade; // é válido 
 As variáveis são acessadas pelos nomes e armazenam valores compatíveis com o seu tipo; 
 Em Java, toda variável tem um tipo que não pode ser mudado, uma vez declarado. 
Exemplo: int idade //esta é uma variável inteira e após sua declaração não poderá deixar 
de ser inteira. 
 A variável pode ser usada atribuindo-à valores. Exemplo: idade = 10; 
 O valor atribuído a variável pode ser usado por outras variáveis, pode ser lançado à tela, 
etc. Ex: int soma, media; soma = 10; media = soma/2; 
 As variáveis são acessadaspelos nomes e armazenam valores compatíveis com o seu tipo; 
 A declaração de uma variável pode ser realizada em qualquer linha de um bloco; 
 Não é necessário declarar todas as variáveis no começo do bloco como acontece em 
algumas linguagens de programação; 
 Não podemos declarar duas variáveis com o mesmo nome em um único bloco ou escopo 
pois ocorrerá um erro de compilação; 
 O escopo define onde a variável é visível (onde podemos ler/atribuir seu valor); 
 O escopo de uma variável vai do “{“ anterior à sua declaração até o próximo “}”. 
Inicialização de Variáveis 
 Toda variável deve ser inicializada antes de ser utilizada pela primeira vez; 
 A inicialização é realizada através do operador de atribuição 
= Esse operador guarda um valor em uma variável; 
 O exemplo anterior serve de exemplo pra este ponto. 
Notas: 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 45 
 
 Para as variáveis dos tipos primitivos do Java, o valor que elas guardam é o real 
conteúdo da variável. Ao utilizar o valor de atribuição =, o valor será copiado; 
 Os tipos primitivos do Java são armazenados na pilha e o Java não é OO pura por 
causa deles; 
 O escopo da variável é o nome dado ao trecho de código em que aquela variável 
existe e onde é possível acessá-la. 
Atribuição de valores 
Quando realizamos uma atribuição: x = y: 
 Java faz a cópia do valor da variável da direita para a variável da esquerda para tipos 
primitivos, isso significa que alterações em x não implicam alterações em y; 
· Ex: 
 
 Para objectos, como o que é copiado, é a referência para o mesmo objecto, alterações no 
objecto que x referencia alteram o objecto que y referencia, pois é o mesmo objecto. 
Ex: public class Exemplo { 
public static void main(String[] args) { 
int x, y; 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 46 
 
x = 10; 
y = x; 
y = 20; 
System.out.println("Valor de x:" + x); 
 
System.out.println("Valor de y:" + y); 
 } 
} 
Resultado: 
 
Strings em Java 
Java não possui tipo primitivo para cadeia de caracteres, mas existe a classe String. Esta classe 
tem tratamento especial: 
 Construção facilitada usando literais (""). Operador de concatenação; 
 Conversão automática de tipos primitivos e objectos para String; 
 Não podemos mudar o valor de um caractere da string. Podemos somente criar outra 
string; 
Casting 
Alguns valores são incompatíveis ao tentar fazer uma atribuição directa. 
Enquanto um número real costuma ser representado em uma variável do tipo double, tentar 
atribuir ele a uma variável int não funciona porque é um código que diz: "i deve valer d”, mas 
não se sabe se d realmente é um número inteiro ou não. 
Exemplo: double d = 3.1415; 
int i = d; // não compila 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 47 
 
O mais interessante, é que nem mesmo o seguinte código compila: double d = 5; 
int i = d; // não compila; 
O exemplo: int i = 5; 
double d2 = i; //compila sem problemas, já que um double pode guardar um número com ou 
sem ponto flutuante. 
Às vezes, precisamos que um número quebrado seja arredondado e armazenado num número 
inteiro. Para fazer isso sem que haja o erro de compilação, é preciso ordenar que o número 
quebrado seja moldado (casted), como um número inteiro. Esse processo recebe o nome de 
casting: 
 double d3 = 3.14; int i = (int) d3; 
 O casting foi feito para moldar a variável d3 como um int; 
 O valor de i agora é 3; 
 O mesmo ocorre entre valores int e long: long x = 10000; 
int i = x; // não compila, pois pode estar perdendo informação. E, se quisermos realmente 
fazer isso, fazemos o casting: long x = 10000; int i = (int) x; 
 Precisamos do casting porque o Java faz as contas e vai armazenando sempre no maior 
tipo que apareceu durante as operações, no caso o double; 
 No mínimo, o Java armazena o resultado em um int, na hora de fazer as contas; 
 Casting com variáveis do tipo char pode ocorrer. O único tipo primitivo que não pode 
ser atribuído a nenhum outro tipo é o boolean. 
Castings possíveis 
Na tabela a baixo estão relacionados todos os casts possíveis na linguagem Java, mostrando a 
conversão de um valor para outro. A indicação Impl. quer dizer que aquele cast é implícito e 
automático, ou seja, não precisamos indicar o cast explicitamente (lembrando que o tipo 
booleano não pode ser convertido para nenhum outro tipo): 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 48 
 
 
Ex: public class Exemplo { 
public static void main(String[] args) { 
 int x; 
 double y; 
 x = 20; 
 y = x; 
 System.out.println("Valor de x:" 
 + x); 
 System.out.println("Valor de y:" + y); 
 } } 
 
 
Unidade 3.3: Caracteres especiais e palavras reservadas 
PALAVRAS RESERVADAS 
Modificadores de acesso: 
 private: acesso apenas dentro da classe; 
 protected: acesso por classes no mesmo pacote e subclasses; 
 public: acesso de qualquer classe. 
Modificadores de classes, variáveis ou métodos: 
 abstract: classe que não pode ser instanciada ou método que precisa ser 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 49 
 
implementado por uma subclasse não abstracta; 
 class: especifica uma classe; 
 extends: indica a superclasse que a subclasse está estendendo; 
 final: impossibilita que uma classe seja estendida, que um método seja sobrescrito ou 
que uma variável seja reinicializada; 
 implements: indica as interfaces que uma classe irá implementar; 
 interface: especifica uma interface; 
 native: indica que um método está escrito em uma linguagem dependente de 
plataforma, como o C; 
 new: instancia um novo objecto, chamando seu construtor; 
 static: faz um método ou variável pertencer à classe ao invés de às instâncias; 
 strictfp: usado em frente a um método ou classe para indicar que os números de ponto 
flutuante seguirão as regras de ponto flutuante em todas as expressões; 
 synchronized: indica que um método só pode ser acessado por uma thread de cada 
vez; 
 transient: impede a serialização de campos; 
 volatile: indica que uma variável pode ser alterada durante o uso de threads; 
 Controle de fluxo dentro de um bloco de código: 
 break: sai do bloco de código em que ele está; 
 case: executa um bloco de código dependendo do teste do switch; 
 continue: pula a execução do código que viria após essa linha e vai para a próxima 
passagem do loop; 
 default: executa esse bloco de código caso nenhum dos teste de switch-case seja 
verdadeiro; 
 do: executa um bloco de código uma vez, e então realiza um teste em conjunto com o 
while para determinar se o bloco deverá ser executado novamente; 
 else: executa um bloco de código alternativo caso o teste if seja falso; 
 for: usado para realizar um loop condicional de um bloco de código; 
 if: usado para realizar um teste lógico de verdadeiro o falso; 
 instanceof: determina se um objeto é uma instância de determinada classe, 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 50 
 
superclasse ou interface; 
 return: retorna de um método sem executar qualquer código que venha depois desta 
linha (também poderetornar uma variável); 
 switch: indica a variável a ser comparada nas expressões case; 
 while: executa um bloco de código repetidamente enquanto a condição for verdadeira. 
 Tratamento de erros 
 assert: testa uma expressão condicional para verificar uma suposição do programador; 
 catch: declara o bloco de código usado para tratar uma excepção; 
 finally: bloco de código, após um try-catch, que é executado independentemente do 
fluxo de programa seguido ao lidar com uma excepção; 
 throw: usado para passar uma excepção para o método que o chamou; 
 throws: indica que um método pode passar uma excepção para o método que o 
chamou; 
 try: bloco de código que tentará ser executado, mas que pode causar uma excepção. 
 Controle de pacotes 
 import: importa pacotes ou classes para dentro do código; 
 package: especifica a que pacote todas as classes de um arquivo pertencem; 
 Primitivos 
 boolean: um valor indicando verdadeiro ou falso; 
 byte: um inteiro de 8 bits (signed); 
 char: um caracter unicode (16-bit unsigned); 
 double: um número de ponto flutuante de 64 bits (signed); 
 float: um número de ponto flutuante de 32 bits (signed); 
 int: um inteiro de 32 bits (signed); 
 long: um inteiro de 64 bits (signed); 
 short: um inteiro de 32 bits (signed). 
 Variáveis de referência 
 super: refere-se a superclasse imediata; 
 this: refere-se a instância actual do objecto; 
 Retorno de um método 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 51 
 
 void: indica que o método não tem retorno. 
 Palavras reservadas não utilizadas 
 const: Não utilize para declarar constantes; use public static final; 
 goto: não implementada na linguagem Java por ser considerada prejudicial; 
Literais reservados 
De acordo com a Java Language Specification, null, true e false são tecnicamente chamados de 
valores literais, e não keywords. Se tentar criar algum identificador com estes valores, terá um 
erro de compilação. 
Comentários e delimitadores em Java 
 Ignorados pelo compilador; 
 Usados pelo programador para melhorar a legibilidade do código. Existem três tipos: 
1. Comentários de uma linha: // ...; 
2. Comentários de múltiplas linhas: /* ... */; 
3. Comentários JavaDoc: /** ... */ – utilizados pela ferramenta javadoc para criar uma 
documentação HTML das classes, atributos e métodos. A ferramenta javadoc vem com 
o JDK; 
Caracteres especiais: 
 
Exercícios de AUTO-AVALIAÇÃO (Com Respostas): 
1. Quantos tipos primitivos existem em java e como estão divididos? 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 52 
 
2. Quantos e quais estados representam os tipos lógicos? 
3. Quais são os tipos de operador aritmétrico usados em Java? 
4. O que significa “Java é case sensitive”, que implicações isso traria no nosso código? Dê 
exemplo. 
5. Como é feita a inicialização de variáveis em Java e como funciona? 
6. Porquê o Java não é OO pura? 
7. Crie um programa que receba quatro números inteiros, calcule e mostre a soma desses 
números: 
Respostas: 
1. Existem 8 tipos de dados primitivos em java divididos em inteiro, lógico, inteiro longo e 
fracionário. 
2. Os tipos lógicos representam dois estados que são Verdadeiro (TRUE) e Falso (FALSE). 
3. Os tipos de operador aritmétrico usados em Java são o *, que representa multiplicação, / 
divisão, + adição, – subtracção e % módulo ou resto da divisão. 
Exemplo: a = 2 + b; 
4. “Java é case sensitive” significa que, a linguagem java faz a distinção entre caracteres 
maiúsculos e minúsculos. Ou seja, em Java, o “A” maiúsculo é diferente do “a” minúsculo. 
Devemos prestar atenção nas variáveis declaradas no nosso código, e usar os mesmos tipos 
de caracteres sempre que quisermos usá-la para evitar erros. 
5. A inicialização de variáveis em java é feita através do operador de atribuição =, que dá um 
valor inial à variável e permite que esta seja usada. 
6. O Java não é OO pura por possuir tipos primitivos, estes guardam o vaor real da variável e são 
armazenados na pilha. 
7. Programa que possui quatro números inteiros, calcula e mostra a soma desses números: 
public class Exercicio7 { 
 public static void main (String[] args) 
 { int n1, n2, n3, n4, soma; 
 n1 = 2; n2 = 4; 
 n3 = 6; n4 = 8; 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 53 
 
 soma = n1 + n2 + n3 + n4; 
 System.out.println"\n \t"+ soma + "\n"); 
 } } 
 Resultado: 
 
Exercícios de AVALIAÇÃO 
1. De que formas podem ser representados os dados inteiros? 
2. Quantos e quais tipos de operadores foram abordados? 
3. Diga pra que serve e como funciona a precedência de operadores. 
4. Diga o que é necessário para usar uma variável. 
5. Quais dos identificadores abaixo podem ser usados como nomes de classes, atributos, 
métodos e variáveis em Java? Quais não podem, e por quê? 
A. four 
B. for 
C. from 
D. 4 
E. FOR 
6. Quais dos identificadores abaixo podem ser usados como nomes de classes, atributos, 
métodos e variáveis em Java? Quais não podem, e por quê? 
A. dia&noite 
B. diaENoite 
C. dia & noite 
D. dia E noite 
E. dia_e_noite 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 54 
 
7. Quais dos identificadores abaixo podem ser usados como nomes de classes, atributos, 
métodos e variáveis em Java? Quais não podem, e por quê? 
A. contador 
B. 1contador 
C. contador de linhas 
D. Contador 
E. count 
8. De acordo com os conhecimentos já adquiridos, escolha o tipo de dado ou classe mais 
adequada para representar: 
A. O número de municípios de uma Província de Moçambique. 
B. O nome de uma Capital Provincial de Moçambique. 
C. A população de uma Região de Moçambique. 
D. A área de Moçambique em quilómetros quadrados. 
E. A população total do mundo. 
F. O nome de uma rua em um endereço de Moçambique. 
9. Considerando as tabelas apresentadas, escolha o tipo de dado ou classe mais adequada para 
representar: 
A. A altura de uma pessoa em metros. 
B. O peso de uma pessoa em quilos. 
C. A temperatura corporal de uma pessoa. 
D. O sexo de uma pessoa. 
E. A altura de uma pessoa em milímetros. 
10. Responda verdadeiro ou falso para cada uma das afirmações abaixo, explicando ou 
justificando a sua resposta. 
A. Um valor do tipo boolean pode receber o valor numérico zero. 
B. Um valor do tipo float pode armazenar valores maiores do que os que 
podem ser armazenados por um valor do tipo long. 
C. Podemos ter caracteres cujos valores sejam negativos. 
D. O número de bytes ocupados por uma variável do tipo float depende do 
computador e do sistema operacional sendo usado. 
E. O tipo char pode ser usado para representar pares de caracteres, uma vez 
 ISCED 
CURSO: GESTÃO DE SISTEMAS DE INFORMAÇÃO; 10 Ano 
Disciplina/Módulo: Programação I 
 55 
 
que variáveis desse tipo ocupam dois bytes na memória. 
F. Os tipos de dados double e long não são equivalentes, apesar de variáveis 
desses tipos ocuparem o mesmo espaço na memória. 
11. Identifique e explique o (s) erro (s) na classe abaixo e comente. 
class Registro De Eleitor 
 { 
 /** 
 * Declaração dos atributos desta classe 
 */ 
 int títuloDeEleitor; // número do título do eleitor 
 String nome; // nome do eleitor 
 short zonaEleitoral; // número da zona eleitoral 
 } // fim da classe 
12. Que elemento define onde a variável é visível, onde podemos ler/atribuir seu valor? Como é 
delimitado? 
13. Escreva um programa em

Outros materiais