A Linguagem Java Prof.Vicente Paulo de Camargo História do Java Em 992 a Sun Microsystems cria um time conhecido com Green Team, para desenvolver inovações tecnológicas, liderado por James Gosling (Pai do Java) A idéia era criar um interpretador para pequenos dispositivos Resultou na linguagem Oak, semelhante a C e C++ O nome Java foi inspirado em uma cafeteria, cujo café vinha de uma ilha denominada de Java Em 1993, a Sun aposta no potencial de Java para páginas na internet com conteúdo dinâmico Em 1994 é criado o browser HotJava Em 1995 Java é anunciado oficialmente Em 1996 a Netscape decide dar suporte ao Java com o Browser Netscape Em 1996 é lançada a versão 1.0 do Java (JDK 1.0) A Linguagem Java - Utilização Atualmente a plataforma Java é utilizada Na Web Em dispositivos Móveis Em aplicações Desktop Em Aplicações de TV Digital Em dispositivos embarcados A Linguagem Java - Características Orientada a Objetos Possui mecanismo automático de gerenciamento de memória Permite executar múltiplas rotinas concorrentemente Independe de plataforma Possui exceções embutidas Permite criar novas exceções Utiliza o conceito de máquina virtual que interpreta bytecodes É fortemente tipada Extensão de Programa fonte = .java Extensão de Programa compilado = .class Extensão de aplicação = .jar A Linguagem Java – Características(cont.) JEE - Java Enterprise Edition Plataforma para aplicações Web JSE - Java Standard Edition Plataforma para aplicações Desktop JavaCard – Para dispositivos embarcados JavaFX – API para desenvolvimento de aplicações Ricas para Web, Desktop e Mobile A Linguagem Java – Complementos JRE – Java Runtime Environment Composta de uma JVM (Java Virtual Machine) que permite a execução de aplicações Java Apenas permite a execução de aplicações Java (.class) JDK – Java Development Kit Composto pelo compilador(javac) e JVM A Linguagem Java – Instalação e Configuração Para programar com Java deve-se: Efetuar o download do JDK e instalá-lo Configurar as variáveis de ambiente no sistema operacional Efetuar o download do Eclipse e descompactá-lo A Linguagem Java – Configuração Após a Instalação do JDK Abra o Windows Explorer Clique com o botão direito sobre Meu Computador Selecione Configurações Avançadas do Sistema Em seguida, selecione Variáveis de Ambiente Na janela Variáveis de Ambiente, selecione Novo na lista Variáveis do Sistema Informe o nome JAVA_HOME para nome da variável Depois informe o caminho onde o JDK foi instalado em seu computador Confirme em OK Em seguida, edite a variável de ambiente Path, inserindo no final o seguinte conteúdo: ;%JAVA_HOME%\bin; Confirme em OK A Linguagem Java – Configuração Para confirmar se a configuração do JDK está correta, ative a linha de comando do windows e informe: java Em seguida, informe: javac Se suas telas apresentarem resultados semelhantes indica que o JDK está corretamente configurado A Linguagem Java – Estrutura de um programa Java Um programa Java possui a seguinte estrutura: Um programa Java é uma classe import ....; Um programa java é delimitado por duas chaves public class Principal { public static void main(String[] args) { //código } } Permite receber dados via linha de comando Uma aplicação Java pode ter diversas classes, mas só uma deve possuir o método main A Linguagem Java – Estrutura de um programa Java(cont) Exemplo de chamada do programa MeuPrograma via linha de comando C:>java MeuPrograma dadoA dadoB public class MeuPrograma { public static void main(String[] args) { System.out.println(“1.Argumento=“+args[0] +” - 2.Argumento=“+args[1]); } } O programa apresentará o resultado: 1.Argumento=dadoA – 2.Argumento=dadoB Não esqueça: para compilar o programa pela linha de comando basta informar javac Meuprograma.java A Linguagem Java – Fundamentos Um programa Java compilado possui a extensão .class É um arquivo do tipo bytecode Para executar esse arquivo na linha de comando informe java nomeDoPrograma O nome de uma classe Java deve sempre se iniciar com uma letra maiúscula (caixa alta) Se o nome possui mais de uma palavra, cada palavra deve se iniciar com uma letra maiúscula Exemplos: Empregado, ProcessarDados, CalcularMedia Essa abordagem é denominada de CamelCase É uma prática nomear a classe e o arquivo com o mesmo nome A linguagem Java é Case Sensitive, ou seja, leva em consideração o Case (caixa) em que as instruções são escritas. Ou melhor: System e system são termos diferentes para a linguagem Java COMPILAÇÃO Processo para traduzir um programa elaborado em uma linguagem de programação de alto nível e gerar um programa em linguagem de baixo nível Programa fonte Compilação Programa executável “COMPILAÇÃO” DE PROGRAMAS JAVA Aplicação Pseudocompilada (conjunto de Programas .class) Programas fonte em Java com extensão .java Pseudocompilação Um programa java compilado possui a extensão .class LEMA DA PLATAFORMA JAVA ESCREVA UMA VEZ E EXECUTE EM QUALQUER LUGAR A Linguagem Java – Fundamentos Um programa Java necessita de variáveis para funcionar adequadamente Enquanto que os nomes das classes se iniciam com letra maiúscula, as variáveis são identificadas com nomes que se iniciam com letra minúscula Uma variável armazena conteúdos específicos Uma variável é o elo de ligação de alto nível entre as instruções do programa e o conteúdo armazenado na memória do computador Ao se declarar uma variável do tipo inteiro, esta armazenará apenas conteúdos inteiros Caso uma variável armazene um conteúdo diferente do seu tipo, ocorrerá um erro de compilação System.out.println(x) Declaração da variável x: int x = 10; 3 10 x AF0 Escreve 10 1 2 Não esqueça: System.out.println é um comando para impressão de dados no vídeo A Linguagem Java – Fundamentos Para declarar uma variável: OPCIONAL Para declarar uma variável: tipoDoDado identificador [= valorInicial]; Exemplos: a) int x = 10; a) int a; a = 20; O sinal de = é utilizado para atribuir conteúdos às variáveis IDENTIFICADORES DE VARIÁVEIS NA LINGUAGEM JAVA Um identificador de variáveis na linguagem Java deve começar com uma letra minúscula, podendo ser seguido com letra e/ou dígito. Há distinção entre letras minúsculas e maiúsculas Não há normas para delimitar o tamanho do identificador de uma variável Java Identificadores compostos deve iniciar com letra minúscula e ter a primeira letra de cada palavra, a partir da segunda palavra, em maiúscula EXEMPLOS x , y34 , soma, Soma, SOMA, total_vendas, totalVendas *soma e SOMA são variáveis distintas O nome de uma variável deve ser bastante significativo CONSTANTES •Constantes são conteúdos que não podem ser modificados durante a execução de um programa. •Em java, as constantes são indicadas por variáveis definidas com final •Uma variável definida com final nunca poderá ser alterada depois de ser configurada •Geralmente, as constantes (ou variáveis final) são identificadas com letras maiúsculas •Utilize constantes (com identificadores com letras maiúsculas) para facilitar na manutenção de programas •Exemplo: •final float PI = 3.14; A Linguagem Java – Tipos Primitivos Não esqueça: String não é um tipo primitivo NOTA • Para efeito de aprendizado através de um passo-a-passo, é interessante analisar o programa JELIOT, cujo download pode ser efetuado pelo link http://cs.joensuu.fi/jeliot/downloads.php Visualize um vídeo no link: https://www.youtube.com/watch?v=t0Ka9ZUdM5k A Linguagem Java – Wrappers •Wrapper significa “envolver” •Em Java um wrapper permite “envolver elementos” para adicionar funcionalidades •Java possui diversos wrappers que adicionam funcionalidades a outras classes ou a tipos primitivos •O Integer é um exemplo de wrapper que envolve o tipo int adicionando-lhe funcionalidades •Por exemplo, para converter um tipo String para inteiro, deve-se utilizar o wrapper Integer: String s = “3540”; int x = Integer.parseInt(s); •Outros wrappers: Double, Float, Long, Short, Boolean, Caracter, Byte •Observe que cada um desses wrappers correspondem a uma classe específica, pois seus nomes se iniciam com letra maiúscula A Linguagem Java – Casting •Casting é a transformação do conteúdo de uma determinada variável com valor de tipo menos específico para uma variável de tipo mais específico ou vice-versa •Pode ser implícito ou explícito •O casting implícito (ou upcasting) transforma um conteúdo mais específico para um tipo menos específico Exemplo: int x = 32; double d = x; •O casting explícito (ou downcasting) transforma um conteúdo menos específico para um tipo mais específico Exemplo: double d = 32.0; int x = (int) d; Não esqueça: double d=32.0; float f = 43.5f; Evite inserir duas instruções em uma mesma linha A Linguagem Java – System.out.print •System.out.print(x) permite apresentar saída das informações, que estão entre os parênteses, para a tela. Neste caso, apresenta o conteúdo da variável x •Utilize o sinal de + para concatenar as partes de uma saída como: int x = 35; int y = 90; System.out.println(“x=“+x+” y=“+y+” soma=“+(x+y)); •Cujo resultado será: x=35 y=90 soma=125 •O print imprime uma expressão posicionando o cursor no final do resultado •O println imprime uma expressão posicionando o cursor no inicio da próxima linha A Linguagem Java – Operadores Aritméticos + Adição -Subtração * Produto / Divisão % Resto de divisão inteira Utilize parênteses em expressões sempre que possível para evitar erros de cálculos. Exemplo: media = (a+b+c)/x; A Linguagem Java – Estrutura Condicional if (condição) { // código para condição verdadeira } else { //código para condição falsa } A condição permite operadores relacionais como: > , < , ≥, ≤, != (diferente), == (igual) Exemplo: if (x>87)... Para mais de uma expressão condicional utilizar, conforme a situação, os operadores lógicos: && (e), || (or) Exemplo: if ((x>5) && (y<30)) O operador ! é utilizado para negação Exemplo: boolean a = true; if (!a).... A Linguagem Java – Estruturas de Repetição Executa “grupo de código” Enquanto a condição for verdadeira while (condição) { //grupo de código } Exemplos: while (true) { //código if(certaCondição) break; } while (x<=8) { //código x++; } //digitar valor de x while (x!=0) { //código //digitar valor de x } Situação para utilização de flag 0 8 3 25 Sequência de digitação NÃO ESQUEÇA: x++ x= x+1 5 A Linguagem Java – Estruturas de Repetição for(int x=0;x<10;x++) { //código } Incremento unitário for(int x=0;x<10;x=x+2) { //código } Incremento não unitário Para decrementos basta utilizar: a)x--; b)x=x-2; Complementos BITS são a base da linguagem de máquina Linguagem de máquina é a linguagem de baixo nível. É a linguagem do computador. 8 BITS formam um BYTE Um BYTE representa um CARACTERE, um DÍGITO, um SÍMBOLO Complementos Como o homem utiliza muitos símbolos no seu cotidiano Criou-se o PADRÃO ASCII ASCII - American Standard Code for Information Interchange (Código Padrão Americano para o Intercâmbio de Informação) Exemplo Letras maiúsculas possuem código no intervalo de 65 a 90 Complementos - Randomização A randomização gera números aleatórios através do relógio do processador Para randomizar números deve-se utilizar a classe Random no seguinte formato: Random r = new Random(); int n = r.nextInt(); System.out.println(“num qualquer:”+num); Exemplo de Resultado: num qualquer:404969673 Para randomizar números em um intervalo entre os valores min e max deve-se utilizar: int n= r.nextInt(max – min + 1) + min; Exemplo: int num=0; int max=50; int min=10; for(int j=1;j<=3;j++) { Exemplo de resultado: num=random.nextInt(max - min + 1)+min; 16 / 22 / 16 / System.out.print(num+" / "); } FIM