Explicações de Java eduardoleal.com Capítulo 4: Bibliotecas. Nova entrada e saída de dados. Índice de Conteúdos 1. Introdução. Saída e entrada de dados. 2. Instruções condicionais. Vetores e ciclos. 3. Programação orientada a objetos. Classes. 4. Bibliotecas. Nova entrada e saída de dados. 5. Ficheiros. 6. Estudo Futuro. Lista dos Cursos Online Pág. 1 de 5 Explicações de Java eduardoleal.com Capítulo 4: Bibliotecas. Nova entrada e saída de dados. 4.1. Bibliotecas No capítulo anterior usou-se uma classe definida pelo programador para guardar dados referentes, neste caso, a pessoas. Essa será uma tarefa frequente em programação orientada a objetos: ver que conceitos intervêm e que classes são necessárias para implementar, no programa, esses conceitos. No entanto, existem já muitas classes definidas no Java. Uma já usada logo desde o primeiro programa é a classe System. Em http://docs.oracle.com/javase/7/docs/api/allclasses-noframe.html está disponível informação sobre as classes do Java. A classe System tem três campos: err, in e out. Ainda não usámos o campo err mas os campos in e out já foram usados. Um campo de uma classe pode ser um objeto de qualquer classe. Neste caso o campo in é um objeto da classe InputStream e o campo out é um objeto da classe PrintStream. A classe PrintStream tem vários métodos e um deles é print(), outro é println(). Por isso usou-se no primeiro programa a instrução: System.out.println("Este é o meu primeiro programa em Java!"); No próximo programa vai usar-se uma classe também muito importante, a classe String. Código Progcap4_001.java A instrução: String nome = new String(“Manuel António”); Lista dos Cursos Online Pág. 2 de 5 Explicações de Java eduardoleal.com cria um objeto da classe String chamando um dos vários construtores disponíveis. Neste programa define-se também uma classe Aluno, que tem dois campos, nome e turma, ambos objetos da classe String. O construtor da classe Aluno recebe dois argumentos, String, que guarda nas variáveis da classe Aluno. A classe Aluno tem ainda duas funções getNome() e getTurma() para aceder ao valor das variáveis, que sendo definidas como private não estão disponíveis na classe onde está a função main(). Se os valores não estão disponíveis muito menos poderão ser modificados donde faz sentido definir a função setTurma(String turma) para prever a possibilidade de um aluno mudar de turma. Pode compilar-se e executar para ver o resultado. Execução Progcap4_001 4.2. Nova entrada e saída de dados. As funções read() e write(), usadas em programas anteriores para a entrada e saída de dados, são métodos respetivamente dos campos in e out da classe System. No que diz respeito a simplicidade de utilização, não são propriamente as melhores funções para efetuar as tarefas de entrada e saída de dados. No próximo programa vai usar-se a classe Scanner para, mais facilmente, fazer a entrada de dados. A classe System fica disponível de forma automática. O mesmo não se passou com a classe IOException, usada no programa Progcap1_004.java. Também a classe Scanner não fica disponível de forma automática e é preciso usar a instrução: import java.util.Scanner; Para definir um objeto da classe Scanner usa-se: Scanner leitor = new Scanner(System.in); No objeto leitor ficam disponíveis vários métodos úteis para a entrada de dados. Assim, para que o utilizador introduza uma String usa-se a instrução: nome = leitor.nextLine(); onde nome é um objeto da classe String. Para que o utilizador introduza um inteiro usa-se a instrução: num = leitor.nextInt(); onde num é um objeto da classe Integer. Poderia ter-se usado num como sendo uma variável do tipo int. A vantagem em usar um objeto da classe Integer() em vez de uma variável do tipo int é ficarem disponíveis Lista dos Cursos Online Pág. 3 de 5 Explicações de Java eduardoleal.com vários métodos do objeto da classe Integer(). Código Progcap4_002.java (1ª parte) Compila-se o programa e executa-se como habitualmente: Lista dos Cursos Online Pág. 4 de 5 Explicações de Java eduardoleal.com Execução Progcap4_002 Na classe Aluno definiu-se agora um método, imprime(), para facilmente escrever no monitor toda a informação de cada aluno. Lista dos Cursos Online Pág. 5 de 5