José Roberto Madureira Junior Adaní Cusin Sacilotti Adriana Rodrigues Reginaldo Sacilotti Desenvolvendo aplicações Java Primeira Edição São Paulo 2017
Sumário 1 INTRODUÇÃO AO JAVA... 1 1.1 A PLATAFORMA JAVA... 1 1.2 PREPARAÇÃO DO AMBIENTE DE DESENVOLVIMENTO... 2 1.3 EXECUTANDO OS PROGRAMAS... 4 2 INICIANDO O DESENVOLVIMENTO COM JAVA... 8 2.1 DELIMITADORES... 8 2.2 SAÍDA DE DADOS... 8 2.3 ENTRADA DE DADOS... 9 2.4 COMENTÁRIOS... 10 2.5 OPERADORES... 11 2.6 VARIÁVEIS... 12 2.7 EXERCÍCIOS RESOLVIDOS - VARIÁVEIS E OPERADORES 13 3 ESTRUTURAS DE CONTROLE CONDICIONAL... 18 3.1 OPERADORES RELACIONAIS E LÓGICOS... 18 3.2 IF... ELSE... 19 3.3 SWITCH...CASE... 20 3.4 EXERCÍCIOS RESOLVIDOS - ESTRUTURAS DE CONTROLE CONDICIONAL... 21 4 ESTRUTURAS DE CONTROLE REPETIÇÃO... 27
4.1 WHILE... 27 4.2 DO... WHILE... 27 4.3 FOR... 28 4.4 EXERCÍCIOS RESOLVIDOS - ESTRUTURAS DE CONTROLE REPETIÇÃO... 29 5 MANIPULANDO ARRAYS... 35 5.1 ARRAY... 35 5.2 FOREACH... 36 5.3 EXERCÍCIOS RESOLVIDOS - MANIPULANDO ARRAYS... 37 6 MÉTODOS DEFINIDOS PELO USUÁRIO... 43 6.1 MÉTODOS... 43 6.2 EXERCÍCIOS RESOLVIDOS - FUNÇÕES DEFINIDAS PELO USUÁRIO... 44 7 MÉTODOS INTERNOS... 47 7.1 MÉTODOS INTERNOS DO JAVA... 47 7.2 MÉTODOS PARA MANIPULANDO DE STRINGS... 47 7.3 FUNÇÕES PARA MANIPULAÇÃO DE ARRAYS... 49 7.4 FUNÇÕES MATEMÁTICAS... 49 7.5 EXERCÍCIOS RESOLVIDOS - FUNÇÕES INTERNAS... 50 8 RECEBENDO DADOS COM FORMULÁRIOS... 54 8.1 CRIANDO UMA APLICAÇÃO GRÁFICA COM JAVA... 54 8.2 RECEBENDO INFORMAÇÕES... 60
8.3 EXERCÍCIOS RESOLVIDOS - RECEBENDO DADOS COM FORMULÁRIOS... 61 9 TRATAMENTO DE ERROS... 64 9.1 TRATANDO ERROS EM JAVA... 64 9.2 EXERCÍCIOS RESOLVIDOS - TRATAMENTO DE ERROS 65 10 MANIPULAÇÃO DE ARQUIVOS TEXTO... 68 10.1 ESCRITA DE ARQUIVOS TEXTO... 68 10.2 LEITURA DE ARQUIVO TEXTO... 69 10.3 EXERCÍCIOS RESOLVIDOS - MANIPULAÇÃO DE ARQUIVOS TEXTO... 71
1 INTRODUÇÃO AO JAVA A linguagem de programação Java foi criada na década de 90 pela Sun Microsystems em um projeto com finalidade bem diferente, mas que posteriormente se mostrou muito eficiente para rodar pequenas aplicações dentro do browser. Em 2009, a Oracle comprou a Sun, fortalecendo a marca. Por tratar-se de uma linguagem de alto nível, tornou-se muito popular por conta da sua portabilidade, segurança, alta performance e principalmente, por sua robustez. O desenvolvimento do livro foi baseado no Java utilizando como ambiente integrado de desenvolvimento (IDE) o NetBeans, também desenvolvido pela Sun Microsystems. No site oficial da Oracle (https://docs.oracle.com/javase/8/) estão disponíveis documentações e recursos interessantes para o aprendizado da linguagem. Serão expostos conceitos e aplicações práticas através de exercícios para o desenvolvimento de projetos. Esperamos que ao final deste livro, possamos ter contribuído para ampliar os conhecimentos do leitor nesta fascinante linguagem de programação. 1.1 A PLATAFORMA JAVA Antes de iniciarmos a instalação é importante entendermos a plataforma Java. Podemos definir uma plataforma como um 1
ambiente de hardware e software em que um programa é executado. No caso de Java, conforme já mencionamos, pode ser executado sobre diversas plataformas como Microsoft Windows, Linux, Solaris, Mac e muitas outras. Essa possibilidade deve-se pelo fato dos programas construídos utilizando a linguagem Java rodarem sobre a JVM (Java Virtual Machine), conforme descrito na Figura 1. Figura 1 Arquitetura da Java Virtual Machine 1.2 PREPARAÇÃO DO AMBIENTE DE DESENVOLVIMENTO O ambiente de desenvolvimento do Java está dividido na instalação do JDK (Java Development Kit) que é a ferramenta de desenvolvimento, sendo composta pelo Java Runtime Environment, o compilador Java e as APIs Java. A última versão do JDK pode ser baixada no endereço www.oracle.com/technetwork/java/javase/downloads/index.html, conforme mostrado na Figura 2. 2
Figura 2 - Página de download do Java Development Kit. Para evitar o uso de comandos e extensos procedimentos utilizaremos ao longo desse livro o Netbeans IDE. O Netbeans é a IDE hoje também pertencente a própria Oracle e uma das mais populares IDEs do mercado. As IDEs são ferramentas que têm por objetivo agilizar o desenvolvimento dos programas, reconhecer erros de sintaxe e agilizar o desenvolvimento de software, com autopreenchimento de comandos e funções. O instalador da última versão do NetBeans IDE está disponível no endereço https://netbeans.org/downloads/, conforme mostrado na Figura 3. 3
Figura 3 - Página de download do NetBeans IDE. Nos exemplos desenvolvidos ao longo desse livro será utilizada a primeira opção Java SE, que satisfaz plenamente os recursos explorados nos exemplos. 1.3 EXECUTANDO OS PROGRAMAS Posteriormente a instalação do JDK e do Netbeans, podemos iniciar o desenvolvimento de aplicações com Java, mas antes precisamos abrir o NetBeans e criar um novo projeto. Para criarmos um novo projeto, é preciso clicar no menu Arquivo e posteriormente em Novo Projeto..., onde será apresentada a tela inicial de criação 4
de projetos onde pode ser escolhido o tipo do projeto, conforme é apresentado na Figura 4. Figura 4 - Tela inicial do NetBeans IDE. Em categorias, selecione a opção Java e no item projetos, escolha Aplicação Java e clique no botão próximo. Será apresentada a tela e será indicado o local onde será salvo o projeto e onde pode ser definido o nome do mesmo, conforme apresentado na Figura 5. O nome do projeto deve ser definido como Exemplo1 e por fim, é preciso clicar no botão Finalizar, realizando a criação do projeto. 5
Figura 5 - Tela de Criação de Novo Projeto. Com o NetBeans aberto, digite o trecho de código descrito abaixo: package exemplo1; public class Exemplo1 { public static void main(string[] args) { System.out.println("Desenvolvendo aplicações em Java"); } } Após a digitar o trecho do código acima, vá ao menu Executar e no item Executar Projeto (Exemplo1). A Figura 6 6
apresenta o resultado do processamento da aplicação, simulando a saída de dados em console. Figura 6 - Execução do programa Exemplo1 7
2 INICIANDO O DESENVOLVIMENTO COM JAVA Agora que conhecemos um pouco mais do Java, temos o ambiente de desenvolvimento instalado, vamos iniciar os primeiros passos na linguagem. A Linguagem Java é case sensitive, ou seja, existe quando se utiliza letras minúsculas e maiúsculas. 2.1 DELIMITADORES Para delimitar o código escrito em Java, utilizamos public static void main(string[] args), que é o cabeçalho do método principal de um projeto. Desta forma, serão executados os comandos em sequência lógica que estiverem escritos a partir do início do desenvolvimento deste método, delimitados por chaves { }, conforme o exemplo a seguir: public static void main(string[] args) { System.out.println("Olá! Sejam bemvindos..."); } Outro delimitador que observaremos no trecho de código é o ponto e vírgula, que delimita o final de uma linha de código. 2.2 SAÍDA DE DADOS A saída de dados é utilizada para exibir uma informação ou solicitar a entrada de dados, ou seja, informar e expor informações 8
para o usuário. O método System.out.print(); é o responsável por apresentar informações quando executamos nosso projeto. System.out.println(); pula uma linha após a exibição de uma informação. Podemos usar o \n para pular linha, antes e/ou depois que for exibida a mensagem. Exemplo: System.out.println("Olá! \n Sejam bem vindos..."); 2.3 ENTRADA DE DADOS A entrada de dados é utilizada para receber uma informação do usuário e armazená-la em uma variável. O método Nome_Leitor.nextLine(); é o responsável por ler estas informações quando executamos nosso projeto. Porém antes de realizar a leitura de dados, temos que criar no leitor Scanner Nome_Leitor = new Scanner(System.in); e adicionar import java.util.scanner; abaixo da linha do package. Toda informação capturada sempre será do tipo string. Exemplo: string Variável = Nome_Leitor.nextLine(); Para capturarmos informações do tipo Inteiro devemos utilizar o comando nextint ou nextdouble para capturar informações do tipo double. 9
Conforme já vimos anteriormente, toda a informação capturada pelo Nome_Leitor.nextLine(); é reconhecida como uma string. Portanto, para que a informação seja armazenada em uma variável de outro tipo (diferente de string), temos que aplicar a conversão de tipo adequada a cada necessidade. Exemplo de conversão: int i = Integer.parseInt(Nome_Leitor.nextLine()); // Conversão de string para int Mais alguns exemplos de conversões double d = Double.parseDouble(Nome_Leitor.nextLine()); //Conversão de string para double boolean b = Boolean.parseBoolean(Nome_Leitor.nextLine()); //Conversão de string para boolean 2.4 COMENTÁRIOS Os comentários são trechos que são ignorados na execução dos programas pela linguagem. Desta forma, são úteis para documentarmos o código, por exemplo, explicando o que aquele trecho de código pretende realizar. 10