JAVA Professor: Bruno Toledo
Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código binário para um determinado SO Teste.exe Compila SO
Funcionamento de uma LP Na maioria das linguagens de programação, se precisa compilar ou interpretar um programa para que ele seja executado em seu computador. No Java é diferente: os programas são compilados e interpretados.
Características da Máquina Virtual Independente de Sistema Operacional; Interpreta bytecodes gerados pelo compilador; É implementada em uma ferramenta de desenvolvimento da tecnologia Java ou em um navegador web. A JVM fornece definições para: Conjunto de instruções (CPU) e de registradores; Formato do arquivo classe; Pilha de execução e Pilha para Garbage Collection; Área de Memória.
Compilando e Executando em Java 1) O código fonte (extensão.java) é compilado utilizando o javac (Java Compiler) e armazenado em um arquivo de extensão.class, também conhecido como bytecode. 2) Em seguida a JVM (Java Virtual Machine), interpreta os bytecodes produzidos pelo compilador. 3) O JIT (Just-In-Time) converte, em tempo de execução, o código em bytecode para código de máquina. 4) Por ultimo, fica a cargo do Sistema Operacional em questão executar o programa. 1) 2) 3) 4)
Compilando e Executando em Java AloMundo.java Compila AloMundo.class Interpreta
Sentenças
Método Principal Ponto inicial de execução de um programa Tipo Acesso Tipo Retorno Parâmetros public static void main (String[] args) Método que não requer instanciar objeto Nome Método
Método Principal public static void main(string[] args) { public - É visto em qualquer lugar da aplicação; static - é iniciado automaticamente pela JVM, sem precisar que seja chamado por algum objeto; void - Método sem retorno de valor. Método main O método main é onde o programa inicia; É obrigatório ser main. Recebe como parâmetro um array de String; Pode estar presente em qualquer classe; Os parâmetros de linha de comando são enviados para a array args[], do tipo String.
Variáveis A variável é a unidade básica de armazenamento; As variáveis devem ser declaradas explicitamente; Cada variável tem um tipo, um identificador e um âmbito; As variáveis podem ser inicializadas; Variáveis podem ser public, private e protected. public class Pessoa { private String nome, sobrenome; private int idade; }
Entrada / Saída Um programa Java pode exibir dados de diversas formas: Modo texto (console); Interface gráfica; Página web; Voz; Etc.
Documentação da API Java API significa Application Programming Interface (Interface de Programação de Aplicativos). A API de uma linguagem de programação é quase sempre o primeiro lugar em que você vai olhar se você precisar de ajuda. Ela é uma referência para a coleção de bibliotecas, funções, aplicações e exemplos da linguagem de programação. A API Java é facilmente encontrada online, no entanto, você pode querer ter uma cópia offline em seu computador (você pode programar em Java enquanto não estiver online). Para isso, você precisará baixar os arquivos de API do site do Java e armazená-los em seu computador. Link da API Java 7: http://docs.oracle.com/javase/7/docs/api/
Pacotes Java Java possui uma grande biblioteca de classes que são organizadas em pacotes. Um programa escrito em Java pode também ser organizado em pacotes, mas caso nenhum seja definido ele pertence ao pacote default (local).
Pacotes Java Agrupam um conjunto de classes. Grupo de classes relacionadas e, possivelmente, cooperantes. O pacote de uma classe é definido pela palavra chave package.
Pacotes Java
Pacotes Java java.util estruturas de dados java.io operações arquivos E/S java.math operações matemáticas java.net operações de rede java.security criptografia/segurança java.sql Banco Dados java.awt GUI javax.swing GUI
Primeiro Programa em Java Selecione Arquivo - Novo Projeto
Primeiro Programa em Java Selecione Java Aplicação Java Clique em Próximo
Primeiro Programa em Java Digite o nome do Projeto O nome que digitar no projeto é o nome que por padrão será da classe também. Mas poderá alterar o nome da classe, caso queira. Clique em Finish
Primeiro Programa em Java Comentários
Primeiro Programa em Java Especificador de Acesso Em java todo código deve ser colocado em uma classe Nome da Classe Indica que, a classe está acessível a outras classes de outros pacotes
Primeiro Programa em Java Indica o início de um bloco Indica o fim de um bloco
Primeiro Programa em Java Método realiza uma tarefa, mas não retorna nenhuma informação A execução de qualquer programa em java inicia pelo main Exceto Applets e Midlets Os parênteses indicam que o main é um método
Primeiro Programa em Java System.out É a saída padrão do sistema A mensagem
Primeiro Programa em Java Saída de Dados System.out.print() // mostra os dados na mesma linha System.out.println() // mostra os dados pulando a linha Saída do Programa
Saída Modo Texto Para imprimir dados em modo texto usamos o objeto System.out System.out.print ( Ola Mundo ); System.out.println ( Ola + Mundo ); System.out.print ( Ola \ Mundo\ \n );
Entrada Modo Texto Para imprimir dados em modo texto usamos o objeto System.in e outros objetos de I/O de mais alto nível package entrada_saída; import java.util.scanner; public class Entrada_Saída { public static void main(string[] args) { String nome; //ou usar import java.util.*; Scanner teste = new Scanner (System.in); } } System.out.print("Digite um nome: "); nome = teste.next(); System.out.println ("O nome digitado foi: "+nome);
Tipos de Dados
Tipos de Dados Primitivos
Declarando e inicializando variáveis
Exemplo
Conversão de Tipos
As 50 Palavras-chave de Java
Operadores
Operadores Relacionais
Operadores Lógicos
Tabela de precedência de operadores
Tabela de precedência de operadores
Tabela de precedência de operadores
Tabela de precedência de operadores
Tabela de precedência de operadores
Estruturas de Controle Estruturas de Seleção Estruturas de Repetição
Estrutura de Seleção Java possui as seguintes estruturas de seleção: if if else switch
Comando if Especifica que um comando ou bloco será executado se e somente se uma determinada condição booleana for verdadeira. public class Main{ public static void main(string args[]){ int valor = 5; if(valor > 3) System.out.println("Valor maior que 3"); } }
Comando if - else Especifica que um comando ou bloco será executado quando uma condição booleana for verdadeira e outro comando quando a condição for falsa. public class Main{ public static void main(string args[]){ int valor = 1; } } if(valor > 3) System.out.println("Valor maior que 3"); else System.out.println("Valor menor que 3");
Comando if else if else Especifica mais de uma condição em um bloco de comandos que será executado. public class Main{ public static void main(string args[]){ int valor = 3; if(valor > 3) System.out.println("Valor maior que 3"); else if(valor < 3) System.out.println("Valor menor que 3"); else System.out.println("Valor é igual a 3"); } }
Comando switch Permite multiplicidade de escolha.
Comando switch
Estruturas de Repetição Permite executar um bloco de instruções um número determinado de vezes: while do while for
Comando while Os comandos no laço while são executados enquanto uma condição booleana for verdadeira. public class Main { public static void main(string args[]) { int contador = 0; while (contador < 50) { System.out.println("Repetição: " + contador); contador++; } } }
Comando do - while A principal diferença é que os comandos são executados pelo menos uma vez. public class Main{ public static void main(string[] args){ int num = 0; do{ System.out.println(num); num ++; } while (num <100); } }
Comando for Permite a execução de um comando ou um bloco um pré-definido número de vezes. public class Main{ public static void main(string[] args){ int num=0; int i; } } for (i=0; i<100;i++) { System.out.println(num); num=num+1; // ou num++ }
Incrementadores e Decrementadores Incrementos Decrementos y = x++ ou ++x y = --x ou x-- As duas expressões dão resultados diferentes, pois existe uma diferença entre prefixo e sufixo. Quando se usa os operadores ( x++ ou x-- ), y recebe o valor de x antes de x ser incrementado, e usando o prefixo ( ++x ou --x ) acontece o contrario, y recebe o valor incrementado de x.
Exemplo 1
Exemplo 2
Exemplo 3