JAVA Java Development Kit (JDK): É o conjunto de ferramentas necessárias para realizar o desenvolvimento de aplicações Java. Inclui: JRE e Ferramentas de programação. Java Runtime Environment (JRE): É a plataforma Java, composta por dois componentes: - JVM (Java Virtual Machine) - API (Java Application Programming Interface): É uma biblioteca de componentes que possui vários recursos úteis e é utilizada para execução de aplicações Java. ● É necessário instalar um JRE específico de uma plataforma, pois junto com ele vem uma JVM que saberá lidar com essa plataforma e conseguirá executar aplicações Java naquele ambiente. Java Virtual Machine (JVM): É a peça chave para fornecer capacidade de multiplataforma para as aplicações Java (“Write once, run everywhere”). ● É responsável por interpretar e executar o bytecode, é provedora de formas e meios de o aplica vo conversar com o sistema operacional e pode ser desenvolvida por qualquer organização desde que siga as especificações para construção de uma JVM. Tipos de Programa Java (Standard): • Application – Equivalente a uma aplicação comum. • Applet – Utiliza a máquina virtual de um browser, é executado automaticamente. • Java Beans – Seguem uma especificação para construção de componentes. Tipos de Programa Java (Enterprise): • São executados em servidor: – JSP (Java Server Pages): “Equivalente” a PHP e ASP, mas em Java. Representam views no modelo MVC. – Servlet: Representa o controle no modelo MVC. – Enterprise Java Beans: Permitem encapsular sessão, sincronização, segurança, connection pooling, multi-threading e outros detalhes importantes para o desenvolvimento de aplicações. – JavaServer Face: A tecnologia JavaServer Faces provê recursos que simplificam o desenvolvimento de aplicações web. É possível criar componentes reutilizáveis de interface gráfica. Usando o padrão MVC (Model-View-Controller). Comparando Strings: if(a.equals(b)) Java suporta três tipos de comentários: /* multilinha */, // uma linha e /** * Comentário para Javadoc (Documentação) */ //declaração e inicialização da variável: NomeDaClasse nomeDoObjeto = new NomeDaClasse(); //declaração da variável: Object umObjeto; // inicialização da variável: umObjeto = new Object(); //declaração e inicialização da variável sem parâmetros: String umTexto = new String; //declaração e inicialização da var c/parâmetros: String outroTexto = new String(“Olá, Enfermeira!”); A classe String tem um construtor especial, que não precisa ser chamado com a palavra-chave new. //a chamada: String nomeDoLivro = “Cem Anos de Solidão”; //tem o mesmo efeito de: Strind nomeDoLivro = nem String (“Cem Anos de Solidão”); Tipos primitivos em Java, são 8: – BSIL: byte, short, int, long. – BCFD: boolean, char, float, double. O literal “a” é diferente do literal 'a'. CERTO. - O primeiro representa um conjunto unitário de caractere. - O segundo representa apenas um elemento de caractere. Operadores de incrementação / decrementação: var++: Incrementa var em 1, avalia o valor de var antes de incrementar ++var: Incrementa var em 1, avalia o valor de var depois de incrementar var--: Decrementa var em 1, avalia o valor de var antes de decrementar --var: Decrementa var em 1, avalia o valor de var depois de decrementar Operadores Condicionais e Relacionais: Operador Uso Retorna TRUE (Verdade) se: > var1 > var2 Var1 é maior do que var2 >= var1 >= var2 Var1 é maior/igual do que var2 < var1 < var2 Var1 é menor do que var2 <= var1 <= var2 Var1 é menor/igual do que var2 == var1 == var2 Var1 e var2 são iguais != var1 != var2 Var1 e var2 são diferentes Operador Uso && (AND) var1 && var2 || (OR) var1 || var2 ! !var & var1 & var2 | var1 | var2 ^ (XOR) var1 ^ var2 Operadores de Atribuição: Operador Uso += var1 += var2 -= var1 -= var2 *= var1 *= var2 /= var1 \= var2 %= var1 %= var2 &= var1 &= var2 |= var1 |= var2 ^= var1 ^= var2 Controle de Fluxo: Retorna TRUE (Verdade) se: var1 e var2 são TRUE var1 ou var2 são TRUE Var é FALSE var1 e var2 são TRUE var1 ou var2 são TRUE var1 e var2 são diferentes Retorna TRUE (Verdade) se: var1 = var1 + var2 var1 = var1 - var2 var1 = var1 * var2 var1 = var1 \ var2 var1 = var1 % var2 var1 = var1 & var2 var1 = var1 | var2 var1 = var1 ^ var2 While e do-while O while é usado para executar continuamente um bloco de código enquanto uma condição permanecer verdadeira. while (condição){ //aqui vai o código} O do-while é semelhante ao while, a diferença é que ele avalia a condição depois de executar a primeira vez. Sua sintaxe é: do{ //aqui vai o código} while (condição); For O for é uma maneira compacta de repetir um bloco de códigos n vezes. Sua sintaxe é: for (inicio; fim; incremento){ //aqui vai o código } //Por exemplo: For (int i=0; i<10; i++){ //aqui vai o código } For each: É mais compacto e melhorado e utilizado para trabalhar com: Collections e Arrays. O contador vai assumir o valor de cada componente de uma collection ou de um array. Recomenda-se a sua utilização sempre que possível. Exemplo: String[] mes = {"JAN", "FEV", "MAR"}; for (String valorComponente : mes) { System.out.print(valorComponente + "; "); } If/Else O if permite executar um bloco de código condicionalmente. A sintaxe é: if (condição){ //código a executar se a condição for verdadeira }else{ //código a executar se a condição for false} condição ? verdadeira : falsa A última linha apresenta uma versão compacta do if, e poderia ser usado como no exemplo a seguir: System.out.println(“O caracter “+ umChar + “ é “ + umChar.ehMaiusculo ? “maiúsculo”:”minúsculo”)); Switch O switch é usado para executar um bloco de código condicionalmente baseado no valor de uma expressão inteira. switch (mês){ case 1: System.out.println(“Janeiro”); break; case 2: System.out.println(“Fevereiro”); break; case 3: System.out.println(“Março”); break; case 4: System.out.println(“Abril”); break; } Controle de Execução: Break - Serve para terminar um loop. Continue - Serve para ignorar a iteração atual de um loop. Return - Todo método em java tem um valor de retorno, expresso na assinatura. Este valor pode ser um Objeto, um tipo primitivo, ou um valor do tipo null, que indica que o método não retorna nenhum valor significativo. Arrays: Um array é uma estrutura que contém vários dados de um mesmo tipo. Arrays podem guardar tanto objetos quanto tipos primitivos. Em java, o tamanho dos Arrays é definido na criação. Declaração, Criação e Acesso: int[ ] arrayDeInteiros; char[ ] arrayDeCaracteres; Object[ ] arrayDeObjetos; UmaClasseQualquer[ ] arrayDeUmaClasseQualquer; //A declaração também pode seguir a forma: int arrayDeInts[ ]; char arrayDeChars[ ]; Criação: int[ ] arrayDeInts = {2,3,4}; //é equivalente a: int[ ] arrayDeInts = new int[3]; arrayDeInts [0] = 2; arrayDeInts [1] = 3; arrayDeInts [2] = 4; O tamanho máximo que se pode acessar é -1. Se for tentado acesso a uma posição inexistente, será gerado ArrayIndexOutOfBounds. Pacotes: Através dos arquivos JAR, fornecem uma maneira conveniente de distribuir e usar um conjunto de classes, como uma livraria. Para incluir uma classe em um pacote, inclui-se a palavra-chave package antes do início da declaração da classe. package cursojava.ed.filas Para usar uma classe que está em um pacote exterior ao atual, usa-se a palavra-chave import. import cursojava.ed.filas; Documentação: Javadoc é uma ferramenta que compila a documentação de uma série de classes java em páginas HTML, descrevendo as classes, construtores, métodos e atributos protegidos e públicos. Vale lembrar que o javadoc processa os arquivos .java e não os .class, portanto é necessário que estes arquivos estejam no pacote para que a documentação seja construída.