Primeiro programa em Java (compilação e execução)



Documentos relacionados
Primeiro programa em Java (compilação e execução)

Faculdade de Computação Programação Orientada à Objetos 1 Laboratório de Programação Orientada à Objetos Prof. Fabíola Gonçalves Coelho Ribeiro

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA:

Introdução ao IDE Netbeans (Programação Java)

CURSO DE PROGRAMAÇÃO EM JAVA

Programação online em Java

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Lógica de Programação

Java Como Programar, 8/E

LINGUAGEM C UMA INTRODUÇÃO

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

Curso de Programação Computadores

Tutorial de instalação do Java 7 no Windows 7.

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

NetBeans. Conhecendo um pouco da IDE

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Java Linguagem de programação

Sintaxe Básica de Java Parte 1

Objetivos: Entender o funcionamento dos programas Java via linha de comando

PROGRAMAÇÃO JAVA. Parte 1

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

Organização de programas em Java. Vanessa Braganholo

2 Orientação a objetos na prática

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

Instalando e configurando o Java Development Kit (JDK)

AMBIENTE DE PROGRAMAÇÃO PYTHON

Introdução a conceitos e a prática de programação

Conceitos básicos da linguagem C

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Programação de Computadores - I. Profª Beatriz Profº Israel

Como Gerar documento em PDF com várias Imagens

Lógica de Programação

Linguagens de. Aula 02. Profa Cristiane Koehler

Um pouco do Java. Prof. Eduardo

1. Apresentação Objetivos

Projeto de Software Orientado a Objeto

Resumo da Matéria de Linguagem de Programação. Linguagem C

Tutorial Gerar arquivo PDF. Gerando um documento pdf com várias imagens 1- Inserir imagem no Word

2. O AMBIENTE DE PROGRAMAÇÃO EM C

Informática I. Aula 6. Aula 6-12/09/2007 1

Algoritmos e Programação Estruturada

Guião de Introdução ao Eclipse IDE Índice

EXEMPLO DE COMO FAZER UMA MALA DIRETA

Implementando uma Classe e Criando Objetos a partir dela

Roteiro 1: Dados, variáveis, operadores e precedência

5 Apresentando a linguagem C

CONVENÇÃO DE CÓDIGO JAVA

Instalando o J2SE 5.0 JDK no Windows 2000/XP

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

TUTORIAL COMO CRIAR E EDITAR UM VÍDEO NO WINDOWS MOVIE MAKER*

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

Organização de programas em Python. Vanessa Braganholo

Instalação do Java SDK (Software Development Kit)

MANUAL DO ANIMAIL Terti Software

Introdução a Java. Hélder Nunes

No final desta sessão o formando deverá ser capaz de aceder ao Word e iniciar um novo documento.

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Orientação a Objetos

Professora Martha Spalenza Professora de Informática da Faetec

Desenvolvendo Websites com PHP

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Curso de Linguagem C

Guia do Driver de Impressora Universal

Sumário INTRODUÇÃO Acesso ao Ambiente do Aluno Ferramentas e Configurações Ver Perfil Modificar Perfil...

Algoritmos com VisuAlg

PRODAV 05/2014 Passo a passo para inscrição do projeto

Lazarus pelo SVN Linux/Windows

Introdução ao FORTRAN (Parte I)

Aula Prática 1: Introdução ao Ambiente de Programação Dev-C++

Manual de Administração DPS Printer 2.1 NDDigital S/A - Software

Programação de Computadores. Professor Ilaim Costa Junior

RevISTa: Publicação técnico-científica do IST-Rio. nº 05 Data: Dezembro / 2012 ISSN

Noções sobre Objetos e Classes

CURSO B SICO DE PERL

Java Básico. Aula 1 por Thalles Cezar

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

INTRODUÇÃO À TECNOLOGIA SERVLETS

Tutorial para envio de comunicados e SMS

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng.

Resolução de problemas e desenvolvimento de algoritmos

Dicas para usar melhor o Word 2007

SUMÁRIO TUTORIAL DO HQ. 2 DICAS PEDAGÓGICAS:. 2 DOWNLOAD DA INSTALAÇÃO. 2 PASSO 1 FORMULÁRIO PARA DOWNLOAD. 2 PASSO 2 ESCOLHENDO A VERSÃO.

Prof. Esp. Adriano Carvalho

O Processo de Programação

Java para Desktop. Introdução à Plataforma Java JSE

Configurar o Furbot no Eclipse

Como usar o bluej. Laboratório I Prof.ª Vera Alves

