Aspectos da linguagem Java Programação (PG) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira ([email protected]) Organização de código em Java • Pacote package – Contém classes e outros pacotes • Classe – Contém métodos, campos e outras classes class • Método – Código com a sequência de instruções a executar quando o método for chamado. – A chamada pode ter parâmetros. method • field Campo – Dados com informação a ser usada pelo código dos métodos. package package classe campo Código (Instruções) método Dados (Informação) parâmetro java.lang.System.out.println("PG"); CCISEL, 2013 Programação 2 Organização dos ficheiros • Cada ficheiro fonte .java tem a definição de uma classe pública com nome igual ao do ficheiro. • A compilação de ficheiros fonte .java gera ficheiros .class para cada classe. • Prog.java Prog.java public class Prog { … } javac Prog.class A máquina virtual coloca em execução o código do método public static void main(String[] arg) da classe indicada. CCISEL, 2013 Programação 3 Indentificadores em Java • • • • • Composta por letras, dígitos e “_” sem espaços O primeiro símbolo não pode ser um dígito Distingue-se entre maiúsculas e minúsculas Não podem ser palavras reservadas Dimensão ilimitada • • Nomes sugestivos que documentem o código. Convenções: – Classes: – Variáveis e métodos: – Constantes: • • UpperCamelCase lowerCamelCase UNDER_SCORE O carácter “$” também é permitido mas não é normalmente usado O carácter “_” não é normalmente usado no início CCISEL, 2013 Programação 4 Palavras reservadas abstract continue for new switch assert default goto* package synchronized boolean do if private this break double implements protected throw byte else import public throws case enum instanceof return transient catch extends int short try char final interface static void class finally long strictfp volatile const* float native super while * - não usada CCISEL, 2013 Programação 5 Tipos primitivos • Inteiros (com sinal) – – – – byte short int long Dimensão Mínimo Máximo 1 byte -128 127 2 bytes -32768 32767 4 bytes -2147483648 2147483647 8 bytes -(263) 263-1 • Reais (norma IEEE 754) – float – double 4 bytes 8 bytes • Caracteres (Unicode) – char 2 bytes • Lógicos – boolean CCISEL, 2013 false Programação true 6 Unicode • • • Unicode Versão 6.0 Java 7 Unicode Versão 5.2 Java 6 Os 256 primeiros códigos são idênticos aos do ISO 8859-1 (ASCII estendido – Latin1) CCISEL, 2013 Programação 7 Operadores expr++ expr-- Unários prefixos ++expr --expr +expr -expr ~ ! Multiplicativos * / % Aditivos + - Deslocamentos (shift) << >> >>> Relacionais < > <= >= instanceof Teste de igualdade == != E bit a bit (AND) & OU exclusivo bit a bit (XOR) ^ OU bit a bit (OR) | E lógico (AND) && OU lógico (OR) || Ternário ? : Afectações = += -= *= /= %= &= ^= |= <<= >>= >>>= CCISEL, 2013 Programação + Prioridade Unários pós-fixos 8