INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A LINGUAGEM JAVA Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso Técnico de Informática-Integrado 19/08/2016
SUMÁRIO Conceitos Básicos POO em Java
JAVA Conceitos Básicos
HISTÓRICO A linguagem de programação Java foi criada em 1991 por James Gosling Inicialmente a linguagem iria chamar-se Oak (Carvalho) em referência a árvore que era visível pela janela de James Gosling. A mudança de nome ocorreu pois já existia uma linguagem de programação com este nome, então a linguagem foi rebatizada para Java.
CARACTERÍSTICAS Linguagem de programação orientada a objetos; a exceção dos seus tipos primitivos, tudo são classes ou instâncias de uma classe. Oferece mecanismos de abstração, encapsulamento e hereditariedade Ambiente de desenvolvimento composto pelo compilador, interpretador, gerador de documentação e etc.; Ambiente de execução que pode ser praticamente qualquer máquina que possua Java Runtime Environment (JRE) instalado, uma máquina virtual Java (JVM); Independente de plataforma;
CARACTERÍSTICAS A linguagem Java é muito familiar para os programadores C/C++ ; Aplicações Java são executadas em ambiente próprio (JRE) o que inviabiliza a intrusão de código malicioso; Mais segurança Sem ponteiros. A manipulação dos endereços de memória (alocação e desalocação de memória) ficam por conta da JVM. A JVM possui um mecanismo (garbage collector) que recupera a memória alocada para objetos não referenciados pelo programa Permite Multithreading; Java permite a execução de múltiplas rotinas concorrentemente, bem como mecanismos de sincronização de tais rotinas
MÁQUINA VIRTUAL JAVA - JVM A máquina virtual java (JVM) é uma máquina imaginária que emula uma aplicação em uma máquina real. É a JVM que permite a portabilidade do código Java, isto ocorre porque todo código Java é compilada para um formato intermediário, bytecode, este formato é então interpretado pela JVM. Cada Sistema Operacional que tenha uma JVM instalada pode executar o código Java
COLETOR DE LIXO GARBAGE COLLECTION Em muitas das linguagens de programação, inclusive C e C++, a responsabilidade pela liberação do espaço que não mais será utilizado é do programador nem sempre é fácil gerenciar o que está e o que não está sendo utilizado a má gerência da memória ocasiona muitas vezes o estouro de pilha (stack overflow) entre outros problemas. Na linguagem de programação Java a responsabilidade pela gerência da memória é do Coletor de lixo (Garbage Collector)
FASES DE UM PROGRAMA JAVA 1. Criação do código fonte (Programa.java); 2. Compilação do código fonte e geração do bytecode (Programa.class); 3. Interpretação do bytecode pela máquina virtual; 4. Conversão do bytecode em linguagem de máquina.
HOTSPOT As informações, relativas ao ambiente no qual a aplicação está sendo executada, são utilizadas pela JVM para fazer otimizações em tempo de execução e havendo necessidade o código que está sendo interpretado é transformado em instruções nativas do sistema operacional (código de máquina) em um processo de compilação dinâmica. Esta transformação em tempo de execução é realizada pelo JIT, Just-in-time compiler. O fato do código (bytecode) ser transformado, em tempo de execução, em código de máquina permite que a JVM mude a estratégia de compilação em busca de um melhor desempenho, em um ciclo de aprendizado contínuo.
JRE E JDK JRE: O Java Runtime Environment contém tudo aquilo que um usuário comum precisa para executar uma aplicação Java (JVM e bibliotecas), como o próprio nome diz é o Ambiente de execução Java ; JDK: O Java Development Kit é composto pelo JRE e um conjunto de ferramentas úteis ao desenvolvedor Java.
VERSÕES DO JAVA JDK 1.0 (1996): Primeira versão; JDK 1.1 (1997): Adição das bibliotecas JDBC, RMI e etc; J2SE 1.2 (1998) - Playground: A partir daqui todas as versões Java foram denominadas de Java 2 Standard Edition e foi adicionado o Framework Collections e etc.; J2SE 1.3 (2000) Kestrel: Inclusão das bibliotecas JNDI, JavaSound e etc.; J2SE 1.4 (2002) Merlin: Palavra reservada assert, biblioteca NIO e etc.; 6. J2SE 5.0 (2004) Tiger: Apesar da versão ser 1.5, agora é chamada apenas de 5. Adições importantes como: Enumeração, Autoboxing, Generics, for-each e etc; 7. JSE 6 (2006) Mustang: Entre outras alterações houveram mudança na nomenclatura (remoção do 2 J2SE) e melhora significativa na performance.
FERRAMENTAS DO JDK javac: Compilador da linguagem Java; java: Interpretador Java; jdb: Debugador Java; java -prof: Interpretador com opção para gerar estatísticas sobre o uso dos métodos; javadoc: Gerador de documentação; jar: Ferramenta que comprime, lista e expande; appletviewer: Permite a execução e debug de applets sem browser; javap: Permite ler a interface pública das classes; extcheck: Detecta conflitos em arquivos Jar.
INSTALAÇÃO DO JDK Download: http://www.oracle.com JAVA_HOME: Indica o diretório onde foi instalado o JDK, muito utilizado por frameworks e por outros programas para localizar o JDK; PATH: Identifica o local onde encontram-se as ferramentas de desenvolvimento (compilador, interpretador, gerador de documentação e etc.), devemos adicionar o diretório JAVA_HOME\bin; CLASSPATH: Identifica diretório onde o ClassLoader pode encontrar classes que são utilizadas pela sua aplicação.
IDE NETBEANS
REQUISITOS BÁSICOS JDK Instalado Máquina com uma capacidade de processamento razoável
INSTALAÇÃO DO JDK Baixar o JDK do site da sun: http://www.oracle.com Iniciar o processo de instalação do JDK Aceitar termos e licenças de uso Configurar ambiente de trabalho
PRIMEIRO PROGRAMA public class PrimeiroPrograma { public static void main(string[] args) { System.out.println("Olá Mundo!!"); System.out.println("Meu primeiro programa em Java."); } }
NOMENCLATURA Identificadores válidos: Definem as regras para que o compilador identifique o nome como válido. 1. Devem iniciar com uma letra, cifrão ($) ou sublinhado/underscore (_); 2. Após o primeiro caractere podem ter qualquer combinação de letras, caracteres e números; 3. Não possuem limite de tamanho; 4. Não podem ser palavras reservadas; 5. Identificadores são case-sensitive isto é, Nome e nome são identificadores diferentes.
NOMENCLATURA - EXEMPLOS
CONVENÇÃO DE NOMENCLATURA DA SUN 1. Classes e interfaces: A primeira letra deve ser maiúscula e, caso o nome seja formado por mais de uma palavra, as demais palavras devem ter sua primeira letra maiúscula também (CamelCase); 2. Métodos: A primeira letra deve ser minúscula e após devemos aplicar o camelcase; 3. Variáveis: Da mesma forma que métodos; 4. Constantes: Todas as letras do nome devem ser maiúsculas e caso seja formada por mais de uma palavra separada por underscore.
TIPOS PRIMITIVOS, OPERADORES E CONTROLE DE FLUXO
TIPOS DE DADOS
CONVERSÕES ENTRE TIPOS JAVA
OPERADORES
OPERADORES
OPERADORES
OPERADORES
CONTROLE DE FLUXO
CONTROLE DE FLUXO
CONTROLE DE FLUXO
CONTROLE DE FLUXO
CONTROLE DE FLUXO break e continue
CONTROLE DE FLUXO break e continue
ENTRADA DE DADOS //importe a classe Scanner para utilizar a leitura pelo teclado //Similar ao #include do C import java.util.scanner; public class Leitura { public static void main(string[] args) { // crie a variável de leitura dos dados Scanner s = new Scanner(System.in); // use os métodos de leitura específicos do tipo desejado System.out.print("digite uma linha: "); String linha = s.nextline(); // le a linha System.out.print("digite um numero: "); int i = s.nextint(); // le um inteiro System.out.print("digite um numero: "); double d = s.nextdouble(); // le um ponto-flutuante System.out.print(" Primeira linha: "+linha); System.out.print(" Primeiro número: "+i); System.out.print(" Segundo número: «+d); } }
EXERCÍCIOS
DÚVIDAS e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Endereço eletrônico da disciplina: http://docente.ifrn.edu.br/ebertonmarinho 37