Introdução. Servidor de Tempo (SNTP) com opção de horário de verão automático; 1 Cadastro do novo modelo de equipamento Urano Topmax SS

Programação de Computadores I. Conhecendo a IDE Code::Blocks

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

Fundamentos de Programação II. Introdução à linguagem de programação C++

Laboratório I Aula 2

ROTEIRO PARA INSCRIÇÃO NO AMBIENTE VIRTUAL DE APRENDIZAGEM (AVA) FASB-MOODLE. Elaborado por: Cristiano de Oliveira Farias Professor FASB

Transcrição:

Universidade Federal do ABC Disciplina: Linguagens de Programação (BC-0501) Assunto: Primeiro programa em Java (compilação e execução) Primeiro programa em Java (compilação e execução) Introdução Este roteiro de aula prática tem o objetivo de auxiliar o aluno a escrever, compilar e executar o seu primeiro programa na linguagem Java. Compilar significa traduzir o programa escrito em uma linguagem de programação de alto nível (ex: Java) em uma linguagem de máquina, que pode ser compreendida e executada pelo processador (ex: Intel Pentium) do computador em um determinado sistema operacional (aqui em Linux). No caso de Java, o programa não é compilado para uma plataforma (processador e sistema operacional) específica, mas para uma linguagem chamada bytecode de uma máquina virtual (JVM Java Virtual Machine). A máquina virtual é emulada em software em várias plataformas diferentes, de modo que um mesmo programa em bytecode pode ser executado em todas elas. Essa característica se chama portabilidade. O programa será digitado pelo aluno usando um editor de textos comum (ex: gedit ou Kate) e compilado manualmente através de linha de comando (terminal). Para os próximos programas em Java será utilizado um ambiente (aplicação) mais amigável, mas também mais complexo, chamado de IDE (Integrated Development Environment ou ambiente integrado de desenvolvimento). Em particular, apresentaremos o Netbeans. Preparativos iniciais Esta prática supõe que JDK (Java Standard Edition Development Kit). Caso não esteja, instalemos 1. Abra um terminal 2. Teste o compilador Java, digitando javac. Se uma mensagem grande, iniciada por Usage: javac <options> <source files> for impressa, então o compilador foi executado. Senão, uma mensagem de erro será apresentada. Exercício a Digitando o programa 3. Abra o gedit (clicando em Applications->Accessories->gEdit) ou outro editor simples que salve o texto e digite o programa abaixo (sem os números de linhas): 1 //Primeiro Programa em Java 2 public class OlaUfabc 3 { 4 public static void main(string args[]) 5 { 6 System.out.println("Viva UFABC em Linux"); 7 } 8 } 4. Explicação do programa: A linha 1 contem um comentário, pois é iniciada com //. A linha 2 contem a declaração da classe OlaUfabc. Por enquanto é suficiente entender que uma classe precisa das palavras reservadas public e class e que OlaUfabc é um nome qualquer, mas que como será visto adiante, precisa ser igual ao nome do arquivo que vai conter a classe. 1

Na linha 3, o caractere { (abre chaves) indica que tudo o vem a seguir pertence à classe OlaUfabc, até o seu encerramento com }. A linha 4 declara o método principal ( main ) dessa classe, que será executado quando o programa for iniciado. A declaração public static void main(string args[]) é necessária exatamente desta forma (com o tempo, cada palavra será compreendida, mas por enquanto é suficiente saber que isso é necessário). Nem todas as classes precisam ter um método main. Na linha 5, o caractere { (abre chaves) indica que tudo o vem a seguir pertence ao método main, até o seu encerramento com }. A linha 6 contem o comando System.out.println( Viva UFABC em Linux ); que imprime na tela (linha de comando) a mensagem Viva UFABC em Linux. System.out é um objeto de saída padrão e println um método que imprime um string (conjunto de caracteres) e passa para a próxima linha. Existem outros métodos para imprimir na tela como será visto a seguir, além de métodos para imprimir em janelas gráficas. Repare que não foi usada a crase, como seria necessário em bom português. No entanto, existem alguns problemas com relação à acentuação, principalmente quando se lida com programas que executam em linha de comando. Todos que já acessaram endereços na Internet, sem pontuação e cedilhas já experimentaram isso. As linhas 7 e 8 encerram o método main e a classe OlaUfabc, respectivamente. 5. Salve o programa com o nome OlaUfabc.java, sem as aspas em uma pasta de fácil acesso, como home/ufabc/desktop/. A extensão.java é obrigatória em programas Java. O nome antes da extensão deve obrigatoriamente ser igual ao nome da classe public, observando que existe diferença entre letras maiúsculas e minúsculas. Em inglês, diz-se que Java é case sensitive porque o compilador é sensível a diferenças entre letras maiúsculas (upper case) e minúsculas (lower case). Um arquivo pode conter várias classes, mas apenas uma delas deve ser declarada como public. Entretanto, é desaconselhado usar essa prática de programação, ou seja, recomenda-se usar apenas uma classe public em cada arquivo.java. Exercício b Compilando e executando o programa 6. Assumindo que o JDK está devidamente 7. Para compilar o programa, use o compilador javac digitando o comando: javac OlaUfabc.java Caso não haja nenhum erro, a tela voltará para o terminal de comando sem mostrar nenhuma mensagem. Mensagens de erro serão mostradas caso contrário (o que é mais comum, ou seja, é muito difícil, mesmo para programadores experientes, digitar um programa e não cometer nenhum tipo de erro de sintaxe). 8. Observe que, se não houver nenhum erro de compilação, um arquivo com o nome OlaUfabc.class é criado, contendo os bytecodes referente a este programa Java. ls OlaUfabc.class OlaUfabc.java 9. Para executar o programa, use o comando java", que carrega a JVM e interpreta os bytecodes. O comando e o seu resultado esperado são: java OlaUfabc Viva UFABC em Linux 2

Observe que a extensão.class não deve ser incluída no nome do arquivo. Caso contrário, ocorrerá um erro. Exercício c Observando e compreendendo mensagens de erro 10. As possibilidades para a ocorrência de erros quando se compila e executa um programa são muito grandes, e com a experiência se aprende a identificar e corrigir os mais comuns. Outros, no entanto, não são nada óbvios e freqüentemente consomem uma boa parte do tempo dos programadores. Alguns exemplos são apresentados a seguir (caso você ainda não os tenha experimentado). 11. Erros referentes ao nome do arquivo.java errado. javac OlhaUfabc.java (foi digitado Olha em vez de Ola ). error: cannot read: OlhaUfabc.java javac Ola Ufabc.java ( Ola Ufabc com um espaço em branco). javac: invalid flag: Ola Usage: javac <options> <source files>... 12. Erros referentes ao arquivo.class. Exclua o arquivo OlaUfabc.class (pode usar o comando rm"). java OlaUfabc Exception in thread "main" java.lang.noclassdeffounderror: OlaUfabc Essa mensagem estranha (por enquanto) significa que o arquivo OlaUfabc.class não foi encontrado. 13. Compile novamente o programa, com javac e digite o comando: java OlaUfabc.class Exception in thread "main" java.lang.noclassdeffounderror: OlaUfabc/class Dessa vez, o erro ocorreu porque foi digitada a extensão.class, que deve ser omitida.. 14. Erros referentes ao nome do arquivo diferente do nome da classe public. Faça uma cópia do programa OlaUfabc.java para algo como MeuPrograma.java e tente compilá-lo: javac MeuPrograma.java MeuPrograma.java:3: class OlaUfabc is public, should be declared in a file OlaUfabc.java public class OlaUfabc ^ Essa mensagem identifica um erro na linha 3 ( :3: ), porque a classe OlaUfabc é pública e deve ser declarada em um arquivo chamado OlaUfabc.java. Experimente também alterar o nome do arquivo OlaUfabc.java para letras minúsculas, ou seja, olaufabc.java. O compilador irá fazer a mesma reclamação. 3

15. Erros de sintaxe (escrita) no programa. Retire o caractere ; (ponto de virgula) do final da linha System.out.println( Viva UFABC em Linux );. javac OlaUfabc.java OlaUfabc.java:8: ';' expected } ^ Essa mensagem reclama da falta do ;. Uma pergunta que surge facilmente é: por que ele diz que o problema é na linha 8, antes do } e não na linha 7, depois do )? A reposta é que o ; não precisa necessariamente estar no final da linha e o compilador o procura nas próximas linhas até encontrar algo que não devia estar lá, no caso o }. Experimente incluir o ; antes do } na linha 8 ou abrir uma linha depois da linha 7 e antes da linha 8 atual e incluir somente o ;, para confirmar como isso funciona. No entanto, não é considerada uma boa prática de programação, porque dificulta a legibilidade e compreensão do programa. 16. Experimente introduzir outros erros de sintaxe, como por exemplo, remover o } final ou alterar uma palavra public para publica. Exercício d Alterando o programa 17. Como já foi mencionado, existem outros métodos para imprimir uma mensagem em uma tela de linha de comando, além do println, que serão explorados agora. 18. Faça uma cópia do programa OlaUfabc.java para OlaUfabc2.java. Lembre-se de alterar o nome da classe pública também. 19. Usando o método print. Substitua a linha: por 6 System.out.println("Viva UFABC em Linux "); 6 System.out.print ("Viva UFABC em "); 6.1 System.out.println (" Linux "); Compile o programa. O resultado deve ser igual ao programa anterior, porque o método print imprime a mensagem, mas não passa para a próxima linha 20. Substitua agora o método print por println e veja o resultado. As mensagens Viva UFABC em e Linux devem ser impressas em linhas diferentes agora. 21. Usando o método printf, para obter uma saída formatada. O printf consegue tratar de diferentes tipos de dados e não apenas strings (conjuntos de caracteres). Edite o arquivo chamado MeuPrograma.java criado anteriormente e faça as modificações indicadas a seguir. 22. Pulando de linha com a seqüência de escape \n. Use o comando printf da seguinte forma: 6 System.out.printf("Viva UFABC em Linux\n "); O \n dentro do printf informa que a saída deve passar para a próxima linha. Insira outros \n em outros pontos da mensagem para ver o efeito. Existem outras seqüências de escape, como \t, \r e \\. Experimente-as. Observe que essas seqüências funcionam também com print e println, mas são mais freqüentemente usadas com printf (por conta das origens na linguagem C). 23. Usando a saída formatada. Transforme a linha de impressão anterior em um comentário (com // ) e digite esta: System.out.printf("%s\n%s\n", " Viva UFABC ", " em Linux "); Agora o método printf está sendo invocado (usado) com 3 argumentos, separados por vírgulas. O primeiro argumento contém o string de argumento composto de especificadores 4

de formato (iniciados por % ) e seqüências de escape. Nesse caso, %s significa que vai ser formatado um string. Repare que existe dois %s no string de argumento e outros dois argumentos após ele. É necessário que haja um casamento entre a quantidade de especificadores de formato e de argumentos após o string de argumentos. Existem outros especificadores de formato, como para números inteiros (%d) e reais (%f). 24. Novamente comente a linha de impressão anterior (com // ) e digite esta: System.out.printf("%s\n%s%d\n%s%f\n", "Nome: Maria", "Idade: ", 19, "Altura: ", 1.69); Repare agora que a seqüência representa a formatação da saída e ficou mais complexa %s\n%s%d\n%s%3.2f\n. Existem cinco especificadores de formato e cinco argumentos após o string de argumento. Os tipos dos especificadores devem coincidir com os tipos dos argumentos, ou seja, por exemplo %s com Idade:, %d com 19 e %f com 1.69. Experimente trocar a idade (19) por um nome, para observar um erro de execução. Porém, nem sempre ocorrem erros desse tipo para nos avisar, porque Java tenta fazer conversão de tipos em tempo de execução. Algumas vezes o programa fica com um erro de lógica e pode imprimir resultados incorretos, inclusive em relatórios importantes (imagine, no balanço de uma empresa, ou nome seu contra-cheque!). Para a altura ser impressa apenas com duas casas decimais, substitua %f por %.2f. Outra maneira de obter o mesmo efeito, mas misturando as mensagens com o string de argumento e separando dos verdadeiros valores é: System.out.printf( Nome: %s\nidade: %d\naltura: %3.2f\n, Maria", 19, 1.69); Exercício para casa 1. Uma prática comum entre programadores é que o seu primeiro programa em uma linguagem de programação deve dizer olá para o mundo, em inglês Hello world!. Escreva um programa que imprima essa mensagem, lembrando-se de coincidir o nome do arquivo com o nome da classe. Faça pelo menos três versões desse programa, para usar os métodos System.out.print, System.out.println e System.out.printf. 2. Escreva um programa que imprime os números de 1 a 10 em uma linha e de 11 a 20 na linha seguinte. Os números devem ter um espaço de alguns caracteres entre eles e os de baixo devem estar alinhados com os de cima. Dica: use a seqüência de escape \t para que os números se posicionem em marcas de tabulação pré-definidas. 3. No programa anterior, os números de baixo foram alinhados aos de cima pela esquerda, quando o comum para números é o alinhamento pela direita. Escreva um programa que faça o alinhamento pela direita. Dica: Use o especificador de formato %d indicando a quantidade de dígitos que o numero deve ter que você obterá o alinhamento pela direita. 4. Faça um programa que imprima a seguinte operação matemática: 123 + 8 --- 131 5