Giter Club home page Giter Club logo

devdojo-maratona-java-old's Introduction

Maratona Java - O maior curso Java em português.

Canal Youtube DevDojo

Adição de Resumos das matérias do Livro do Deitel: Java Como Programar ed.10º.



Apresentação dos conteúdo:

Vídeo aula 00

Voltar ao Índice


Vídeo aula 01

Resumo:

Como java funciona

Outros Artigos:

Como uma Java Virtual Machine escrita em Java funciona?

Voltar ao Índice


Aula 02: Como instalar JAVA no windows

Java Platform, Standard Edition

Voltar ao Índice


Aula 03: Executando o processo de compilação manualmente

Deitel:

Normalmente, existem cinco fases: editar, compilar, carregar, verificar e executar. Nós as discutiremos no contexto do Java SE 8 Development Kit ( JDK).

Fase 1: criando um programa

A Fase 1 consiste em editar um arquivo com um programa editor, muitas vezes conhecido simplesmente como um editor. Você digita um programa Java (em geral referido como código-fonte) utilizando o editor, faz quaisquer correções necessárias e salva o programa em um dispositivo de armazenamento secundário, como sua unidade de disco. Arquivos de código-fonte Java recebem um nome que termina com a extensão .java, que indica um arquivo contendo código-fonte Java.

Fase 2: compilando um programa Java em bytecodes

Na Fase 2, utilize o comando javac (o compilador Java) para compilar um programa. Por exemplo, a fim de compilar um programa chamado Welcome.java, você digitaria:

javac Welcome.java

na janela de comando do seu sistema (isto é, o Prompt do MS-DOS, no Windows, ou o aplicativo Terminal, no Mac OS X) ou em um shell Linux (também chamado Terminal em algumas versões do Linux). Se o programa compilar, o compilador produz um arquivo .class chamado Welcome.class que contém a versão compilada. IDEs tipicamente fornecem um item de menu, como Build ou Make, que chama o comando javac para você. Se o compilador detectar erros, você precisa voltar para a Fase 1 e corrigi-los.

O compilador Java converte o código-fonte Java em bytecodes que representam as tarefas a serem executadas na fase de execução (Fase 5). O Java Virtual Machine (JVM) — uma parte do JDK e a base da plataforma Java — executa bytecodes. A máquina virtual (virtual machine — VM) é um aplicativo de software que simula um computador, mas oculta o sistema operacional e o hardware subjacentes dos programas que interagem com ela. Se a mesma máquina virtual é implementada em muitas plataformas de computador, os aplicativos escritos para ela podem ser utilizados em todas essas plataformas. A JVM é uma das máquinas virtuais mais utilizadas. O .NET da Microsoft utiliza uma arquitetura de máquina virtual semelhante.

Diferentemente das instruções em linguagem de máquina, que são dependentes de plataforma (isto é, de hardware específico de computador), instruções bytecode são independentes de plataforma. Portanto, os bytecodes do Java são portáveis — sem recompilar o código-fonte, as mesmas instruções em bytecodes podem ser executadas em qualquer plataforma contendo uma JVM que entende a versão do Java na qual os bytecodes foram compilados. A JVM é invocada pelo comando java. Por exemplo, para executar um aplicativo Java chamado Welcome, você digitaria

java Welcome

em uma janela de comando para invocar a JVM, que então iniciaria os passos necessários a fim de executar o aplicativo. Isso começa a Fase 3. IDEs tipicamente fornecem um item de menu, como Run, que chama o comando java para você.

Fase 3: carregando um programa na memória

Na Fase 3, a JVM armazena o programa na memória para executá-lo — isso é conhecido como carregamento. O carregador de classe da JVM pega os arquivos .class que contêm os bytecodes do programa e os transfere para a memória primária. Ele também carrega qualquer um dos arquivos .class fornecidos pelo Java que seu programa usa. Os arquivos .class podem ser carregados a partir de um disco em seu sistema ou em uma rede (por exemplo, sua faculdade local ou rede corporativa ou a internet).

Fase 4: verificação de bytecode

Na Fase 4, enquanto as classes são carregadas, o verificador de bytecode examina seus bytecodes para assegurar que eles são válidos e não violam restrições de segurança do Java (Figura 1.9). O Java impõe uma forte segurança para certificar-se de que os programas Java que chegam pela rede não danificam os arquivos ou o sistema (como vírus e worms de computador).

Fase 5: execução

Na Fase 5, a JVM executa os bytecodes do programa, realizando, assim, as ações especificadas por ele (Figura 1.10). Nas primeiras versões do Java, a JVM era simplesmente um interpretador para bytecodes. A maioria dos programas Java executava lentamente, porque a JVM interpretava e executava um bytecode de cada vez. Algumas arquiteturas modernas de computador podem executar várias instruções em paralelo. Em geral, as JVMs atuais executam bytecodes utilizando uma combinação de interpretação e a chamada compilação just in time ( JIT). Nesse processo, a JVM analisa os bytecodes à medida que eles são interpretados, procurando hot spots (pontos ativos) — partes dos bytecodes que executam com frequência. Para essas partes, um compilador just in time (JIT), como o compilador Java HotSpot™ da Oracle, traduz os bytecodes para a linguagem de máquina do computador subjacente. Quando a JVM encontra de novo essas partes compiladas, o código de linguagem de máquina mais rápido é executado. Portanto, os programas Java realmente passam por duas fases de compilação: uma em que o código-fonte é traduzido em bytecodes (para a portabilidade entre JVMs em diferentes plataformas de computador) e outra em que, durante a execução, os bytecodes são traduzidos em linguagem de máquina para o computador real no qual o programa é executado.

Um aplicativo Java é um programa de computador que é executado quando você utiliza o comando java para carregar a Java Virtual Machine ( JVM).

Como java funciona

Modifificando

Como java funciona

outro exemplo:

Como java funciona

Algumas sequências de escape comuns:

Como java funciona

Outros:

Processo de Interpretação e Compilação: Entendendo o java de uma forma diferente

Alô Mundo: Entendendo o java de uma forma diferente

Voltar ao Índice


Aula 04: Download do ambiente de desenvolvimento

Dois editores amplamente utilizados nos sistemas Linux são vi e emacs. O Windows fornece o Bloco de Notas. Já o OS X fornece o TextEdit. Também há muitos editores freeware e shareware disponíveis on-line, incluindo Notepad++ (notepad-plus-plus. org), EditPlus (www.editplus.com), TextPad (www.textpad.com) e jEdit (www.jedit.org).

Ambientes de desenvolvimento integrado (IDEs) fornecem ferramentas que suportam o processo de desenvolvimento de software, como editores e depuradores para localizar erros lógicos (que fazem programas serem executados incorretamente) e outros. Há muitos IDEs Java populares, incluindo:

Palavras Reservadas JAVA:

Modificadores de acesso

  • private: acesso apenas dentro da classe
  • protected: acesso por classes no mesmo pacote e subclasses
  • public: acesso de qualquer classe

Modificadores de classes, variáveis ou métodos

  • abstract: classe que não pode ser instanciada ou método que precisa ser implementado por uma subclasse não abstrata
  • class: especifica uma classe
  • extends: indica a superclasse que a subclasse está estendendo
  • final: impossibilita que uma classe seja estendida, que um método seja sobrescrito ou que uma variável seja reinicializada
  • implements: indica as interfaces que uma classe irá implementar
  • interface: especifica uma interface
  • native: indica que um método está escrito em uma linguagem dependente de plataforma, como o C
  • new: instancia um novo objeto, chamando seu construtor
  • static: faz um método ou variável pertencer à classe ao invés de às instâncias
  • strictfp: usado em frente a um método ou classe para indicar que os números de ponto flutuante seguirão as regras de ponto flutuante em todas as expressões
  • synchronized:indica que um método só pode ser acessado por uma thread de cada vez
  • transient: impede a serialização de campos
  • volatile:indica que uma variável pode ser alterada durante o uso de threads

Controle de fluxo dentro de um bloco de código

  • break: sai do bloco de codigo em que ele está
  • case: executa um bloco de código dependendo do teste do switch
  • continue: pula a execução do código que viria após essa linha e vai para a próxima passagem do loop
  • default: executa esse bloco de codigo caso nenhum dos teste de switch-case seja verdadeiro
  • do: executa um bloco de código uma vez, e então realiza um teste em conjunto com o while para determinar se o bloco deverá ser executado novamente
  • else: executa um bloco de código alternativo caso o teste if seja falso
  • for: usado para realizar um loop condicional de um bloco de código
  • if: usado para realizar um teste lógico de verdadeiro o falso
  • instanceof: determina se um objeto é uma instância de determinada classe, superclasse ou interface
  • return: retorna de um método sem executar qualquer código que venha depois desta linha (também pode retornar uma variável)
  • switch: indica a variável a ser comparada nas expressões case
  • while: executa um bloco de código repetidamente enquanto a condição for verdadeira

Tratamento de erros

  • assert: testa uma expressão condicional para verificar uma suposição do programador
  • catch: declara o bloco de código usado para tratar uma exceção
  • finally: bloco de código, após um try-catch, que é executado independentemente do fluxo de programa seguido ao lidar com uma exceção
  • throw: usado para passar uma exceção para o método que o chamou
  • throws: indica que um método pode passar uma exceção para o método que o chamou
  • try: bloco de código que tentará ser executado, mas que pode causar uma exceção

Controle de pacotes

  • import:importa pacotes ou classes para dentro do código
  • package: especifica a que pacote todas as classes de um arquivo pertencem

Primitivos

  • boolean: um valor indicando verdadeiro ou falso
  • byte: um inteiro de 8 bits (signed)
  • char: um caracter unicode (16-bit unsigned)
  • double: um número de ponto flutuante de 64 bits (signed)
  • float: um número de ponto flutuante de 32 bits (signed)
  • int: um inteiro de 32 bits (signed)
  • long: um inteiro de 64 bits (signed)
  • short: um inteiro de 32 bits (signed)

Variáveis de referência

  • super: refere-se a superclasse imediata
  • this: refere-se a instância atual do objeto

Retorno de um método

  • void: indica que o método não tem retorno

Palavras reservadas não utilizadas

  • const: Não utilize para declarar constantes; use public static final
  • goto: não implementada na linguagem Java por ser considerada prejudicial

Literais reservados

De acordo com a Java Language Specification, null, true e false são tecnicamente chamados de valores literais, e não keywords. Se você tentar criar algum identificador com estes valores, você também terá um erro de compilação.

FONTE:As 52 palavras reservadas do Java

Voltar ao Índice


Aula 05: Tipos primitivos, convenções de código e comentários

public class com.devdojo.introducao.ImprimindoVariaveis {
    public static void main(String[] args) {
        int idadeDosPais = 50;
        System.out.println("A idade é "+idadeDosPais);
    }
}

Tipos primitivos Java:

Como java funciona

Voltar ao Índice


Exemplo 01:

/**
 * Criado por José Stélio Malcher Jr. on 14/09/2017.
 */
public class com.devdojo.introducao.RelatorioPendencia {
    public static void main(String[] args) {
        String nome = "Bulma";
        String endereco = "456 Rua saiadin";
        String telefone = "(91)98877-6655";

        System.out.println("O "+nome + " mora em "+endereco+ " e seu telefone é "+ telefone + ". (ok)");
    }
}

Exemplo 02:

/**
 * Criado por José Stélio Malcher Jr. on 15/09/2017.
 */
public class com.devdojo.introducao.Operadores {
    public static void main(String[] args) {
        int numero1 = 10;
        int numero2 = 20;
        System.out.println(numero1+numero2);
        System.out.println("A Soma é " + numero1+numero2);
        System.out.println(numero1+numero2 + "   SOMANDO...   " + numero1 + numero2);
        System.out.println(numero1+numero2 + "   SOMANDO...   " + (numero1 + numero2));
    }
}

Saída

30
A Soma é 1020
30   SOMANDO...   1020
30   SOMANDO...   30

Voltar ao Índice


Operador de módulo/resto

    int numeroInteiro = 20;
        long numeroLong = 200000L;

        double numeroDouble = 10d;
        float numeroFloat = 20f;
        numeroFloat = (float) numeroDouble;

        int resto = 20 % 2;
        System.out.println("Resto é " + resto);
        System.out.println(numeroDouble);

com.devdojo.introducao.Operadores de comparação

Como java funciona

        boolean dezMaiorqueVinte = 10 >= 20;
        boolean dezMenorqueVinte = 10 <= 20;
        System.out.println(dezMaiorqueVinte);
        System.out.println(dezMenorqueVinte);
        System.out.println(5 == 5);
        System.out.println(5 != 5);
        
false
true
true
false

Process finished with exit code 0

Voltar ao Índice


        int idade = 18;
        float salario = 5000f;

        System.out.println(idade >= 21 && salario >= 2000);
        System.out.println(idade <= 16 && salario <= 2000);
        // false
        // false
        
        System.out.println(idade >= 21 || salario >= 2000);
        System.out.println(idade <= 21 || salario >= 2000);
        // true
        // true

Como java funciona

Voltar ao Índice


Exemplo:

        int salario = 2000;
        int numero = 11;

        numero %= 2;
        numero = numero % 2;
        System.out.println(numero);

Como java funciona

Precedência de com.devdojo.introducao.Operadores

Como java funciona

Exemplo:

Como java funciona

Do livro Deitel 10

2.5 Outra aplicação: adicionando inteiros

        Scanner input = new Scanner(System.in);

        int numero1;
        int numero2;
        int soma;

        System.out.println("Entre com o primeiro numero");
        numero1 = input.nextInt();

        System.out.println("Entre com o segundo numero");
        numero2 = input.nextInt();

        soma = numero1 + numero2;

        System.out.printf("A soma é %d%n", soma);

2.8 Tomada de decisão: operadores de igualdade e operadores relacionais

        Scanner entrada = new Scanner(System.in);

        int num1, num2;

        System.out.println("Entre com o primeiro valor: ");
        num1 = entrada.nextInt();

        System.out.println("Entre com o segundo valor: ");
        num2 = entrada.nextInt();

        if(num1 == num2)
            System.out.printf("%d == %d%n",num1,num2);
        if(num1 != num2)
            System.out.printf("%d != %d%n",num1,num2);
        if(num1 < num2)
            System.out.printf("%d < %d%n",num1,num2);
        if(num1 > num2)
            System.out.printf("%d > %d%n",num1,num2);
        if(num1 <= num2)
            System.out.printf("%d <= %d%n",num1,num2);
        if(num1 >= num2)
            System.out.printf("%d >= %d%n",num1,num2);

Resumo do Capítulo 2 Introdução a aplicativos Java – entrada/saída e operadores

Seção 2.2 Nosso primeiro programa Java: imprimindo uma linha de texto

  • Um aplicativo Java é executado quando você usa o comando "java" para iniciar a JVM.
  • Comentários documentam programas e melhoram sua legibilidade. O compilador ignora-os.
  • Um comentário que começa com // é de fim de linha — ele termina no fim da linha em que aparece.
  • Comentários tradicionais podem se estender por várias linhas e são delimitados por /* e */ .
  • Os comentários da Javadoc, delimitados por /** e */, permitem que você incorpore a documentação do programa no código. O programa utilitário javadoc gera páginas em HTML com base nesses comentários.
  • Um erro de sintaxe (também chamado erro de compilador, erro em tempo de compilação ou erro de compilação) ocorre quando o compilador encontra um código que viola as regras da linguagem do Java. É semelhante a um erro de gramática em um idioma natural.
  • Linhas em branco, caracteres de espaço em branco e caracteres de tabulação são conhecidos como espaço em branco. O espaço em branco torna os programas mais fáceis de ler e não é ignorado pelo compilador.
  • As palavras-chave são reservadas para uso pelo Java e sempre são escritas com todas as letras minúsculas.
  • A palavra-chave class introduz uma declaração de classe.
  • Por convenção, todos os nomes de classes em Java começam com uma letra maiúscula e apresentam a letra inicial de cada palavra que eles incluem em maiúscula (por exemplo, SampleClassName).
  • O nome de uma classe Java é um identificador — uma série de caracteres consistindo em letras, dígitos, sublinhados ( _ ) e sinais de cifrão ($) que não iniciem com um dígito nem contenham espaços.
  • O Java faz distinção entre maiúsculas e minúsculas.
  • O corpo de cada declaração de classe é delimitado por chaves, { e }.
  • Uma declaração de class public deve ser salva em um arquivo com o mesmo nome da classe seguido pela extensão “.java”.
  • O método main é o ponto de partida de cada aplicativo Java e deve iniciar com
    public static void main(String[] args)

Caso contrário, a JVM não executará o aplicativo.

  • Os métodos realizam tarefas e retornam informações ao concluí-las. A palavra-chave void indica que um método executará uma tarefa, mas não retornará nenhuma informação.
  • As instruções instruem o computador a realizar ações.
  • Uma string entre aspas duplas é às vezes chamada de string de caracteres ou string literal.
  • O objeto de saída padrão (System.out) exibe caracteres na janela de comando.
  • O método System.out.println exibe seu argumento na janela de comando seguido por um caractere de nova linha para posicionar o cursor de saída no começo da próxima linha.
  • Você compila um programa com o comando javac. Se o programa não contiver nenhum erro de sintaxe, um arquivo de classe contendo os bytecodes Java que representam o aplicativo é criado. Esses bytecodes são interpretados pela JVM quando executamos o programa.
  • Para executar um aplicativo, digite java seguido pelo nome da classe que contém main.

Seção 2.3 Modificando nosso primeiro programa Java

  • System.out.print exibe seu argumento e posiciona o cursor de saída imediatamente após o último caractere exibido.
  • Uma barra invertida () em uma string é um caractere de escape. O Java combina-o com o próximo caractere para formar uma sequência de escape. A sequência de escape \n representa o caractere de nova linha.

Seção 2.4 Exibindo texto com printf

  • O método System.out.printf (f significa “formatado”) exibe os dados formatados.
  • O primeiro argumento do método printf é uma string de formato contendo especificadores de texto fixo e/ou de formato. Cada especificador de formato indica o tipo de dado a ser gerado e é um espaço reservado para um argumento correspondente que aparece após a string de formato.
  • Especificadores de formato iniciam com um sinal de porcentagem (%) e são seguidos por um caractere que representa o tipo de dado. O especificador de formato %s é um espaço reservado para uma string de caracteres.
  • O especificador de formato %n é um separador de linha portável. Você não pode usar %n no argumento para System.out.print ou System.out.println; mas o separador de linha gerado por System.out.println depois que ele exibe seu argumento é portável em diferentes sistemas operacionais.

Seção 2.5 Outra aplicação: adicionando inteiros

  • Uma declaração import ajuda o compilador a localizar uma classe que é usada em um programa.
  • O rico conjunto do Java de classes predefinidas é agrupado em pacotes — chamados de grupos de classes. Esses são referidos como biblioteca de classes Java, ou Interface de Programação de Aplicativo Java (API Java).
  • Uma variável é uma posição na memória do computador na qual um valor pode ser armazenado para utilização posterior em um programa. Todas as variáveis devem ser declaradas com um nome e um tipo antes que possam ser utilizadas.
  • O nome de uma variável permite que o programa acesse o valor dela na memória.
  • Um Scanner (pacote java.util) permite que um programa leia os dados que utilizará. Antes de um Scanner poder ser utilizado, o programa deve criá-lo e especificar a origem dos dados.
  • Variáveis devem ser inicializadas a fim de serem preparadas para uso em um programa.
  • A expressão new Scanner(System.in) cria um Scanner que lê a partir do objeto de entrada padrão (System.in) — normalmente o teclado.
  • O tipo de dado int é utilizado para declarar variáveis que conterão valores de inteiro. O intervalo de valores para um int é –2.147.483.648 a +2.147.483.647.
  • Os tipos float e double especificam números reais com pontos decimais, como 3.4 e -11.19.
  • Variáveis do tipo char representam caracteres individuais, como uma letra maiúscula (por exemplo, A), um dígito (por exemplo, 7), um caractere especial (por exemplo, * ou %) ou uma sequência de escape (por exemplo, tab, \t).
  • Tipos como int, float, double e char são primitivos. Os nomes dos tipos primitivos são palavras-chave; portanto, todos devem aparecer em letras minúsculas.
  • Um prompt direciona o usuário a tomar uma ação específica.
  • O método Scanner nextInt obtém um inteiro para uso em um programa.
  • O operador de atribuição, =, permite ao programa atribuir um valor a uma variável. Ele é chamado operador binário, porque tem dois operandos.
  • Partes das declarações que contêm valores são chamadas expressões.
  • O especificador de formato %d é um marcador de lugar para um valor int.

Seção 2.6 Conceitos de memória

  • Os nomes de variável correspondem a posições na memória do computador. Cada variável tem um nome, um tipo, um tamanho e um valor.
  • Um valor que é colocado em uma posição de memória substitui o valor anterior dessa posição, que é perdido.

Seção 2.7 Aritmética

  • Os operadores aritméticos são + (adição), - (subtração), * (multiplicação), / (divisão) e % (resto).
  • A divisão de inteiros produz um quociente com inteiros.
  • O operador de resto, %, fornece o resto depois da divisão.
  • As expressões aritméticas devem ser escritas em forma de linha reta.
  • Se uma expressão contém parênteses aninhados, o conjunto mais interno é avaliado primeiro.
  • O Java aplica os operadores a expressões aritméticas em uma sequência precisa determinada pelas regras de precedência de operador.
  • Quando dizemos que operadores são aplicados da esquerda para a direita, estamos nos referindo à sua associatividade. Alguns operadores associam da direita para a esquerda.
  • Parênteses redundantes podem tornar uma expressão mais clara.

Seção 2.8 Tomada de decisão: operadores de igualdade e operadores relacionais

  • A instrução if toma uma decisão baseada no valor de uma condição (verdadeiro ou falso).
  • As condições em instruções if podem ser formadas utilizando-se os operadores de igualdade (== e !=) e relacionais (>, <, >= e <=).
  • Uma instrução if começa com a palavra-chave if, seguida por uma condição entre parênteses, e espera uma instrução no seu corpo.
  • A instrução vazia é do tipo que não realiza qualquer tarefa.

Voltar ao Índice


Exemplo aula 10:

        // idade < 15 cat infantil
        // idade >= 15 && idade < 18 Ccat juvenil
        // idade >= 18 cat adulto

        int idade = 18;
        String categoria;

        if(idade < 15){
            categoria = "infantil";
        }else if(idade >=15 && idade < 18){
            categoria = "Juvenil";
        }else{
            categoria = "Adulto";
        }
        System.out.println(categoria);

Voltar ao Índice


O Java fornece o operador condicional (?:), que pode ser utilizado no lugar de uma instrução if...else. Isso pode tornar o código mais curto e mais claro. O operador condicional é o único operador ternário do Java (isto é, um operador que recebe três operandos). Juntos, os operandos e o símbolo ?: formam uma expressão condicional. O primeiro operando (à esquerda do ?) é uma expressão boolean (isto é, uma condição que é avaliada como um valor boolean — true ou false), o segundo operando (entre o ? e :) é o valor da expressão condicional se a expressão boolean for true e o terceiro operando (à direita do :) é o valor da expressão condicional se a expressão boolean for avaliada como false.

Exemplo: Operador ternario

        int idade = 15;
        String status;

        status = idade < 18 ? "Não Adulto" : "Adulto";
        System.out.println(status);

Tabela Verdade

// create truth table for && (conditional AND) operator
        System.out.printf("%s%n%s: %b%n%s: %b%n%s: %b%n%s: %b%n%n",
                "Conditional AND (&&)", "false && false", (false && false),
                "false && true", (false && true),
                "true && false", (true && false),
                "true && true", (true && true));

        // create truth table for || (conditional OR) operator
        System.out.printf("%s%n%s: %b%n%s: %b%n%s: %b%n%s: %b%n%n",
                "Conditional OR (||)", "false || false", (false || false),
                "false || true", (false || true),
                "true || false", (true || false),
                "true || true", (true || true));

        // create truth table for & (boolean logical AND) operator
        System.out.printf("%s%n%s: %b%n%s: %b%n%s: %b%n%s: %b%n%n",
                "Boolean logical AND (&)", "false & false", (false & false),
                "false & true", (false & true),
                "true & false", (true & false),
                "true & true", (true & true));

        // create truth table for | (boolean logical inclusive OR) operator
        System.out.printf("%s%n%s: %b%n%s: %b%n%s: %b%n%s: %b%n%n",
                "Boolean logical inclusive OR (|)",
                "false | false", (false | false),
                "false | true", (false | true),
                "true | false", (true | false),
                "true | true", (true | true));

        // create truth table for ^ (boolean logical exclusive OR) operator
        System.out.printf("%s%n%s: %b%n%s: %b%n%s: %b%n%s: %b%n%n",
                "Boolean logical exclusive OR (^)",
                "false ^ false", (false ^ false),
                "false ^ true", (false ^ true),
                "true ^ false", (true ^ false),
                "true ^ true", (true ^ true));

        // create truth table for ! (logical negation) operator
        System.out.printf("%s%n%s: %b%n%s: %b%n", "Logical NOT (!)",
                "!false", (!false), "!true", (!true));
Conditional AND (&&)
false && false: false
false && true: false
true && false: false
true && true: true

Conditional OR (||)
false || false: false
false || true: true
true || false: true
true || true: true

Boolean logical AND (&)
false & false: false
false & true: false
true & false: false
true & true: true

Boolean logical inclusive OR (|)
false | false: false
false | true: true
true | false: true
true | true: true

Boolean logical exclusive OR (^)
false ^ false: false
false ^ true: true
true ^ false: true
true ^ true: false

Logical NOT (!)
!false: true
!true: false

Voltar ao Índice


Exercício:

public class com.devdojo.introducao.ExercicioControledeFluxo {
    public static void main(String[] args) {
        /*
        Crie uma variavel salario e imprima seu imposto
        imposto:
            salario < 1000 5%
            salario >= 1000 && salario < 2000 10%
            salario >= 2000 && salario < 4000 15%
            salario > 5000 20%
         */

        double salario = 2000;
        double totalImposto = 0 ;
        if(salario <= 1000){
            System.out.println("entrou 1");
            totalImposto = salario * 0.05;
        }else if(salario>= 1000 && salario < 2000){
            System.out.println("entrou 2");
            totalImposto = salario * 0.1;
        }else if(salario>= 2000 && salario < 4000){
            totalImposto = salario * 0.15;
        }else{
            totalImposto = salario * 0.2;
        }
        System.out.println("O total de imposto e: " + totalImposto);
    }
}

Voltar ao Índice


link: https://www.youtube.com/watch?v=2vngkzInOEo

public class com.devdojo.introducao.ControleFluxo3 {
    public static void main(String[] args) {

        byte dia = 5; // char, int, byte, short, enum e String

        switch (dia) {
            case 1:
                System.out.println("domingo");
                break;
            case 2:
                System.out.println("segunda");
                break;
            case 3:
                System.out.println("terca");
                break;
            case 4:
                System.out.println("quarta");
                break;
            case 5:
                System.out.println("quinta");
                break;
            case 6:
                System.out.println("sexta");
                break;
            case 7:
                System.out.println("sabado");
                break;
        }
        String sexo = "FF";
        switch (sexo) {
            case "F":
                System.out.println("Feminino");
                break;
            case "M":
                System.out.println("Masculino");
                break;
            default:
                System.out.println("Opcao invalida");
                break;

        }
    }
}

Voltar ao Índice


Aula: https://www.youtube.com/watch?v=wtkPdOzewDQ

public class com.devdojo.introducao.ExercicioControleFluxo2 {
    public static void main(String[] args) {

        //  Crie um switch que dado um valor de 1 a 7
        //  Considerando 1 domingo imprima se é dia util ou final de semana

        byte dia = 8;
        switch (dia) {
            case 1:
            case 7:
                System.out.println("FINAL DE SEMANA!");
                break;
            case 2:
            case 3:
            case 4:
            case 5:
            case 6:
                System.out.println("DIA ÚTIL");
                break;
            default:
                System.out.println("Opção inválida");
        }
    }
}

Voltar ao Índice


Aula: https://www.youtube.com/watch?v=bAqBN-_Iqs8

public class com.devdojo.introducao.ControleFluxo4 {
    public static void main(String[] args) {

        int contador = 11;
        while (contador < 10) {
            System.out.println(++contador);
        }
        contador = 0;
        do {
            System.out.println("dentro do do while: "+ contador++);
        } while (contador < 10);

        for (int i = 0; i < 10; i++) {
            System.out.println("valor de i é: " + i);
            if(i==5){
                break;
            }
        }
    }
}

Voltar ao Índice


vídeo: https://www.youtube.com/watch?v=AR8I88rmyzg

public class com.devdojo.introducao.ExercicioControleFluxo3 {
    public static void main(String[] args) {
       
        //Imprima todos os numeros pares de 0 até 100000
       
        int valor = 100000;
        for (int i = 0; i <= valor; i++) {
            if (i % 2 != 0) {
                System.out.println(i);
            }
        }
    }
}

Voltar ao Índice


link da aula: https://www.youtube.com/watch?v=ucin9R76150&index=18&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

public class com.devdojo.introducao.ControleFluxo5 {
    public static void main(String[] args) {
        // Dado um valor de um carro, descubra em quantas parcelas ele pode ser parcelado.
        //porém as parcelas não podem ser menores que 1000.

        double valorTotal = 30000;
        for(int parcela = 1 ; parcela <= valorTotal ; parcela++){
            double valorParcala = valorTotal/parcela;

            /*if(valorParcala >= 1000){
                System.out.println("Parcela "+ parcela + " R$ " + valorParcala);

            }else {
                System.out.println("Saindo do laço");
                break;
            }*/
            if(valorParcala < 1000){
                break;
            }
            System.out.println("Parcela "+ parcela + " R$ " + valorParcala);

        }
        System.out.println("FORA do laço!");


    }
}
public class com.devdojo.introducao.ControleFluxo6 {
    public static void main(String[] args) {
        // Dado um valor de um carro, descubra em quantas parcelas ele pode ser parcelado.
        //porém as parcelas não podem ser menores que 1000.

         double valorTotal = 30000;
         for(int parcela = (int)valorTotal ; parcela >= 1 ; parcela--){
             double valorParcela = valorTotal / parcela;

             if(valorParcela <= 1000){
                 continue;
                 //códigos aqui... resultará em erro de compilação!
             }
             System.out.println("Parcela "+ parcela + " R$ " + valorParcela);
             System.out.println("CODIGO CONSUMINDO MEMORIA!");
         }

    }
}

Voltar ao Índice


Aula: https://www.youtube.com/watch?v=S2d_WfyuNmI&index=19&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

public class com.devdojo.introducao.Arrays1 {
    public static void main(String[] args) {
        int[] idades = new int[3];
        idades[0] = 20;
        idades[1] = 15;
        idades[2] = 30;
        System.out.println("Idedade 0 " + idades[0]);
        System.out.println("Idedade 1 " + idades[1]);
        System.out.println("Idedade 2 " + idades[2]);
    }

}

Voltar ao Índice


Aula: https://www.youtube.com/watch?v=p5PJuCxlzo4&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=20

public class com.devdojo.introducao.Arrays2 {
    public static void main(String[] args) {

        //byte, short, int, long, float, double = 0
        // char '\u0000' ' '
        //boolean false;
        // reference  null

        String[] nomes = new String[3];
        nomes[0] = "Naruto";
        nomes[1] = "Goku";
        nomes[2] = "Luffy";

        for (int i = 0; i < nomes.length; i++) {
            System.out.println((i + 1) + " nome " + nomes[i]);
        }

        nomes = new String[4];
        // "nomes" perde a referência.. é criando um novo obj. array.
    }
}

Voltar ao Índice


Aula: https://www.youtube.com/watch?v=9zfJqV9TbYQ&index=21&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

public class com.devdojo.introducao.Arrays3 {
    public static void main(String[] args) {
        int[] numeros = new int[5];
        int[] numeros2 = {1, 2, 3, 4, 5};// tam: 5, index: 0 até 4
        int[] numeros3 = new int[]{1, 2, 3, 4, 5};


        for (int i = 0; i < numeros2.length; i++) {
            System.out.println(numeros2[i]);
        }
       
        // mais usado: 
        for (int num : numeros2) {
            System.out.println(num);
        }
    }
}
public class com.devdojo.introducao.Arrays4 {
    public static void main(String[] args) {
        String[] nomes = {"Juju", "Jao Jao", "Xu xu"};
        for (String nome : nomes) {
            System.out.println(nome);
        }
    }
}

Voltar ao Índice


public class com.devdojo.introducao.Arrays5 {
    public static void main(String[] args) {
        int[][] dias = new int[2][2];
        dias[0][0] = 30;
        dias[0][1] = 31;
        dias[1][0] = 29;
        dias[1][1] = 28;

        for (int i = 0; i < dias.length; i++) {
            System.out.println(dias[i]); // imprime os endereços de memória
            for (int j = 0; j < dias[i].length; j++) {
                System.out.println(dias[i][j]);
            }
        }
        System.out.println("---------------");
        for (int[] ref : dias) {
            for (int dia : ref) {
                System.out.println(dia);
            }
        }
    }
}

Voltar ao Índice


public class com.devdojo.introducao.Arrays6 {
    public static void main(String[] args) {
        int[] arrInt = {1, 2, 3};
        int[] arrInt2 = new int[3];
        int[] arrInt3 = new int[]{1, 2, 3};

//        int[][] dias = new int[3][];
//        dias[0] = new int[2];
//        dias[1] = new int[]{1,2,3};
//        dias[2] = new int[4];

        int[][] dias = {{0, 0}, {1, 2, 3}, {0, 0, 0, 0}};

        // qual é o valor da posicao [1][2] = 3
        for (int[] arr : dias) {
            for (int num : arr) {
                System.out.println(num);
            }
        }
    }
}

Voltar ao Índice


vídeo: https://www.youtube.com/watch?v=u1Nd4UIGJeI&index=24&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

Ajuste nas pastas/pacotes do projeto atual!

Voltar ao Índice


package com.devdojo.javacore.a.introducaoclasses.classes;

public class Estudante {
    public String nome;
    public String matricula;
    public int idade;
}
package com.devdojo.javacore.a.introducaoclasses.test;

import com.devdojo.javacore.a.introducaoclasses.classes.Estudante;

public class EstudanteTest {
    public static void main(String[] args) {
        Estudante joao = new Estudante();
        joao.nome = "Joao";
        joao.matricula = "1212";
        joao.idade = 15;

        System.out.println(joao.nome);
        System.out.println(joao.matricula);
        System.out.println(joao.idade);
    }
}

Voltar ao Índice


package com.devdojo.javacore.a.introducaoclasses.classes;

public class Carro {
    public String placa;
    public String modelo;
    public float velocidadeMaxima;
}
package com.devdojo.javacore.a.introducaoclasses.test;

import com.devdojo.javacore.a.introducaoclasses.classes.Carro;

public class CarroTest {
    public static void main(String[] args) {
        Carro carro = new Carro();
        carro.modelo = "Fusca";
        carro.placa = "QWJ1029";
        carro.velocidadeMaxima = 120f;
        System.out.println(carro.placa);
        System.out.println(carro.modelo);
        System.out.println(carro.velocidadeMaxima);
    }
}

Voltar ao Índice


package com.devdojo.javacore.a.introducaoclasses.classes;

/**
 * Crie os seguintes atributos para essa classe
 * Nome
 * Matricula
 * rg
 * cpf
 * Crie uma classe de teste para preencher e imprimir os dados desse professor
 **/


public class Professor {
    public String nome;
    public String matricula;
    public String rg;
    public String cpf;
}
package com.devdojo.javacore.a.introducaoclasses.test;

import com.devdojo.javacore.a.introducaoclasses.classes.Professor;

public class ProfessorTest {

    public static void main(String[] args) {
        Professor prof = new Professor();
        prof.cpf ="111.122.131-20";
        prof.nome = "Jurandir";
        prof.rg = "20201-2";
        prof.matricula = "1121";

        Professor prof2 = new Professor();
        prof2.cpf ="222.222.222-22";
        prof2.nome = "Juciclei";
        prof2.rg = "9982-2";
        prof2.matricula = "0921C";

        prof = prof2;

        System.out.println(prof.cpf);
        System.out.println(prof.nome);
        System.out.println(prof.rg);
        System.out.println(prof.matricula);
        System.out.println("----------------------");
        System.out.println(prof2.cpf);
        System.out.println(prof2.nome);
        System.out.println(prof2.rg);
        System.out.println(prof2.matricula);
    }
}

Voltar ao Índice


Aula: https://www.youtube.com/watch?v=GEjFD9qvUVM&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=28

package com.devdojo.javacore.b.introducaometodos.classes;

public class Calculadora {
    public void somaDoisNumeros() {
        System.out.println(5 + 5);
    }

    public void subtraiDoisNumeros() {
        System.out.println(5 - 5);
    }
}
package com.devdojo.javacore.b.introducaometodos.test;

import com.devdojo.javacore.b.introducaometodos.classes.Calculadora;

public class CalculadoraTest {
    public static void main(String[] args) {

        Calculadora calculadora = new Calculadora();
        calculadora.somaDoisNumeros();
        calculadora.subtraiDoisNumeros();
        System.out.println("Continuando a exec....");
    }
}

Voltar ao Índice


Aula: https://www.youtube.com/watch?v=ocBUcd7T65E&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=29

package com.devdojo.javacore.b.introducaometodos.classes;

public class Calculadora {
    public void somaDoisNumeros() {
        System.out.println(5 + 5);
    }

    public void subtraiDoisNumeros() {
        System.out.println(5 - 5);
    }

    public void multiplicaDoisNumeros(double num1, int num2) {
        System.out.println(num1 * num2);
    }
}
package com.devdojo.javacore.b.introducaometodos.test;

import com.devdojo.javacore.b.introducaometodos.classes.Calculadora;

public class CalculadoraTest {
    public static void main(String[] args) {

        Calculadora calculadora = new Calculadora();
        calculadora.somaDoisNumeros();
        calculadora.subtraiDoisNumeros();

        calculadora.multiplicaDoisNumeros(55.5,5);


    }
}

Voltar ao Índice


Aula: https://www.youtube.com/watch?v=ye-cC3bhjlg&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=30

package com.devdojo.javacore.b.introducaometodos.classes;

public class Calculadora {
    public void somaDoisNumeros() {
        System.out.println(5 + 5);
    }

    public void subtraiDoisNumeros() {
        System.out.println(5 - 5);
    }

    public void multiplicaDoisNumeros(double num1, int num2) {
        System.out.println(num1 * num2);
    }

    public double divideDoisNumeros(double num1, double num2) {
        return num1 / num2;
    }
}
package com.devdojo.javacore.b.introducaometodos.test;

import com.devdojo.javacore.b.introducaometodos.classes.Calculadora;

public class CalculadoraTest {
    public static void main(String[] args) {

        Calculadora calculadora = new Calculadora();
        calculadora.somaDoisNumeros();
        calculadora.subtraiDoisNumeros();

        calculadora.multiplicaDoisNumeros(55.5,5);

        System.out.println("divisao de dois numeros");
        double result = calculadora.divideDoisNumeros(20,2);
        System.out.println(result);

    }
}

Voltar ao Índice


AULA: https://www.youtube.com/watch?v=SGrAPbGUCJo&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=31

package com.devdojo.javacore.b.introducaometodos.classes;

public class Calculadora {
    public void somaDoisNumeros() {
        System.out.println(5 + 5);
    }

    public void subtraiDoisNumeros() {
        System.out.println(5 - 5);
    }

    public void multiplicaDoisNumeros(double num1, int num2) {
        System.out.println(num1 * num2);
    }

    public double divideDoisNumeros(double num1, double num2) {
        if (num2 != 0) {
            return num1 / num2;
        }
        return 0;
    }

    public void imprimeDoisNumerosDivididos(double num1, double num2) {
        if (num2 != 0) {
            System.out.println(num1 / num2);
            return; //funciona como um break 
        }
        System.out.println("Não é possivel dividir por 0 ");
    }
}
package com.devdojo.javacore.b.introducaometodos.test;

import com.devdojo.javacore.b.introducaometodos.classes.Calculadora;

public class CalculadoraTest {
    public static void main(String[] args) {

        Calculadora calculadora = new Calculadora();
        calculadora.somaDoisNumeros();
        calculadora.subtraiDoisNumeros();

        calculadora.multiplicaDoisNumeros(55.5,5);

        System.out.println("divisao de dois numeros");
        double result = calculadora.divideDoisNumeros(20,2);
        System.out.println(result);

        System.out.println("imprimindo dois numeros divididos");
        calculadora.imprimeDoisNumerosDivididos(20,0);

    }
}

Voltar ao Índice


AULA: https://www.youtube.com/watch?v=WHd3PRcFbQw&index=32&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.b.introducaometodos.classes;

public class Calculadora {
    public void somaDoisNumeros() {
        System.out.println(5 + 5);
    }

    public void subtraiDoisNumeros() {
        System.out.println(5 - 5);
    }

    public void multiplicaDoisNumeros(double num1, int num2) {
        System.out.println(num1 * num2);
    }

    public double divideDoisNumeros(double num1, double num2) {
        if (num2 != 0) {
            return num1 / num2;
        }
        return 0;
    }

    public void imprimeDoisNumerosDivididos(double num1, double num2) {
        if (num2 != 0) {
            System.out.println(num1 / num2);
            return; //funciona como um break
        }
        System.out.println("Não é possivel dividir por 0 ");
    }

    public static void alteraDoisNumeros(int a, int b) {
        a = 30;
        b = 40;
        System.out.println("Dentro do altera dois numeros");
        System.out.println("num1: " + a);
        System.out.println("num2: " + b);
    }
}
package com.devdojo.javacore.b.introducaometodos.test;

import com.devdojo.javacore.b.introducaometodos.classes.Calculadora;

public class ParametrosTest {
    public static void main(String[] args) {

        Calculadora calc = new Calculadora();

        int num1 = 5;
        int num2 = 10;

        calc.alteraDoisNumeros(num1, num2);

        System.out.println("dentro do teste");
        System.out.println("num1: " + num1);
        System.out.println("num2: " + num2);
    }
}
package com.devdojo.javacore.b.introducaometodos.classes;

public class Professor {
    public String nome;
    public String matricula;
    public String rg;
    public String cpf;


    public void imprime(Professor aux) {
        System.out.println("----------------------");
        System.out.println(this.cpf);
        System.out.println(this.matricula);
        System.out.println(this.nome);
        System.out.println(this.rg);
    }
}
package com.devdojo.javacore.b.introducaometodos.test;

import com.devdojo.javacore.b.introducaometodos.classes.Professor;

public class ProfessorTest {
    public static void main(String[] args) {
        Professor prof = new Professor();
        prof.cpf = "122.222.232-20";
        prof.matricula = "11122";
        prof.nome = "Marcos";
        prof.rg = "122211-5";

        Professor prof2 = new Professor();
        prof2.cpf = "222.111.888-20";
        prof2.matricula = "44444";
        prof2.nome = "Joana";
        prof2.rg = "2122-6";

        prof.imprime(prof);
        prof.imprime(prof2); // algo aqui errado que parece não está certo!!
    }
}

Voltar ao Índice


Aula: https://www.youtube.com/watch?v=JWukxtWTG7E&index=33&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.b.introducaometodos.classes;

public class Professor {
    public String nome;
    public String matricula;
    public String rg;
    public String cpf;


    public void imprime() {
        System.out.println("----------------------");
        System.out.println(this.cpf);
        System.out.println(this.matricula);
        System.out.println(this.nome);
        System.out.println(this.rg);
    }
}
package com.devdojo.javacore.b.introducaometodos.test;

import com.devdojo.javacore.b.introducaometodos.classes.Professor;

public class ProfessorTest {
    public static void main(String[] args) {
        Professor prof = new Professor();
        prof.cpf = "122.222.232-20";
        prof.matricula = "11122";
        prof.nome = "Marcos";
        prof.rg = "122211-5";

        Professor prof2 = new Professor();
        prof2.cpf = "222.111.888-20";
        prof2.matricula = "44444";
        prof2.nome = "Joana";
        prof2.rg = "2122-6";

        prof.imprime();
        prof2.imprime();
    }
}

Voltar ao Índice


Aula: https://www.youtube.com/watch?v=L151aRhoNSM&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=34

package com.devdojo.javacore.b.introducaometodos.classes;

public class Calculadora {
    public void somaDoisNumeros() {
        System.out.println(5 + 5);
    }

    public void subtraiDoisNumeros() {
        System.out.println(5 - 5);
    }

    public void multiplicaDoisNumeros(double num1, int num2) {
        System.out.println(num1 * num2);
    }

    public double divideDoisNumeros(double num1, double num2) {
        if (num2 != 0) {
            return num1 / num2;
        }
        return 0;
    }

    public void imprimeDoisNumerosDivididos(double num1, double num2) {
        if (num2 != 0) {
            System.out.println(num1 / num2);
            return; //funciona como um break
        }
        System.out.println("Não é possivel dividir por 0 ");
    }

    public void alteraDoisNumeros(int a, int b) {
        a = 30;
        b = 40;
        System.out.println("Dentro do altera dois numeros");
        System.out.println("num1: " + a);
        System.out.println("num2: " + b);
    }


    public void somaArray(int[] numeros) {
        int soma = 0;
        for (int num : numeros) {
            soma += num;
        }
        System.out.println(soma);
    }

    //public void somaVarArgs(double numero1, int... numeros) //precisa sempre ser o último
    public void somaVarArgs(int... numeros) { //apenas um por assinatura de método!
        int soma = 0;
        for (int num : numeros) {
            soma += num;
        }
        System.out.println(soma);
    }
}
package com.devdojo.javacore.b.introducaometodos.test;

import com.devdojo.javacore.b.introducaometodos.classes.Calculadora;

public class CalculadoraTest {
    public static void main(String[] args) {

        Calculadora calculadora = new Calculadora();
        calculadora.somaDoisNumeros();
        calculadora.subtraiDoisNumeros();

        calculadora.multiplicaDoisNumeros(55.5,5);

        System.out.println("divisao de dois numeros");
        double result = calculadora.divideDoisNumeros(20,2);
        System.out.println(result);

        System.out.println("imprimindo dois numeros divididos");
        calculadora.imprimeDoisNumerosDivididos(20,0);

        int[] numeros = {1,2,3,4,5};
        calculadora.somaArray(numeros);
        calculadora.somaVarArgs(1,2,3,4,5);

    }
}

Voltar ao Índice


AULA: https://www.youtube.com/watch?v=LXWXkvRIn-k&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=35

RESUMO SOBRE UML: http://josemalcher.net/resumo-diagramas-uml/

DEVMEDIA: http://www.devmedia.com.br/o-que-e-uml-e-diagramas-de-caso-de-uso-introducao-pratica-a-uml/23408

Voltar ao Índice


AULA: https://www.youtube.com/watch?v=Qx4-p5fn_rA&index=36&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.b.introducaometodos.classes;

public class Estudante {
    public String nome;
    public int idade;
    public double[] notas;

    public void print() {
        System.out.println("Nome: " + this.nome);
        System.out.println("Idade: " + this.idade);
        if (this.notas != null) {
            for (double nota : this.notas) {
                System.out.print(nota + " ");
            }
        }
    }

    public void tirarMedia() {
        if (this.notas == null) {
            System.out.println("Esse aluno não possui notas");
            return;
    }
        double media = 0;
        for (double nota : this.notas) {
            media += nota;
        }
        media = media / this.notas.length;

        if (media > 6) {
            System.out.println("\n A média é: " + media + " situação: aprovado");
        } else {
            System.out.println("\n A média é: " + media + " situação: reprovado");
        }
    }

}
package com.devdojo.javacore.b.introducaometodos.test;

import com.devdojo.javacore.b.introducaometodos.classes.Estudante;

public class EstudanteTest {
    public static void main(String[] args) {

        Estudante estudante = new Estudante();
        estudante.nome = "William Suane";
        estudante.idade = 18;
        //estudante.notas = new double[]{3, 2, 9.5};
        estudante.print();
        estudante.tirarMedia();

    }
}

Voltar ao Índice


package com.devdojo.javacore.b.introducaometodos.classes;

public class Estudante {
    private String nome;
    private int idade;
    private double[] notas;

    public void print() {
        System.out.println("Nome: " + this.nome);
        System.out.println("Idade: " + this.idade);
        if (this.notas != null) {
            for (double nota : this.notas) {
                System.out.print(nota + " ");
            }
        }
    }

    public void tirarMedia() {
        if (this.notas == null) {
            System.out.println("Esse aluno não possui notas");
            return;
        }
        double media = 0;
        for (double nota : this.notas) {
            media += nota;
        }
        media = media / this.notas.length;

        if (media > 6) {
            System.out.println("\n A média é: " + media + " situação: aprovado");
        } else {
            System.out.println("\n A média é: " + media + " situação: reprovado");
        }
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getIdade() {
        return idade;
    }

    public void setIdade(int idade) {
        if(idade < 1){
            System.out.println("Você não pode alterar a idade!");
            return;
        }
        this.idade = idade;
    }

    public double[] getNotas() {
        return notas;
    }

    public void setNotas(double[] notas) {
        this.notas = notas;
    }
}
package com.devdojo.javacore.b.introducaometodos.test;

import com.devdojo.javacore.b.introducaometodos.classes.Estudante;

public class EstudanteTest {
    public static void main(String[] args) {

        Estudante estudante = new Estudante();
        estudante.setNome("William Suane");
        estudante.setIdade(18);
        estudante.setNotas(new double[]{3, 2, 9.5});
        estudante.print();
        estudante.tirarMedia();

        System.out.println(estudante.getNome());

    }
}

Voltar ao Índice


Aula: https://www.youtube.com/watch?v=9MVmEPb7GYc&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=38

package com.devdojo.javacore.b.introducaometodos.classes;

public class Estudante {
    private String nome;
    private int idade;
    private double[] notas;
    private boolean aprovado;

    public void print() {
        System.out.println("Nome: " + this.nome);
        System.out.println("Idade: " + this.idade);
        if (this.notas != null) {
            for (double nota : this.notas) {
                System.out.print(nota + " ");
            }
        }
    }

    public void tirarMedia() {
        if (this.notas == null) {
            System.out.println("Esse aluno não possui notas");
            return;
        }
        double media = 0;
        for (double nota : this.notas) {
            media += nota;
        }
        media = media / this.notas.length;

        if (media > 6) {
            this.aprovado = true;
            System.out.println("\n A média é: " + media + " situação: aprovado");
        } else {
            this.aprovado = false;
            System.out.println("\n A média é: " + media + " situação: reprovado");
        }
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getIdade() {
        return idade;
    }

    public void setIdade(int idade) {
        if(idade < 1){
            System.out.println("Você não pode alterar a idade!");
            return;
        }
        this.idade = idade;
    }

    public double[] getNotas() {
        return notas;
    }

    public void setNotas(double[] notas) {
        this.notas = notas;
    }

    public boolean isAprovado() { //get
        return aprovado;
    }

    /*public void setAprovado(boolean aprovado) {
        this.aprovado = aprovado;
    }*/
}
package com.devdojo.javacore.b.introducaometodos.test;

import com.devdojo.javacore.b.introducaometodos.classes.Estudante;

public class EstudanteTest {
    public static void main(String[] args) {

        Estudante estudante = new Estudante();
        estudante.setNome("William Suane");
        estudante.setIdade(18);
        estudante.setNotas(new double[]{3, 2, 9.5});
        estudante.print();
        estudante.tirarMedia();

        System.out.println(estudante.getNome());
        System.out.println("Aluno Aprovado? "+ estudante.isAprovado() );

    }
}

Voltar ao Índice


AUla: https://www.youtube.com/watch?v=uq4O__CGPdo&index=39&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.c.sobrecargametodos.classes;

public class Funcionario {

    private String nome;
    private String cpf;
    private double salario;
    private String rg;

    public Funcionario(String nome, String cpf, double salario, String rg) {
        this.nome = nome;
        this.cpf = cpf;
        this.salario = salario;
        this.rg = rg;
    }

    public void init(String nome, String cpf, double salario) {
        this.nome = nome;
        this.cpf = cpf;
        this.salario = salario;
    }

    public void init(String nome, String cpf, double salario, String rg) {
        init(nome, cpf, salario);
        this.rg = rg;
    }

    public void imprime() {
        System.out.println(this.nome);
        System.out.println(this.cpf);
        System.out.println(this.salario);
        System.out.println(this.rg);
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public double getSalario() {
        return salario;
    }

    public void setSalario(double salario) {
        this.salario = salario;
    }
}
package com.devdojo.javacore.c.sobrecargametodos.test;

import com.devdojo.javacore.c.sobrecargametodos.classes.Funcionario;

public class FuncionarioTest {
    public static void main(String[] args) {

        Funcionario funcionario = new Funcionario("Chica da Silva", "111.222.333-44", 4500, "122212-9");

        funcionario.imprime();


    }
}

Voltar ao Índice


AULA: https://www.youtube.com/watch?v=IcR84k4NV1M&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=40

public class Funcionario {

    private String nome;
    private String cpf;
    private double salario;
    private String rg;

    public Funcionario() {
        System.out.println("Dentro do COntrutor!");
    }

    public Funcionario(String nome, String cpf, double salario, String rg) {
        this.nome = nome;
        this.cpf = cpf;
        this.salario = salario;
        this.rg = rg;
    }
package com.devdojo.javacore.c.sobrecargametodos.test;

import com.devdojo.javacore.c.sobrecargametodos.classes.Funcionario;

public class FuncionarioTest {
    public static void main(String[] args) {

        Funcionario funcionario2 = new Funcionario();
        Funcionario funcionario = new Funcionario("Chica da Silva", "111.222.333-44", 4500, "122212-9");

        funcionario.imprime();
        funcionario2.imprime();


    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=RufTevo0S0M&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=41

package com.devdojo.javacore.d.obrecargaconstrutores.classes;

public class Estudante {
    private String matricula;
    private String nome;
    private double[] notas;
    private String dataMatricula;

    public Estudante(String matricula, String nome, double[] notas) {
        this.matricula = matricula;
        this.nome = nome;
        this.notas = notas;
    }

    public Estudante(String matricula, String nome, double[] notas, String dataMatricula) {
        this(matricula,nome,notas); //sempre deve ser a primeira linha!
        /*this.matricula = matricula;
        this.nome = nome;
        this.notas = notas;*/
        this.dataMatricula = dataMatricula;
    }

    public Estudante() {
    }

    public String getMatricula() {
        return matricula;
    }

    public void setMatricula(String matricula) {
        this.matricula = matricula;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public double[] getNotas() {
        return notas;
    }

    public void setNotas(double[] notas) {
        this.notas = notas;
    }

    public String getDataMatricula() {
        return dataMatricula;
    }

    public void setDataMatricula(String dataMatricula) {
        this.dataMatricula = dataMatricula;
    }

    public void imprime() {
        System.out.println(this.nome);
        System.out.println(this.matricula);
        for (double nota : notas) {
            System.out.println(nota + " ");
        }
        System.out.println(this.dataMatricula);
    }
}
package com.devdojo.javacore.d.obrecargaconstrutores.test;

import com.devdojo.javacore.d.obrecargaconstrutores.classes.Estudante;

public class EstudanteTest {
    public static void main(String[] args) {
        Estudante est = new Estudante("12212","Carlitos", new double[]{5,7,9},"13/04/2016");
        est.imprime();
    }
}

Voltar ao Índice


package com.devdojo.javacore.e.blocodeinicializacao.classes;

public class Cliente {

    // 1 - Alocado espaco na memoria para o objeto que será criado
    // 2 - Cada atributo de classe é criado e inicializado com seus valores default ou valores explicitos
    // 3 - Bloco de inicializacao é executado
    // 4 - O construtor é executado

    private int[] parcelas;

    { //início do bloco de inicialização
        parcelas = new int[100];
        System.out.println("Dentro do bloco de inicializacao");
        for (int i = 1; i <= 100; i++) {
            parcelas[i - 1] = i;
        }
    } // fim

    public Cliente() {
    }

    public int[] getParcelas() {
        return parcelas;
    }

    public void setParcelas(int[] parcelas) {
        this.parcelas = parcelas;
    }
}
package com.devdojo.javacore.e.blocodeinicializacao.test;

import com.devdojo.javacore.e.blocodeinicializacao.classes.Cliente;

public class ClienteTeste {
    public static void main(String[] args) {
        Cliente c = new Cliente();
        System.out.println("Exibindo quantidade de parcelas possiveis");
        for(int parcela : c.getParcelas()){
            System.out.print(parcela + " ");
        }
    }
}

Voltar ao Índice


Aula: https://www.youtube.com/watch?v=JFFfIN14oc4&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=43

package com.devdojo.javacore.f.modificadorestatico.classes;

public class Carro {
    private String nome;
    private double velocidadeMaxima;
    public static double velocidadeLimite = 240;

    public Carro(String nome, double velocidadeMaxima) {
        this.nome = nome;
        this.velocidadeMaxima = velocidadeMaxima;
    }

    public Carro() {
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public double getVelocidadeMaxima() {
        return velocidadeMaxima;
    }

    public void setVelocidadeMaxima(double velocidadeMaxima) {
        this.velocidadeMaxima = velocidadeMaxima;
    }

 /*   public  double getVelocidadeLimite() {
        return velocidadeLimite;
    }

    public  void setVelocidadeLimite(double velocidadeLimite) {
        this.velocidadeLimite = velocidadeLimite;
    }*/

    public void imprime(){
        System.out.println("--------------------");
        System.out.println("Nome " + this.nome);
        System.out.println("Velocidade maxima = " + this.velocidadeMaxima);
        System.out.println("Velocidade limite = " + velocidadeLimite);
    }
}
package com.devdojo.javacore.f.modificadorestatico.teste;

import com.devdojo.javacore.f.modificadorestatico.classes.Carro;

public class CarroTest {
    public static void main(String[] args) {

        Carro.velocidadeLimite = 220;

        Carro c1 = new Carro("BMW", 280);
        Carro c2 = new Carro("Audi", 275);
        Carro c3 = new Carro("Mercedes", 290);
        c1.imprime();
        c2.imprime();
        c3.imprime();

        System.out.println("#######################");


        c1.imprime();
        c2.imprime();
        c3.imprime();
    }
}

Voltar ao Índice


package com.devdojo.javacore.f.modificadorestatico.classes;

public class Carro {
    private String nome;
    private double velocidadeMaxima;
    public static double velocidadeLimite = 240;

    public Carro(String nome, double velocidadeMaxima) {
        this.nome = nome;
        this.velocidadeMaxima = velocidadeMaxima;
    }

    public Carro() {
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public double getVelocidadeMaxima() {
        return velocidadeMaxima;
    }

    public void setVelocidadeMaxima(double velocidadeMaxima) {
        this.velocidadeMaxima = velocidadeMaxima;
    }

    public static double getVelocidadeLimite() {
        return velocidadeLimite;
    }

    public static void setVelocidadeLimite(double velocidadeLimite) {
        Carro.velocidadeLimite = velocidadeLimite;
    }

    public void imprime(){
        System.out.println("--------------------");
        System.out.println("Nome " + this.nome);
        System.out.println("Velocidade maxima = " + this.velocidadeMaxima);
        System.out.println("Velocidade limite = " + velocidadeLimite);
    }
}
package com.devdojo.javacore.f.modificadorestatico.teste;

import com.devdojo.javacore.f.modificadorestatico.classes.Carro;

public class CarroTest {
    public static void main(String[] args) {

        //Carro.velocidadeLimite = 320;
        Carro.setVelocidadeLimite(320);
        Carro c1 = new Carro("BMW", 280);
        Carro c2 = new Carro("Audi", 275);
        Carro c3 = new Carro("Mercedes", 290);
        c1.imprime();
        c2.imprime();
        c3.imprime();

        System.out.println("#######################");


        c1.imprime();
        c2.imprime();
        c3.imprime();
    }
}

Voltar ao Índice


Aula: https://www.youtube.com/watch?v=QD3_CfitYDU&index=45&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.f.modificadorestatico.classes;

public class Cliente {

    // 1 - Bloco de inicializacao estático é executado quando a JVM carregar a classe (é executado apenas 1 vez)
    // 2 - Alocado espaco na memoria para o objeto que será criado
    // 3 - Cada atributo de classe é criado e inicializado com seus valores default ou valores explicitos
    // 4 - Bloco de inicializacao é executado
    // 5 - O construtor é executado

    private static int[] parcelas;

    static { // é executado apenas uma vez   | pode haver mais outros <<----
        parcelas = new int[100];
        System.out.println("Dentro do bloco de inicializacao estatico");
        for(int i=1; i<=100;i++){
            parcelas[i-1] = i;
        }
    }

    public Cliente(){
    }

    public static int[] getParcelas() {
        return parcelas;
    }
}
package com.devdojo.javacore.f.modificadorestatico.teste;

import com.devdojo.javacore.f.modificadorestatico.classes.Cliente;

public class ClientTeste {
    public static void main(String[] args) {
        Cliente c = new Cliente();
        Cliente c1 = new Cliente();
        Cliente c2 = new Cliente();
        System.out.println("Exibindo quantidade de parcelas possiveis");
        /*for(int parcela : c.getParcelas()){
            System.out.print(parcela + " ");
        }*/
        System.out.println("tamanho: " + Cliente.getParcelas().length);

    }
}

Voltar ao Índice


Aula: https://www.youtube.com/watch?v=3OR-8ExlwvA&index=46&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.g.associacao.classes;

public class Pessoa {
    private Departamento departamento;
    private Endereco endereco;
}
package com.devdojo.javacore.g.associacao.classes;

public class Departamento {
    private Pessoa[] pessoas;
}
package com.devdojo.javacore.g.associacao.classes;

public class Endereco {
    private String rua;
    private String bairro;
    private String Estado;

    // private Pessoa[] pessoas;
}

Voltar ao Índice


Crie um Sistema que gerencia seminários

Deverá cadastrar os seminários, cadastrar os alunos, cadastrat os professores e cadastrar um local.

Um aluno poderá estar em apenas um seminário.

um seminário poderá ter nenhum ou vários alunos.

Um professor poderá ministrar um ou vários seminários.

Um seminário só poderá ter um professor.

Um seminário deverá ter um local.

Seminário: título

Aluno: Nome e idade

Professor? Nome e esécialidade.

Local: rua e bairro.

Voltar ao Índice


Diagrama de Classes

Voltar ao Índice


https://www.youtube.com/watch?v=2blCZZJ3HP4&index=49&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

Voltar ao Índice


https://www.youtube.com/watch?v=TKE2Wk_ehks&index=50&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.g.associacao.classes_exercicio;

public class Aluno {
    private String nome;
    private int idade;
    private Seminario seminario;


    public Aluno(String nome, int idade) {
        this.nome = nome;
        this.idade = idade;
    }

    public Aluno() {
    }

    public void print() {
        System.out.println("---------------Relatório de alunos---------------");
        System.out.println("Nome: " + this.nome);
        System.out.println("Idade: " + this.idade);
        if (this.seminario != null)
            System.out.println("Seminario inscrito: " + this.seminario.getTitulo());
        else
            System.out.println("Aluno não está inscrito em nenhum seminário");


    }


    public Seminario getSeminario() {
        return seminario;
    }

    public void setSeminario(Seminario seminario) {
        this.seminario = seminario;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getIdade() {
        return idade;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }
}
package com.devdojo.javacore.g.associacao.classes_exercicio;

public class Seminario {
    private String titulo;
    private Aluno[] alunos;
    private Professor professor;
    private Local local;

    public Seminario() {
    }

    public Seminario(String titulo) {
        this.titulo = titulo;
    }

    public void print() {
        System.out.println("---------------Relatório de seminários---------------");
        System.out.println("Título: " + this.titulo);
        if (this.professor != null)
            System.out.println("Professor palestrante: " + this.professor.getNome());
        else
            System.out.println("Nenhum professor cadastrado para esse seminário");

        if (this.local != null)
            System.out.println("Local " + this.local.getRua() + " Bairro: " + this.local.getBairro());
        else
            System.out.println("Nenhum local cadastrado para esse seminário");

        if (alunos != null && alunos.length != 0) {
            System.out.println("---- Alunos participantes ----");
            for (Aluno aluno : alunos) {
                System.out.println(aluno.getNome());
            }
            return;
        }
        System.out.println("Nenhum aluno cadastrado");
    }


    public Local getLocal() {
        return local;
    }

    public void setLocal(Local local) {
        this.local = local;
    }

    public Professor getProfessor() {
        return professor;
    }

    public void setProfessor(Professor professor) {
        this.professor = professor;
    }

    public Aluno[] getAlunos() {
        return alunos;
    }

    public void setAlunos(Aluno[] alunos) {
        this.alunos = alunos;
    }


    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }
}
package com.devdojo.javacore.g.associacao.classes_exercicio;

public class Professor {
    private String nome;
    private String especialidade;
    private Seminario[] seminarios;

    public Professor() {
    }

    public Professor(String nome, String especialidade) {

        this.nome = nome;
        this.especialidade = especialidade;
    }

    public void print() {
        System.out.println("---------------Relatório de professor---------------");
        System.out.println("Nome do professor: " + this.nome);
        System.out.println("Especialidade: " + this.especialidade);
        if (seminarios != null && seminarios.length != 0) {
            System.out.println("Seminários participantes");
            for (Seminario sem : seminarios) {
                System.out.println(sem.getTitulo());
            }
            return;
        }
        System.out.println("Professor não vinculado a nenhum seminário");

    }

    public Seminario[] getSeminarios() {
        return seminarios;
    }

    public void setSeminarios(Seminario[] seminarios) {
        this.seminarios = seminarios;
    }

    public String getNome() {

        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getEspecialidade() {
        return especialidade;
    }

    public void setEspecialidade(String especialidade) {
        this.especialidade = especialidade;
    }
}
package com.devdojo.javacore.g.associacao.classes_exercicio;

public class Local {
    private String rua;
    private String bairro;

    public Local() {
    }

    public Local(String rua, String bairro) {
        this.rua = rua;
        this.bairro = bairro;
    }

    public void print(){
        System.out.println("---------------Relatório de local---------------");

        System.out.println("Rua: "+this.rua);
        System.out.println("Bairro: "+this.bairro);

    }
    public String getRua() {
        return rua;
    }

    public void setRua(String rua) {
        this.rua = rua;
    }

    public String getBairro() {
        return bairro;
    }

    public void setBairro(String bairro) {
        this.bairro = bairro;
    }
}

Teste

package com.devdojo.javacore.g.associacao.teste;

import com.devdojo.javacore.g.associacao.classes_exercicio.Aluno;
import com.devdojo.javacore.g.associacao.classes_exercicio.Local;
import com.devdojo.javacore.g.associacao.classes_exercicio.Professor;
import com.devdojo.javacore.g.associacao.classes_exercicio.Seminario;

public class AssociacaoTest {
    public static void main(String[] args) {
        Aluno aluno = new Aluno("William Suane", 27);
        Aluno aluno2 = new Aluno("Joana D'Arc", 20);

        Seminario sem = new Seminario("Como ser um baita programador e ficar rico");
        Professor prof = new Professor("Yoda","Usar a força para programar");
        Local local = new Local("Rua das araras", "mato");

        aluno.setSeminario(sem);
        aluno2.setSeminario(sem);

        sem.setProfessor(prof);
        sem.setLocal(local);
        sem.setAlunos(new Aluno[]{aluno,aluno2});

        Seminario[] semArray = new Seminario[1];
        semArray[0] = sem;
        prof.setSeminarios(semArray);

        sem.print();
        prof.print();


    }
}

Voltar ao Índice


age com.devdojo.javacore.h.heranca.classes;

public class Pessoa {
    private String nome;
    private String cpf;
    private Endereco endereco;

    public void imprime(){
        System.out.println("Nome: " + this.getNome());
        System.out.println("CPF: " + this.getCpf());
        System.out.println("Endereço: " + this.getEndereco().getRua());
        System.out.println("Endereço: " + this.getEndereco().getBairro());

    }


    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public Endereco getEndereco() {
        return endereco;
    }

    public void setEndereco(Endereco endereco) {
        this.endereco = endereco;
    }
}
package com.devdojo.javacore.h.heranca.classes;

public class Endereco {
    private String rua;
    private String bairro;

    public String getRua() {
        return rua;
    }

    public void setRua(String rua) {
        this.rua = rua;
    }

    public String getBairro() {
        return bairro;
    }

    public void setBairro(String bairro) {
        this.bairro = bairro;
    }
}
package com.devdojo.javacore.h.heranca.classes;

public class Funcionario extends Pessoa{
    private double salario;

    public double getSalario() {
        return salario;
    }

    public void setSalario(double salario) {
        this.salario = salario;
    }
}
package com.devdojo.javacore.h.heranca.teste;

import com.devdojo.javacore.h.heranca.classes.Endereco;
import com.devdojo.javacore.h.heranca.classes.Funcionario;
import com.devdojo.javacore.h.heranca.classes.Pessoa;

public class HerancaTeste {
    public static void main(String[] args) {
        Pessoa p = new Pessoa();
        p.setNome("José Malcher Jr.");
        p.setCpf("123456789");
        Endereco end = new Endereco();
        end.setBairro("Cidade Velha");
        end.setRua("Rua Tal tal tal");
        p.setEndereco(end);
        p.imprime();
        System.out.println("------------------------------------");
        Funcionario f = new Funcionario();
        f.setNome("FUncionario 01");
        f.setCpf("987654321");
        f.setSalario(1500);
        f.setEndereco(end);
        f.imprime();
    }
}

Voltar ao Índice


package com.devdojo.javacore.h.heranca.classes;

public class Funcionario extends Pessoa{
    private double salario;

    @Override
    public void imprime() {
        super.imprime();
        System.out.println("Salario = " + this.salario);

    }

    public double getSalario() {
        return salario;
    }

    public void setSalario(double salario) {
        this.salario = salario;
    }
}

Voltar ao Índice


package com.devdojo.javacore.h.heranca.classes;

public class Funcionario extends Pessoa{
    private double salario;

    @Override
    public void imprime() {
        super.imprime();
        System.out.println("Salario = " + this.salario);
        imprimeReciboPagamento();
    }

    public void imprimeReciboPagamento(){
        System.out.println("Eu " + super.nome + " RECEBI R$ "+this.salario);

    }

    public double getSalario() {
        return salario;
    }

    public void setSalario(double salario) {
        this.salario = salario;
    }
}
package com.devdojo.javacore.h.heranca.classes;

public class Pessoa {
    protected String nome;
    private String cpf;
    private Endereco endereco;

    public void imprime(){
        System.out.println("Nome: " + this.getNome());
        System.out.println("CPF: " + this.getCpf());
        System.out.println("Endereço: " + this.getEndereco().getRua());
        System.out.println("Endereço: " + this.getEndereco().getBairro());

    }


    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public Endereco getEndereco() {
        return endereco;
    }

    public void setEndereco(Endereco endereco) {
        this.endereco = endereco;
    }
}

Voltar ao Índice


Aula 53: Herança e construtores pt 04

package com.devdojo.javacore.h.heranca.classes;

public class Pessoa {
    protected String nome;
    private String cpf;
    private Endereco endereco;

    public Pessoa(String nome) {
        this.nome = nome;
    }

    public Pessoa(String nome, String cpf) {
        this(nome);
        this.cpf = cpf;
    }

    public void imprime(){
        System.out.println("Nome: " + this.getNome());
        System.out.println("CPF: " + this.getCpf());
        System.out.println("Endereço: " + this.getEndereco().getRua());
        System.out.println("Endereço: " + this.getEndereco().getBairro());

    }


    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public Endereco getEndereco() {
        return endereco;
    }

    public void setEndereco(Endereco endereco) {
        this.endereco = endereco;
    }
}
package com.devdojo.javacore.h.heranca.classes;

public class Funcionario extends Pessoa{
    private double salario;

    @Override
    public void imprime() {
        super.imprime();
        System.out.println("Salario = " + this.salario);
        imprimeReciboPagamento();
    }

    public Funcionario(String nome) {
        super(nome);
    }

    public void imprimeReciboPagamento(){
        System.out.println("Eu " + super.nome + " RECEBI R$ "+this.salario);

    }

    public double getSalario() {
        return salario;
    }

    public void setSalario(double salario) {
        this.salario = salario;
    }
}
package com.devdojo.javacore.h.heranca.teste;

import com.devdojo.javacore.h.heranca.classes.Endereco;
import com.devdojo.javacore.h.heranca.classes.Funcionario;
import com.devdojo.javacore.h.heranca.classes.Pessoa;

public class HerancaTeste {
    public static void main(String[] args) {
        Pessoa p = new Pessoa("José Malcher Jr.");
        p.setCpf("123456789");
        Endereco end = new Endereco();
        end.setBairro("Cidade Velha");
        end.setRua("Rua Tal tal tal");
        p.setEndereco(end);
        p.imprime();
        System.out.println("------------------------------------");
        Funcionario f = new Funcionario("FUncionario 01");
        f.setCpf("987654321");
        f.setSalario(1500);
        f.setEndereco(end);
        f.imprime();
    }
}

Voltar ao Índice


1 - Espaço em memória é alocado para o objeto sendo construído;
2 - Cada um dos atributos odo objeto é inicializado com os valores default;
3 - O construtor da superclasse é chamado;
4 - A inicialização dos atributos via declaração e o código do bloco de inicialização da superclasse sçai executados na ordem em que aparecem;
5 - O código do construtor da super classe é chamado;
6 - Passo 4 para a subclasse é executado;
7 - O código do construtor da classe é executado.

package com.devdojo.javacore.h.heranca.classes;

public class Pessoa {
    protected String nome;
    private String cpf;
    private Endereco endereco;

    public Pessoa(String nome) {
        System.out.println("Dentro do bloco Construtor PESSOA");
        this.nome = nome;
    }

    public Pessoa(String nome, String cpf) {
        this(nome);
        this.cpf = cpf;
    }

    static{
        System.out.println("Bloco de Inicialização Estático de PESSOA");
    }
    {
        System.out.println("Blcoo de inicialização PESSOA 1");
    }
    {
        System.out.println("Blcoo de inicialização PESSOA 2");
    }

    public void imprime(){
        System.out.println("Nome: " + this.getNome());
        System.out.println("CPF: " + this.getCpf());
        System.out.println("Endereço: " + this.getEndereco().getRua());
        System.out.println("Endereço: " + this.getEndereco().getBairro());

    }


    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public Endereco getEndereco() {
        return endereco;
    }

    public void setEndereco(Endereco endereco) {
        this.endereco = endereco;
    }
}
package com.devdojo.javacore.h.heranca.classes;

public class Funcionario extends Pessoa{
    private double salario;
    {
        System.out.println("Blcoo de Inicialização de funcionario 1");
    }
    {
        System.out.println("Blcoo de Inicialização de funcionario 2");
    }
    static {
        System.out.println("BLCOO DE INICIALIZAÇÂO ESTATICO FUNCIONARIO 1");
    }


    @Override
    public void imprime() {
        super.imprime();
        System.out.println("Salario = " + this.salario);
        imprimeReciboPagamento();
    }

    public Funcionario(String nome) {
        super(nome);
        System.out.println("DENTRO DO CONSTRUTOR DE FUNCIONARIO");
    }

    public void imprimeReciboPagamento(){
        System.out.println("Eu " + super.nome + " RECEBI R$ "+this.salario);

    }

    public double getSalario() {
        return salario;
    }

    public void setSalario(double salario) {
        this.salario = salario;
    }
}
package com.devdojo.javacore.h.heranca.teste;

import com.devdojo.javacore.h.heranca.classes.Endereco;
import com.devdojo.javacore.h.heranca.classes.Funcionario;
import com.devdojo.javacore.h.heranca.classes.Pessoa;

public class HerancaTeste {
    public static void main(String[] args) {
        //Pessoa p = new Pessoa("José Malcher Jr.");
        //p.setCpf("123456789");
        Endereco end = new Endereco();
        end.setBairro("Cidade Velha");
        end.setRua("Rua Tal tal tal");
        //p.setEndereco(end);
        //p.imprime();
        System.out.println("------------------------------------");
        Funcionario f = new Funcionario("FUncionario 01");
        f.setCpf("987654321");
        f.setSalario(1500);
        f.setEndereco(end);
        //f.imprime();
    }
}
"C:\Program Files\Java\jdk1.8.0_144\bin\java" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3\lib\idea_rt.jar=56855:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_144\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\rt.jar;C:\Users\josemalcher\Documents\09-Workspaces\workspace-DEVDOJO-Maratona-JAVA\out\production\workspace-DEVDOJO-Maratona-JAVA" com.devdojo.javacore.h.heranca.teste.HerancaTeste
------------------------------------
Bloco de Inicialização Estático de PESSOA
BLCOO DE INICIALIZAÇÂO ESTATICO FUNCIONARIO 1
Blcoo de inicialização PESSOA 1
Blcoo de inicialização PESSOA 2
Dentro do bloco Construtor PESSOA
Blcoo de Inicialização de funcionario 1
Blcoo de Inicialização de funcionario 2
DENTRO DO CONSTRUTOR DE FUNCIONARIO

Process finished with exit code 0

Voltar ao Índice


package com.devdojo.javacore.i.sobrescrita.classes;

public class Pessoa {

    private String nome;
    private int idade;

/*    @Override
    public String toString() {
        return "NOME: " + this.nome + " | Idade "+ this.idade;
    }*/

    @Override
    public String toString() {
        return "Pessoa{" +
                "nome='" + nome + '\'' +
                ", idade=" + idade +
                '}';
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getIdade() {
        return idade;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }


}
package com.devdojo.javacore.i.sobrescrita.teste;

import com.devdojo.javacore.i.sobrescrita.classes.Pessoa;

public class PessoaTeste {
    public static void main(String[] args) {

        Pessoa p = new Pessoa();
        p.setNome("JSOE");
        p.setIdade(33);
        System.out.println(p);

    }
}

Voltar ao Índice


package com.devdojo.javacore.j.modificadorfinal.classes;

public class Carro {
    private String nome;
    private String marca;
    private static final double VELOCIDADE_FINAL  = 200;
    private final Comprador comprador = new Comprador();

/*    static {
        VELOCIDADE_FINAL = 200;
    }*/

    @Override
    public String toString() {
        return "Carro{" +
                "nome='" + nome + '\'' +
                ", marca='" + marca + '\'' +
                '}';
    }

    public Comprador getComprador() {
        return comprador;
    }

    public static double getVelocidadeFinal() {
        return VELOCIDADE_FINAL;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getMarca() {
        return marca;
    }

    public void setMarca(String marca) {
        this.marca = marca;
    }
}
package com.devdojo.javacore.j.modificadorfinal.classes;

public class Comprador {
    private String nome;

    @Override
    public String toString() {
        return "Comprador{" +
                "nome='" + nome + '\'' +
                '}';
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }
}
package com.devdojo.javacore.j.modificadorfinal.teste;

import com.devdojo.javacore.j.modificadorfinal.classes.Carro;

public class CarroTeste {
    public static void main(String[] args) {
        Carro c = new Carro();
        Carro.getVelocidadeFinal();

        System.out.println(c.getComprador());
        c.getComprador().setNome("COMPRADOR NOME MARIA");
        System.out.println(c.getComprador());
    }
}

Voltar ao Índice


package com.devdojo.javacore.k.enumeracao.classes;

public enum TipoCliente {
    PESSOA_FISICA,PESSOA_JURIDICA;

}
package com.devdojo.javacore.k.enumeracao.classes;

public class Cliente {
    private String nome;
    private TipoCliente tipo;

    public Cliente(String nome, TipoCliente tipo) {
        this.nome = nome;
        this.tipo = tipo;
    }

    @Override
    public String toString() {
        return "Cliente{" +
                "nome='" + nome + '\'' +
                ", tipo=" + tipo +
                '}';
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public TipoCliente getTipo() {
        return tipo;
    }

    public void setTipo(TipoCliente tipo) {
        this.tipo = tipo;
    }
}
package com.devdojo.javacore.k.enumeracao.teste;

import com.devdojo.javacore.k.enumeracao.classes.Cliente;
import com.devdojo.javacore.k.enumeracao.classes.TipoCliente;

public class ClienteTeste {
    public static void main(String[] args) {
        Cliente cliente = new Cliente("JOSE JR.", TipoCliente.PESSOA_FISICA);
        System.out.println(cliente);
    }
}

Voltar ao Índice


package com.devdojo.javacore.k.enumeracao.classes;

public enum TipoCliente {
    PESSOA_FISICA(1, "Pessoa Fisica"),PESSOA_JURIDICA(2,"Pessoa Juridica");

    private int tipo;
    private String nome;
    TipoCliente(int tipo, String nome) { //sempre é private
        this.tipo = tipo;
        this.nome = nome;
    }
    public int getTipo() {
        return tipo;
    }

    public String getNome() {
        return nome;
    }
}
package com.devdojo.javacore.k.enumeracao.classes;

public class Cliente {

    public enum TipoPagamento{
        AVISTA, APRAZO
    }
    private TipoPagamento tipoPagamento;
    private String nome;
    private TipoCliente tipo;

    public Cliente(TipoPagamento tipoPagamento, String nome, TipoCliente tipo) {
        this.tipoPagamento = tipoPagamento;
        this.nome = nome;
        this.tipo = tipo;
    }

    @Override
    public String toString() {
        return "Cliente{" +
                "tipoPagamento=" + tipoPagamento +
                ", nome='" + nome + '\'' +
                ", tipo=" + tipo +
                ", Numero do Tipo Pagamento: " + tipo.getTipo()+
                ", Tipo Pagamento: " + tipo.getNome()+
                '}';
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public TipoCliente getTipo() {
        return tipo;
    }

    public void setTipo(TipoCliente tipo) {
        this.tipo = tipo;
    }

    public TipoPagamento getTipoPagamento() {
        return tipoPagamento;
    }

    public void setTipoPagamento(TipoPagamento tipoPagamento) {
        this.tipoPagamento = tipoPagamento;
    }
}
package com.devdojo.javacore.k.enumeracao.teste;

        import com.devdojo.javacore.k.enumeracao.classes.Cliente;
        import com.devdojo.javacore.k.enumeracao.classes.TipoCliente;

public class ClienteTeste {
    public static void main(String[] args) {
        Cliente cliente = new Cliente(Cliente.TipoPagamento.AVISTA,"JOSE JR.", TipoCliente.PESSOA_FISICA);
        System.out.println(cliente);
    }
}

Voltar ao Índice


package com.devdojo.javacore.k.enumeracao.classes;

public enum TipoCliente {
    PESSOA_FISICA(1, "Pessoa Fisica"),PESSOA_JURIDICA(2,"Pessoa Juridica"){
        public String getId(){
            return "B";
        }
    };

    private int tipo;
    private String nome;
    TipoCliente(int tipo, String nome) { //sempre é private
        this.tipo = tipo;
        this.nome = nome;
    }
    public int getTipo() {
        return tipo;
    }

    public String getNome() {
        return nome;
    }

    //Constant stpecific class body -> copo de classe especifico constante

    public String getId(){
        return "A";
    }


}
package com.devdojo.javacore.k.enumeracao.teste;

        import com.devdojo.javacore.k.enumeracao.classes.Cliente;
        import com.devdojo.javacore.k.enumeracao.classes.TipoCliente;

public class ClienteTeste {
    public static void main(String[] args) {
        Cliente cliente = new Cliente(Cliente.TipoPagamento.AVISTA,"JOSE JR.", TipoCliente.PESSOA_FISICA);

        System.out.println(TipoCliente.PESSOA_FISICA.getId());
        System.out.println(TipoCliente.PESSOA_JURIDICA.getId());

        System.out.println(cliente);

    }
}

Voltar ao Índice


package com.devdojo.javacore.l.classesabstratas.classes;

public abstract class Funcionario {
    protected String nome;
    protected String clt;
    protected double salario;

    public Funcionario() {
    }

    public Funcionario(String nome, String clt, double salario) {
        this.nome = nome;
        this.clt = clt;
        this.salario = salario;
    }

    @Override
    public String toString() {
        return "Funcionario{" +
                "nome='" + nome + '\'' +
                ", clt='" + clt + '\'' +
                ", salario=" + salario +
                '}';
    }

    public abstract void calculaSalario();//{
        //this.salario = salario + (salario + 0.1);
    //}

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getClt() {
        return clt;
    }

    public void setClt(String clt) {
        this.clt = clt;
    }

    public double getSalario() {
        return salario;
    }

    public void setSalario(double salario) {
        this.salario = salario;
    }
}
package com.devdojo.javacore.l.classesabstratas.classes;

public class Gerente extends Funcionario {

    public Gerente() {
    }

    public Gerente(String nome, String clt, double salario) {
        super(nome, clt, salario);
    }

    @Override
    public void calculaSalario() {
        this.salario = salario + (salario * 0.3);
    }
}
package com.devdojo.javacore.l.classesabstratas.classes;

public class Vendedor extends Funcionario {
    private double totalVendas;

    public Vendedor() {
    }

    public Vendedor(String nome, String clt, double salario, double totalVendas) {
        super(nome, clt, salario);
        this.totalVendas = totalVendas;
    }

    @Override
    public void calculaSalario() {
        this.salario = salario + (totalVendas * 0.05);
    }

    public double getTotalVendas() {
        return totalVendas;
    }

    public void setTotalVendas(double totalVendas) {
        this.totalVendas = totalVendas;
    }
}
package com.devdojo.javacore.l.classesabstratas.testes;

import com.devdojo.javacore.l.classesabstratas.classes.Gerente;
import com.devdojo.javacore.l.classesabstratas.classes.Vendedor;

public class FuncionarioTeste {
    public static void main(String[] args) {

        //Funcionario f = new Funcionario("JOSE", "123-22", 2000);
        Gerente g = new Gerente("JULIANA", "4444-33", 2000);
        Vendedor v = new Vendedor("JOSE", "123-22", 2000, 1000);
        //f.calculaSalario();
        g.calculaSalario();
        v.calculaSalario();
        //System.out.println(f);
        System.out.println(g);
        System.out.println(v);

    }
}

Voltar ao Índice


package com.devdojo.javacore.l.classesabstratas.classes;

public abstract class Pessoa {
    protected String nome;

    public abstract void imprime();

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }
}
package com.devdojo.javacore.l.classesabstratas.classes;

public abstract class Funcionario extends Pessoa {

    protected String clt;
    protected double salario;

    public Funcionario() {
    }

    public Funcionario(String nome, String clt, double salario) {
        this.nome = nome;
        this.clt = clt;
        this.salario = salario;
    }

    @Override
    public String toString() {
        return "Funcionario{" +
                "nome='" + nome + '\'' +
                ", clt='" + clt + '\'' +
                ", salario=" + salario +
                '}';
    }

    public abstract void calculaSalario();//{
        //this.salario = salario + (salario + 0.1);
    //}


    @Override
    public abstract void imprime() ;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getClt() {
        return clt;
    }

    public void setClt(String clt) {
        this.clt = clt;
    }

    public double getSalario() {
        return salario;
    }

    public void setSalario(double salario) {
        this.salario = salario;
    }
}

Vendendor / gerente

    @Override
    public void imprime() {
        System.out.println("DEntro de Imprime de VEndedor");
    }

Voltar ao Índice


package com.devdojo.javacore.m.interfaces.classes;

public interface Transportalvel {
    public abstract void calculaFrete();
}
package com.devdojo.javacore.m.interfaces.classes;

public interface Tributavel {
    public static final double IMPOSTO = 0.2 ;
    public abstract void calcularImposto();
}
package com.devdojo.javacore.m.interfaces.classes;

public class Produto implements Tributavel, Transportalvel {
    private String nome;
    private double peso;
    private double preco;
    private double precoFinal;
    private double valorFrete;

    @Override
    public void calcularImposto() {
        precoFinal = this.preco + (this.preco * IMPOSTO);
    }

    @Override
    public void calculaFrete() {
        this.valorFrete = this.preco / this.peso * 0.1;
    }

    public Produto(String nome, double peso, double preco) {
        this.nome = nome;
        this.peso = peso;
        this.preco = preco;
    }

    @Override
    public String toString() {
        return "Produto{" +
                "nome=' " + nome + '\'' +
                ", peso=" + peso +
                ", preco= R$ " + preco +
                ", precoFinal= R$ " + precoFinal +
                ", valorFrete= R$ " + valorFrete +
                '}';
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public double getPeso() {
        return peso;
    }

    public void setPeso(double peso) {
        this.peso = peso;
    }

    public double getPreco() {
        return preco;
    }

    public void setPreco(double preco) {
        this.preco = preco;
    }

    public double getPrecoFinal() {
        return precoFinal;
    }

    public double getValorFrete() {
        return valorFrete;
    }
}
package com.devdojo.javacore.m.interfaces.testes;

import com.devdojo.javacore.m.interfaces.classes.Produto;

public class TesteProduto {
    public static void main(String[] args) {
        Produto p = new Produto("Notebook", 4, 3000);
        p.calcularImposto();
        p.calculaFrete();
        System.out.println(p);
    }
}

Voltar ao Índice


Exempo de Interface - UML

Voltar ao Índice


package com.devdojo.javacore.n.polimorfismo.classes;

public abstract class Funcionario {

    protected String nome;
    protected double salario;

    public Funcionario(String nome, double salario) {
        this.nome = nome;
        this.salario = salario;
    }

    @Override
    public String toString() {
        return "Funcionario{" +
                "nome='" + nome + '\'' +
                ", salario=" + salario +
                '}';
    }

    public abstract void calcularPagamento();

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
        }

    public double getSalario() {
        return salario;
    }

    public void setSalario(double salario) {
        this.salario = salario;
    }
}
package com.devdojo.javacore.n.polimorfismo.classes;

public class Vendedor extends Funcionario{

    private double totalVendas;

    public Vendedor(String nome, double salario, double totalVendas) {
        super(nome, salario);
        this.totalVendas = totalVendas;
    }

    public double getTotalVendas() {
        return totalVendas;
    }

    public void setTotalVendas(double totalVendas) {
        this.totalVendas = totalVendas;
    }

    @Override
    public void calcularPagamento() {
        this.salario = this.salario + (totalVendas * 0.05);
    }
}
package com.devdojo.javacore.n.polimorfismo.classes;

public class Gerente extends Funcionario {

    private double pnl;


    public Gerente(String nome, double salario, double pnl) {
        super(nome, salario);
        this.pnl = pnl;
    }

    @Override
    public void calcularPagamento() {
        this.salario = this.salario + pnl;
    }

    public double getPnl() {
        return pnl;
    }

    public void setPnl(double pnl) {
        this.pnl = pnl;
    }
}
package com.devdojo.javacore.n.polimorfismo.classes;

public class RelatorioPagamento {
/*

    public void relatorioPagamentoGerente(Gerente gerente){
        System.out.println("Gerando relatorio de pagamento para o Gerente");
        gerente.calcularPagamento();
        System.out.println("Nome " + gerente.getNome());
        System.out.println("Salario do Mes " + gerente.getSalario());
    }
    public void relatorioPagamentoVendedor(Vendedor vendedor){
        System.out.println("Gerando relatorio de pagamento para o vendedores");
        vendedor.calcularPagamento();
        System.out.println("Nome " + vendedor.getNome());
        System.out.println("Salario do Mes " + vendedor.getSalario());
    }
*/

    public void relatorioPagamento(Funcionario funcionario){
        System.out.println("Gerando relatorio de pagamento");
        funcionario.calcularPagamento();
        System.out.println("Nome " + funcionario.getNome());
        System.out.println("Salario do Mes " + funcionario.getSalario());
    }

}
package com.devdojo.javacore.n.polimorfismo.testes;

import com.devdojo.javacore.n.polimorfismo.classes.Funcionario;
import com.devdojo.javacore.n.polimorfismo.classes.Gerente;
import com.devdojo.javacore.n.polimorfismo.classes.RelatorioPagamento;
import com.devdojo.javacore.n.polimorfismo.classes.Vendedor;

public class PolimorfismoTeste {
    public static void main(String[] args) {
        Gerente g = new Gerente("Jose", 5000, 2000);
        Vendedor v = new Vendedor("Mariazinha", 2000, 20000);

        RelatorioPagamento relatorioPagamento = new RelatorioPagamento();
        //relatorioPagamento.relatorioPagamentoGerente(g);
        //relatorioPagamento.relatorioPagamentoVendedor(v);
        relatorioPagamento.relatorioPagamento(g);
        relatorioPagamento.relatorioPagamento(v);

        System.out.println("------------------------------------");

        Funcionario f = g;
        System.out.println(f.getSalario());
    }
}

Voltar ao Índice


package com.devdojo.javacore.n.polimorfismo.classes;

public class RelatorioPagamento {
/*

    public void relatorioPagamentoGerente(Gerente gerente){
        System.out.println("Gerando relatorio de pagamento para o Gerente");
        gerente.calcularPagamento();
        System.out.println("Nome " + gerente.getNome());
        System.out.println("Salario do Mes " + gerente.getSalario());
    }
    public void relatorioPagamentoVendedor(Vendedor vendedor){
        System.out.println("Gerando relatorio de pagamento para o vendedores");
        vendedor.calcularPagamento();
        System.out.println("Nome " + vendedor.getNome());
        System.out.println("Salario do Mes " + vendedor.getSalario());
    }
*/

    public void relatorioPagamento(Funcionario funcionario){
        System.out.println("Gerando relatorio de pagamento");
        funcionario.calcularPagamento();
        System.out.println("Nome " + funcionario.getNome());
        System.out.println("Salario do Mes " + funcionario.getSalario());

        if(funcionario instanceof Gerente){
            Gerente g = (Gerente) funcionario;
            System.out.println("Partifipação nos lucros R$ "+ g.getPnl());
        }
        if(funcionario instanceof Vendedor){
            //Vendedor v = (Vendedor) funcionario;
            //System.out.println("Total Vendas R$ " +v.getTotalVendas());
            System.out.println("Total Vendas R$ " +((Vendedor) funcionario).getTotalVendas());
        }

    }

}
package com.devdojo.javacore.n.polimorfismo.testes;

import com.devdojo.javacore.n.polimorfismo.classes.Funcionario;
import com.devdojo.javacore.n.polimorfismo.classes.Gerente;
import com.devdojo.javacore.n.polimorfismo.classes.RelatorioPagamento;
import com.devdojo.javacore.n.polimorfismo.classes.Vendedor;

public class PolimorfismoTeste {
    public static void main(String[] args) {
        Gerente g = new Gerente("Jose", 5000, 2000);
        Vendedor v = new Vendedor("Mariazinha", 2000, 20000);

        RelatorioPagamento relatorioPagamento = new RelatorioPagamento();
        //relatorioPagamento.relatorioPagamentoGerente(g);
        //relatorioPagamento.relatorioPagamentoVendedor(v);
        relatorioPagamento.relatorioPagamento(g);
        System.out.println("------------------------------------");
        relatorioPagamento.relatorioPagamento(v);



        /*
        Funcionario f = g;
        System.out.println(f.getSalario());
        */
    }
}

Voltar ao Índice


package com.devdojo.javacore.n.polimorfismo.classes;

public interface GenercDAO {
    public abstract void save();
}
package com.devdojo.javacore.n.polimorfismo.classes;

public class DataBaseDAOImpl implements GenercDAO{
    @Override
    public void save() {
        System.out.println("Salvando dados no BD");
    }
}
package com.devdojo.javacore.n.polimorfismo.classes;

public class ArquivoDAOImpl implements GenercDAO {

    @Override
    public void save() {
        System.out.println("Salvando dados nos arquivos");
    }
}
package com.devdojo.javacore.n.polimorfismo.testes;

import com.devdojo.javacore.n.polimorfismo.classes.ArquivoDAOImpl;
import com.devdojo.javacore.n.polimorfismo.classes.DataBaseDAOImpl;
import com.devdojo.javacore.n.polimorfismo.classes.GenercDAO;

public class DAOTeste {
    public static void main(String[] args) {

        //GenercDAO dadoParaSalvar = new ArquivoDAOImpl();
        GenercDAO dadoParaSalvar = new DataBaseDAOImpl();

        dadoParaSalvar.save();

    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=MO12vFGPbxo

package com.devdojo.javacore.o.exception.teste;

public class ErrorTeste {
    public static void main(String[] args) {
        stackOverflowError();
    }
    public static void stackOverflowError(){
        stackOverflowError();
    }
}

Voltar ao Índice


package com.devdojo.javacore.o.exception.runtimeexception.teste;

public class RuntimeException {
    public static void main(String[] args) {
        int a = 10;
        int b = 0;

        if(b != 0){ // "Tratamento"
            int c = a/b;
            System.out.println(c);
        }


        Object obj = null;
        System.out.println(obj.toString()); //NullPointerException

        int[] ar = new int[2];
        System.out.println(ar[2]); //ArrayIndexOutOfBoundsException

    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=9xW7o1sIkRE

package com.devdojo.javacore.o.exception.checkedexception.teste;

import java.io.File;
import java.io.IOException;

public class CheckedExceptionTest {
    public static void main(String[] args) {
        criarArquivo();
    }

    public static void criarArquivo(){
        File file = new File("Teste.txt");
        try {
            System.out.println("Arquivo Criado? " + file.createNewFile());
            System.out.println("Arquivo criado com sucesso!!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
package com.devdojo.javacore.o.exception.runtimeexception.teste;

public class RuntimeException {
    public static void main(String[] args) {
        int a = 10;
        int b = 0;

        if(b != 0){ // "Tratamento"
            int c = a/b;
            System.out.println(c);
        }


        Object obj = null;
        //System.out.println(obj.toString()); //NullPointerException

        try{
            int[] ar = new int[2];
            System.out.println(ar[2]); //ArrayIndexOutOfBoundsException
            System.out.println("Imprimindo depois da possivel excecao");
        }catch (java.lang.RuntimeException e ){
            e.printStackTrace();
        }


    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=YzoQMLfY7-c

package com.devdojo.javacore.o.exception.runtimeexception.teste;

public class RuntimeException {
    public static void main(String[] args) {
        try{
            divisao(10,0);
        }catch (java.lang.RuntimeException e){
            System.out.println(e.getStackTrace());
            e.printStackTrace();
        }
    }

    public static void divisao(int a, int b){
        if(b == 0){
            throw new IllegalArgumentException("Valor precisa ser diferente de ZERO");
        }
        int result = a/b;
        System.out.println(result);
    }
}
package com.devdojo.javacore.o.exception.checkedexception.teste;

import java.io.File;
import java.io.IOException;

public class CheckedExceptionTest {
    public static void main(String[] args) {
        try {
            criarArquivo();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void criarArquivo() throws IOException{
        File file = new File("Teste.txt");
        try {
            System.out.println("Arquivo Criado? " + file.createNewFile());
            System.out.println("Arquivo criado com sucesso!!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

Voltar ao Índice


https://www.youtube.com/watch?v=OtJVX2K8jGY

package com.devdojo.javacore.o.exception.checkedexception.teste;

import java.io.File;
import java.io.IOException;

public class CheckedExceptionTest {
    public static void main(String[] args) {
        abrindoArquivo();
    }

    public static void criarArquivo() throws IOException {
        File file = new File("Teste.txt");
        try {
            System.out.println("Arquivo Criado? " + file.createNewFile());
            System.out.println("Arquivo criado com sucesso!!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static String abrindoArquivo() {
        try {
            System.out.println("Abrindo ARQUIVO!!");
            System.out.println("Executando A LEITURA");
            //throw new Exception();
            System.out.println("Escrevendo no arquivo");
            return "valor";
        } catch (Exception e) {
            System.out.println("Dentro do CATCH");
            e.printStackTrace();
        } finally { //sempre executado
            System.out.println("FECHANDO ARQUIVO");
        }
        return null;
    }

}

Voltar ao Índice


https://www.youtube.com/watch?v=IL0-EWlytzA&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=73

package com.devdojo.javacore.o.exception.runtimeexception.teste;

import java.io.FileNotFoundException;
import java.sql.SQLException;

public class MultiplasRuntimeExceltionTeste {
    public static void main(String[] args) {

        try {
            throw new IndexOutOfBoundsException();
        } catch (IllegalArgumentException | IndexOutOfBoundsException | ArithmeticException e) {
            System.out.println("dentro do ArrayIndexOutOfBoundsException");
        }
        System.out.println("final do programa");

        try {
            talvezLanceException();
        } catch (SQLException e) {
            e.printStackTrace();
        }catch (FileNotFoundException e) {
            e.printStackTrace();
        }

    }

    private static void talvezLanceException() throws SQLException, FileNotFoundException {

    }
}

Voltar ao Índice


package com.devdojo.javacore.o.exception.runtimeexception.teste;

import java.awt.*;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.SQLException;

public class MultiplasRuntimeExceltionTeste {
    public static void main(String[] args) {
        try {
            throw new IndexOutOfBoundsException();
        } catch (IllegalArgumentException | IndexOutOfBoundsException | ArithmeticException e) {
            System.out.println("dentro do ArrayIndexOutOfBoundsException");
        }
        System.out.println("final do programa");

        try {
            talvezLanceException();
        } catch (Exception e) {

        }
    }

    private static void talvezLanceException() throws SQLException, AWTException, IOException {

    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=Medf33blG4M&index=75&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.o.exception.checkedexception.classes;

public class Leitor1 implements AutoCloseable{
    @Override
    public void close() throws Exception {
        System.out.println("FECHANDO O LEITOR 1");
    }
}
package com.devdojo.javacore.o.exception.checkedexception.classes;

public class Leitor2 implements AutoCloseable {

    @Override
    public void close() throws Exception {
        System.out.println("Fechando o LEITOR 2");
    }
}
package com.devdojo.javacore.o.exception.checkedexception.teste;

import com.devdojo.javacore.o.exception.checkedexception.classes.Leitor1;
import com.devdojo.javacore.o.exception.checkedexception.classes.Leitor2;

import java.io.*;

public class TryWithResourcesTest {
    public static void main(String[] args) {
        lerArquivo();
    }

    public static void lerArquivo() {
        try (Leitor2 leitor2 = new Leitor2();
             Leitor1 leitor1 = new Leitor1()) {

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void lerArquivoOld() {
        Reader reader = null;
        try {
            reader = new BufferedReader(new FileReader("text.txt"));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            try {
                if (reader != null) {
                    reader.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=HoXCxdcCN6o&index=76&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.o.exception.customexceptions.classes;

public class LoginInvalidoException extends Exception {

    public LoginInvalidoException() {
        super("--->>> Usuario ou senha inválidos!! <<<---");
    }

}
package com.devdojo.javacore.o.exception.customexceptions.teste;

import com.devdojo.javacore.o.exception.customexceptions.classes.LoginInvalidoException;

public class CustomExceptionTest {
    public static void main(String[] args) {
        try {
            logar();
        } catch (LoginInvalidoException e) {
            e.printStackTrace();
        }
    }

    private static void logar() throws LoginInvalidoException {
        String usuarioBancoDeDados = "goku";
        String senhaBancoDeDados = "111";
        String usuarioDigitado = "goku";
        String senhaDigitada = "123";
        if (!usuarioBancoDeDados.equals(usuarioDigitado) || !senhaBancoDeDados.equals(senhaDigitada)) {
            throw new LoginInvalidoException();
        } else {
            System.out.println("Logado!");
        }
    }

}

Voltar ao Índice


https://www.youtube.com/watch?v=CxTXrKWXzo4&index=77&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.o.exception.sobrescrita.classes;

import com.devdojo.javacore.o.exception.customexceptions.classes.LoginInvalidoException;

import java.io.FileNotFoundException;

public class Pessoa {
    public void salvar() throws LoginInvalidoException, FileNotFoundException{

    }
}
package com.devdojo.javacore.o.exception.sobrescrita.classes;

import java.io.FileNotFoundException;

public class Funcionario extends Pessoa{

    public void salvar() throws FileNotFoundException{

    }
}
package com.devdojo.javacore.o.exception.sobrescrita.teste;

import com.devdojo.javacore.o.exception.customexceptions.classes.LoginInvalidoException;
import com.devdojo.javacore.o.exception.sobrescrita.classes.Funcionario;
import com.devdojo.javacore.o.exception.sobrescrita.classes.Pessoa;

import java.io.FileNotFoundException;

public class SObrescritaComExceptionTeste {
    public static void main(String[] args) {
        Funcionario f = new Funcionario();
        Pessoa p = new Pessoa();

        try {
            p.salvar();
        } catch (LoginInvalidoException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=kd8L6jS8C3Q&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=78

package com.devdojo.javacore.p.assrtions.teste;

public class AssertTest {
    public static void main(String[] args) {
        calculaSalario(-10000);
    }

    private static void calculaSalario(double salario) {
        assert (salario > 0) : "Não pode ser menor que ZERO!!" + salario;
        // em config VM -> -ea //habilita
        // em config VM -> -ea:com.devdojo.javacore.p.assrtions.teste.AssertTest //habilita para a classe
        // em config VM -> -ea -da:com.devdojo.javacore.p.assrtions.teste.AssertTest //desabilita para a classe
        // em config VM -> -da //desabilita
    }

    public static void calcSalario(double salario) {
        if (salario < 0) {
            throw new IllegalArgumentException();
        }
    }

    public static void diasDaSemana(int dia) {
        switch (dia) {
            case 1:
                break;
            case 2:
                break;
            case 3:
                break;
            case 4:
                break;
            case 5:
                break;
            case 6:
                break;
            case 7:
                break;
            default:
                assert false;
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=MBm7iyYt6NQ&index=79&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.r.wrappers;

public class WrappersTest {
    public static void main(String[] args) {
        byte bytePrimitivo = 1;
        short shortPrimitivo = 1;
        int intPrimitivo = 10;
        long longPrimitivo = 10;
        float floatPrimitivo = 10;
        double doublePrimitivo = 10F;
        char charPrimitivo = 'A';
        boolean booleanPrimitivo = true;

        Byte byteWrapper = 1;
        Short shortWrapper = 1;
        Integer integerWrapper = 1;
        Long longWrapper = 1L;
        Float floatWrapper = 10f;
        Double doubleWrapper = 10D;
        Character characterWrapper = 'A';
        Boolean booleanWrapper = true;

    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=s5AEuHhR2PY&index=80&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.r.wrappers;

public class WrappersTest {
    public static void main(String[] args) {
        byte bytePrimitivo = 1;
        short shortPrimitivo = 1;
        int intPrimitivo = 10;
        long longPrimitivo = 10;
        float floatPrimitivo = 10;
        double doublePrimitivo = 10F;
        char charPrimitivo = 'A';
        boolean booleanPrimitivo = true;

        Byte byteWrapper = 1;
        Short shortWrapper = 1;
        //Integer integerWrapper = 1;
        Integer integerWrapper = new Integer("10");
        //Long longWrapper = 1L;
        Long longWrapper = Long.valueOf("10");
        //Float floatWrapper = 10f;
        Float floatWrapper = new Float("10");
        Double doubleWrapper = 10D;
        Character characterWrapper = 'A';
        Boolean booleanWrapper = new Boolean("TrUe");

        String valor = "10";
        Float f = Float.parseFloat(valor);

        System.out.println(Character.isDigit('9'));
        System.out.println(Character.isLetter('1'));
        System.out.println(Character.isLetterOrDigit('#'));
        System.out.println(Character.isUpperCase('A'));
        System.out.println(Character.isLowerCase('A'));
        System.out.println(Character.toUpperCase('9'));
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=n0B_KA3DHHg&index=81&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.s.string;

public class StringTest {
    public static void main(String[] args) {
        String nome = "Jose";
        nome = nome.concat(" Malcher"); // nome += " Suane";
        String nome2 = "William";
        String nome3 = new String("Catarina");
        // 1 - variavel de referencia,
        // 2 - um objeto do tipo string,
        // 3 - Uma string no pool de String

        System.out.println(nome3);

    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=2gcrpIZVKpk&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=82

package com.devdojo.javacore.s.string;

public class StringTest {
    public static void main(String[] args) {
        String nome = "Jose";
        nome = nome.concat(" Malcher"); // nome += " Suane";
        String nome2 = "William";
        String nome3 = new String("Catarina");
        // 1 - variavel de referencia,
        // 2 - um objeto do tipo string,
        // 3 - Uma string no pool de String

        String teste = " Goku";
        String teste2 = "     0123456789       ";
        System.out.println(teste.charAt(3));
        System.out.println(teste.equalsIgnoreCase(teste2));
        System.out.println(teste.length());
        System.out.println(teste2.replace('a','o'));
        System.out.println(teste2.toLowerCase());
        System.out.println(teste2.toUpperCase());
        System.out.println(teste2.substring(0,5));
        System.out.println(teste2.trim());

    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=3ctBVJQaMWM&index=83&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.s.string;

public class StringPerformanceTest {
    public static void main(String[] args) {
        long inicio = System.currentTimeMillis();
        concatString(100000);
        long fim = System.currentTimeMillis();
        System.out.println("Tempo gasto String " + (fim - inicio) + " ms");

        inicio = System.currentTimeMillis();
        concatStringBuilder(100000);
        fim = System.currentTimeMillis();
        System.out.println("Tempo gasto StringBuilder " + (fim - inicio) + " ms");

        inicio = System.currentTimeMillis();
        concatStringBuffer(100000);
        fim = System.currentTimeMillis();
        System.out.println("Tempo gasto StringBuffer " + (fim - inicio) + " ms");
    }

    private static void concatString(int tam) {
        String string = "";
        for (int i = 0; i < tam; i++) {
            string += i;
        }
    }

    private static void concatStringBuilder(int tam) {
        StringBuilder sb = new StringBuilder(tam);
        for (int i = 0; i < tam; i++) {
            sb.append(i);
        }
    }

    private static void concatStringBuffer(int tam) {
        StringBuffer sb = new StringBuffer(tam);
        for (int i = 0; i < tam; i++) {
            sb.append(i);
        }
    }
}
"C:\Program Files\Java\jdk1.8.0_144\bin\java" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3\lib\idea_rt.jar=62606:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_144\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\rt.jar;C:\Users\josemalcher\Documents\09-Workspaces\workspace-DEVDOJO-Maratona-JAVA\out\production\workspace-DEVDOJO-Maratona-JAVA" com.devdojo.javacore.s.string.StringPerformanceTest
Tempo gasto String 33076 ms
Tempo gasto StringBuilder 5 ms
Tempo gasto StringBuffer 7 ms

Voltar ao Índice


https://www.youtube.com/watch?v=QY92U86m77s&index=84&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.s.string;

public class StringBuilderTest {
    public static void main(String[] args) {
        String s = "Uma frase comum...";
        StringBuffer sb = new StringBuffer(16);
//        sb.append("Uma Frase comum 2 - ");
//        sb.append(" teste");
//        System.out.println(sb.reverse());
        sb.append("0123456789");
        //System.out.println(sb.delete(0,2));
        System.out.println(sb.insert(2, "###"));
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=A7dJK1CNxKA&index=85&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.t.datas;

import java.util.Calendar;
import java.util.Date;

public class ManipulacaoDeDatasTest {
    public static void main(String[] args) {
        Date date = new Date();
        date.setTime(date.getTime() + 3_600_000L);
        System.out.println(date);

        Calendar c = Calendar.getInstance();
        System.out.println(c);
        //c.setTime(date);
        if (Calendar.SUNDAY == c.getFirstDayOfWeek()) {
            System.out.println("Domingo é o primeiro dia da semana");
        }
        System.out.println(c.get(Calendar.DAY_OF_MONTH));
        System.out.println(c.get(Calendar.DAY_OF_WEEK));
        System.out.println(c.get(Calendar.DAY_OF_YEAR));
        c.roll(Calendar.HOUR, 24);
        //c.roll(Calendar.MONTH, 9);
        Date date2 = c.getTime();
        System.out.println(date2);

        // NumberFormat, Locale, Calendar, Date, DateFormat

    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=Fmwg6ECNVXI&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=86

package com.devdojo.javacore.t.datas;

import java.text.DateFormat;
import java.util.Calendar;

public class DateFormatTest {
    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();
        DateFormat[] dfa = new DateFormat[6];
        dfa[0] = DateFormat.getInstance();
        dfa[1] = DateFormat.getDateInstance();
        dfa[2] = DateFormat.getDateInstance(DateFormat.SHORT);
        dfa[3] = DateFormat.getDateInstance(DateFormat.MEDIUM);
        dfa[4] = DateFormat.getDateInstance(DateFormat.LONG);
        dfa[5] = DateFormat.getDateInstance(DateFormat.FULL);

        for (DateFormat df : dfa) {
            System.out.println(df.format(c.getTime()));
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=UZC14RpxdmQ&index=87&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.t.datas;

import java.text.DateFormat;
import java.util.Calendar;
import java.util.Locale;

public class LocaleTest {
    public static void main(String[] args) {
        //ISO 639
        // pt= portugues  BR - Brazil,
        // en - ingles,   US - Estados Unidos
        Locale locItaly = new Locale("it", "IT");
        Locale locSuica = new Locale("it", "CH");
        Locale locIndia = new Locale("hi", "IN");
        Locale locJapao = new Locale("ja");

        Calendar c = Calendar.getInstance();
        DateFormat df =  DateFormat.getDateInstance(DateFormat.FULL, locItaly);
        DateFormat df2 = DateFormat.getDateInstance(DateFormat.FULL, locSuica);
        DateFormat df3 = DateFormat.getDateInstance(DateFormat.FULL, locIndia);
        DateFormat df4 = DateFormat.getDateInstance(DateFormat.FULL, locJapao);

        System.out.println("Italia " + df.format(c.getTime()));
        System.out.println("Suica " + df2.format(c.getTime()));
        System.out.println("India " + df3.format(c.getTime()));
        System.out.println("Japao " + df4.format(c.getTime()));
        //1.000,00(BR) , 1,000.00(EUA)
        System.out.println(locItaly.getDisplayLanguage(locJapao));
        System.out.println(locJapao.getDisplayLanguage(locItaly));
        System.out.println(locSuica.getDisplayCountry(locItaly));
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=xACEG97W8p0&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=88

package com.devdojo.javacore.t.datas;

import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Locale;

public class NumberFormatTest {
    public static void main(String[] args) {
        float valor = 212.4567f;
        Locale locJP = new Locale("jp");
        Locale locFR = new Locale("fr");
        Locale locIT = new Locale("it");

        NumberFormat[] nfa = new NumberFormat[4];
        nfa[0] = NumberFormat.getInstance();
        nfa[1] = NumberFormat.getInstance(locIT);
        nfa[2] = NumberFormat.getCurrencyInstance();
        nfa[3] = NumberFormat.getCurrencyInstance(locIT);

        for (NumberFormat nf : nfa) {
            System.out.println(nf.format(valor));
        }

        NumberFormat nf = NumberFormat.getInstance();
        System.out.println(nf.getMaximumFractionDigits());
        nf.setMaximumFractionDigits(1);
        System.out.println(nf.format(valor));
        String valorString = "212.4567";

        try {
            System.out.println(nf.parse(valorString));
            nf.setParseIntegerOnly(true);
            System.out.println(nf.parse(valorString));
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=ruc10Zv4F24&index=89&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.t.datas;

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class SimpleDateFormatTest {
    public static void main(String[] args) {

        Calendar c = Calendar.getInstance();
        String mascara = "'Atlanta,' dd 'de' MMMM 'de' yyyy";
        SimpleDateFormat formatador = new SimpleDateFormat(mascara);
        System.out.println(formatador.format(c.getTime()));

    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=-Pmnb_no1bQ&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=90

package com.devdojo.javacore.u.expressoesregulares;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ExpressoesRegularesTest {
    public static void main(String[] args) {

        String regex = "aba";
        String texto = "abababa";

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(texto);
        System.out.println("texto:  "+texto);
        System.out.println("indice: 0123456789");
        System.out.println("expressao: "+matcher.pattern());
        System.out.println("posicoes encontradas");
        while(matcher.find()){
            System.out.print(matcher.start() +" ");
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=rY6sA1vdSPA&index=91&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.u.expressoesregulares;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ExpressoesRegularesTest {
    public static void main(String[] args) {
        // \d - todos os digitos
        // \D tudo o que não for digito
        // \s espaços em branco \t \n \f \r
        // \S caractere que não é branco
        // \w caracteres de palavras a-z A-Z, digitos e _
        // \W tudo o que não for caractere de palavra

        String regex = "\\W";
        String texto = "#@hab1278 \t_";

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(texto);
        System.out.println("texto:  " + texto);
        System.out.println("indice: 012345678901234567");
        System.out.println("expressao: " + matcher.pattern());
        System.out.println("posicoes encontradas");
        while (matcher.find()) {
            System.out.print(matcher.start() + " ");
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=rUweIU5UuW0&index=92&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.u.expressoesregulares;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ExpressoesRegularesTest {
    public static void main(String[] args) {
        // \d - todos os digitos
        // \D tudo o que não for digito
        // \s espaços em branco \t \n \f \r
        // \S caractere que não é branco
        // \w caracteres de palavras a-z A-Z, digitos e _
        // \W tudo o que não for caractere de palavra
        // []

        int hex = 0x1;

        String regex = "0[xX][0-9a-fA-F]";
        String texto = "12 0x 0X 0xFFABC 0x10G 0x1";

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(texto);
        System.out.println("texto:  "+texto);
        System.out.println("indice: 012345678901234567");
        System.out.println("expressao: "+matcher.pattern());
        System.out.println("posicoes encontradas");
        while(matcher.find()){
            System.out.println(matcher.start() +" "+ matcher.group());
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=z2Immdl1-5Q&index=93&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.u.expressoesregulares;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ExpressoesRegularesTest {
    public static void main(String[] args) {
        // \d - todos os digitos
        // \D tudo o que não for digito
        // \s espaços em branco \t \n \f \r
        // \S caractere que não é branco
        // \w caracteres de palavras a-z A-Z, digitos e _
        // \W tudo o que não for caractere de palavra
        // []
        // ? zero ou uma
        // * zero ou mais
        // + uma ou mais
        // {n,m} de n ate m
        // ( )
        // |
        // $

        int hex = 0x1;

        String regex = "0[xX]([0-9a-fA-F])+(\\s|$)";
        String texto = "12 0x 0X 0x01FFABC 0x10G 0x1";

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(texto);
        System.out.println("texto:  " + texto);
        System.out.println("indice: 012345678901234567");
        System.out.println("expressao: " + matcher.pattern());
        System.out.println("posicoes encontradas");
        while (matcher.find()) {
            System.out.println(matcher.start() + " " + matcher.group());
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=LfT1kT64cFQ&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=94

package com.devdojo.javacore.u.expressoesregulares;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ExpressoesRegularesTest {
    public static void main(String[] args) {
        // \d - todos os digitos
        // \D tudo o que não for digito
        // \s espaços em branco \t \n \f \r
        // \S caractere que não é branco
        // \w caracteres de palavras a-z A-Z, digitos e _
        // \W tudo o que não for caractere de palavra
        // []
        // ? zero ou uma
        // * zero ou mais
        // + uma ou mais
        // {n,m} de n ate m
        // ( )
        // |
        // $
        // . coringa 1.3 = 123,133,1A3,1#3, 1 3
        
        int hex = 0x1;

        //String regex = "0[xX]([0-9a-fA-F])+(\\s|$)";
        //String texto = "12 0x 0X 0x01FFABC 0x10G 0x1";
        //String regex = "([a-zA-Z0-9\\._-])+@([a-zA-Z])+(\\.([a-zA-Z])+)+"; //([\\w\\.])+@([a-zA-Z])+(\.([a-zA-Z])+)+
        //String texto = "[email protected], [email protected], #@[email protected], [email protected], teste@mail";
        String regex = "\\d{2}/\\d{2}/\\d{2,4}";
        String texto = "05/10/2010 05/05/2015 1/1/01 01/05/95"; // dd/MM/yyyy

//        System.out.println("Email valido? "+ "#@[email protected]".matches(regex));
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(texto);
        System.out.println("texto:  "+texto);
        System.out.println("indice: 012345678901234567");
        System.out.println("expressao: "+matcher.pattern());
        System.out.println("posicoes encontradas");
        while(matcher.find()){
            System.out.println(matcher.start() +" "+ matcher.group());
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=NHejMxwN2wc&index=95&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.u.expressoesregulares;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ExpressoesRegularesTest {
    public static void main(String[] args) {
        // \d - todos os digitos
        // \D tudo o que não for digito
        // \s espaços em branco \t \n \f \r
        // \S caractere que não é branco
        // \w caracteres de palavras a-z A-Z, digitos e _
        // \W tudo o que não for caractere de palavra
        // []
        // ? zero ou uma
        // * zero ou mais
        // + uma ou mais
        // {n,m} de n ate m
        // ( )
        // |
        // $
        // . coringa 1.3 = 123,133,1A3,1#3, 1 3
        // ^ [^abc]

        int hex = 0x1;

        //String regex = "0[xX]([0-9a-fA-F])+(\\s|$)";
        //String texto = "12 0x 0X 0x01FFABC 0x10G 0x1";
        //String regex = "([a-zA-Z0-9\\._-])+@([a-zA-Z])+(\\.([a-zA-Z])+)+"; //([\\w\\.])+@([a-zA-Z])+(\.([a-zA-Z])+)+
        //String texto = "[email protected], [email protected], #@[email protected], [email protected], teste@mail";
        //String regex = "\\d{2}/\\d{2}/\\d{2,4}";
        //String texto = "05/10/2010 05/05/2015 1/1/01 01/05/95"; // dd/MM/yyyy

        String regex = "proj([^,])*";
        String texto = "proj1.bkp, proj1.java, proj1.class, proj1final.java, proj2.bkp, proj3.java, diagrama, texto, foto"; // dd/MM/yyyy

        //System.out.println("Email valido? "+ "#@[email protected]".matches(regex));

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(texto);
        System.out.println("texto:  "+texto);
        System.out.println("indice: 012345678901234567");
        System.out.println("expressao: "+matcher.pattern());
        System.out.println("posicoes encontradas");
        while(matcher.find()){
            System.out.println(matcher.start() +" "+ matcher.group());
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=mbD6S4dHObw&index=96&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.u.expressoesregulares;

public class TokenTest {
    public static void main(String[] args) {
        String str = "José Malcher4 William9 Paulo1 Joana2 Camila3 Anna4 John5 Matheus";
        String[] tokens = str.split("\\d"); // delimitador / regex
        for (String arr : tokens) {
            System.out.println(arr.trim());
        }
    }
}
package com.devdojo.javacore.u.expressoesregulares;

import java.util.Scanner;

public class ScannerTest {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("1 true 100 oi");
        while (scanner.hasNext()) {
            System.out.println(scanner.next());
        }
        System.out.println("##########################");
        Scanner scanner2 = new Scanner("1 true 100 oi");
        while (scanner2.hasNext()) {
            if (scanner2.hasNextInt()) {
                int i = scanner2.nextInt();
                System.out.println("int " + i);
            } else if (scanner2.hasNextBoolean()) {
                boolean b = scanner2.nextBoolean();
                System.out.println(b);
            } else {
                System.out.println(scanner2.next());
            }
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=sQeG5rgwGIQ&index=97&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

messages.properties

show = show

messages_pt_BR.properties

# messages
! comentário
hello = Olá
good.morning = Bom Dia
show = SHOWWWW!!

messagens_en_US.properties

# messages
! comentário
hello = hello
good.morning = Good Morning

package com.devdojo.javacore.v.resourcebundle;

import java.util.Locale;
import java.util.ResourceBundle;

public class ResourceBundleTest {
    public static void main(String[] args) {
        System.out.println(Locale.getDefault());
        ResourceBundle rb = ResourceBundle.getBundle("messages", new Locale("en","US"));
        System.out.println(rb.getString("hello"));
        System.out.println(rb.getString("good.morning"));
        System.out.println(rb.getString("show"));
        rb = ResourceBundle.getBundle("messages", new Locale("pt","BR"));
        System.out.println(rb.getString("hello"));
        System.out.println(rb.getString("good.morning"));
        System.out.println(rb.getString("show"));
        
        //Locale locale = new Locale("fr","CA");
        //ResourceBundle.getBundle("messages",locale);

        //messages_fr_CA.properties
        //messages_fr.properties
        //messages_en_US.properties
        //messages_en.properties
        //messages.properties
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=OmeH6N4HI8U&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=98

Voltar ao Índice


https://www.youtube.com/watch?v=1MnFUxq3Z4M&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=99

package com.devdojo.javacore.w.io;

import java.io.File;
import java.io.IOException;
import java.util.Date;

public class FileTest {
    public static void main(String[] args) {
        File file = new File("Arquivo.txt");
        try {
            System.out.println(file.createNewFile());
            boolean exists = file.exists();
            System.out.println("Permissao de leitura? " + file.canRead());
            System.out.println("path " + file.getPath());
            System.out.println("path " + file.getAbsolutePath());
            System.out.println("diretorio? " + file.isDirectory());
            System.out.println("hidden? " + file.isHidden());
            System.out.println("last modified? " + new Date(file.lastModified()));
            if (exists) {
                System.out.println("Deletado? " + file.delete());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=Czq4WgIpAe0&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=100

package com.devdojo.javacore.w.io;

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class FileWriterReaderTest {
    public static void main(String[] args) {
        File file = new File("Arquivo.txt");
        try (FileWriter fw = new FileWriter(file);
             FileReader fr = new FileReader(file)) {
            fw.write("Escrevendo uma mensagem no arquivo\nE pulando uma linha 3");
            fw.flush();

            char[] in = new char[500];
            int size = fr.read(in);
            System.out.println("tamanho " + size);
            for (char c : in) {
                System.out.print(c);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        /*
        try {
            FileWriter fw = new FileWriter(file);
            fw.write("Escrevendo uma mensagem no arquivo\nE pulando uma linha 3");
            fw.flush();
            fw.close();

            FileReader fr = new FileReader(file);
            char[] in = new char[500];
            int size = fr.read(in);
            System.out.println("tamanho "+size);
            for(char c: in){
                System.out.print(c);
            }
            fr.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    */
    }

}

Voltar ao Índice


https://www.youtube.com/watch?v=PySJ7sq7hpE&index=101&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.w.io;

import java.io.*;

public class BufferedTest {
    public static void main(String[] args) {
        File file = new File("Arquivo.txt");

        try (BufferedWriter bw = new BufferedWriter(new FileWriter(file));
             BufferedReader br = new BufferedReader(new FileReader(file))) {
            bw.write("Escrevendo uma mensagem no arquivo");
            bw.newLine();
            bw.write("E pulando uma linha 3");
            bw.flush();
            String s;
            while ((s = br.readLine()) != null) {
                System.out.println(s);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
        /*
        try {
            FileWriter fw = new FileWriter(file);
            BufferedWriter bw = new BufferedWriter(fw);

            bw.write("Escrevendo uma mensagem no arquivo");
            bw.newLine();
            bw.write("E pulando uma linha 3");
            bw.flush();
            bw.close();

            FileReader fr = new FileReader(file);
            BufferedReader br = new BufferedReader(fr);
            String s = null;
            while ((s = br.readLine()) != null) {
                System.out.println(s);
            }
            br.close();
            //file não tem o close
        } catch (IOException e) {
            e.printStackTrace();
        }
        */
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=2rLO4JGwnOI&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=102

package com.devdojo.javacore.w.io;

import java.io.File;
import java.io.IOException;

public class FileDiretorioTest {
    public static void main(String[] args) throws IOException {
       /*
       File diretorio = new File("folder");
        boolean mkdir = diretorio.mkdir();
        System.out.println("Diretorio Criado " + mkdir);

        File arquivo = new File(diretorio,"arquivo.txt");
        boolean newFile = arquivo.createNewFile();
        System.out.println("Arquivo criado " + newFile);

        File arquivoNovoNome = new File(diretorio,"arquivo_renomeado.txt");
        boolean renamed = arquivo.renameTo(arquivoNovoNome);
        System.out.println("Renomeado "+renamed);

        File diretorioRenomeado = new File("folder2");
        boolean diretorioRenamed = diretorio.renameTo(diretorioRenomeado);
        System.out.println("diretorio renomeado: "+diretorioRenamed);
        */
        buscarArquivos();
    }

    public static void buscarArquivos() {
        File file = new File("folder2");
        String[] list = file.list();
        for (String arquivo : list) {
            System.out.println(arquivo);
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=URfifIDhQ_k&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=103

package com.devdojo.javacore.w.io;

import java.io.Console;

public class ConsoleTest {
    public static void main(String[] args) {
        /*
            Executar no terminarl
         */
        Console c = System.console();
        char[] pw = c.readPassword("%s", "pw: ");
        for(char pass : pw){
            c.format("%c ", pass);
        }
        c.format("\n");
        String texto;
        while(true){
            texto = c.readLine("%s","Digite: ");
            c.format("esse texto %s foi digitado", retorno(texto));
        }
    }

    public static String retorno(String arg1){
        return arg1;
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=RX3kPWkuZMQ&index=104&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.x.nio;

import java.nio.file.Path;
import java.nio.file.Paths;

public class CriandoPathTest {
    public static void main(String[] args) {
        // C:\Users\GCUIT\Google Drive\GCU\JavaOnline
        Path p1 = Paths.get("C:\\Users\\GCUIT\\Google Drive\\GCU\\JavaOnline\\Arquivo.txt");
        Path p2 = Paths.get("C:\\Users\\GCUIT\\Google Drive\\GCU\\JavaOnline", "Arquivo.txt");
        Path p3 = Paths.get("C:", "Users\\GCUIT\\Google Drive\\GCU\\JavaOnline", "Arquivo.txt");
        Path p4 = Paths.get("C:", "Users", "GCUIT", "Google Drive", "GCU", "JavaOnline", "Arquivo.txt");

    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=gdHpxnp09_s&index=105&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.x.nio;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;

public class CriandoPathTest {
    public static void main(String[] args) {
        // C:\Users\GCUIT\Google Drive\GCU\JavaOnline
        Path p1 = Paths.get("C:\\Users\\GCUIT\\Google Drive\\GCU\\JavaOnline\\Arquivo.txt");
        Path p2 = Paths.get("C:\\Users\\GCUIT\\Google Drive\\GCU\\JavaOnline", "Arquivo.txt");
        Path p3 = Paths.get("C:", "Users\\GCUIT\\Google Drive\\GCU\\JavaOnline", "Arquivo.txt");
        Path p4 = Paths.get("C:", "Users", "GCUIT", "Google Drive", "GCU", "JavaOnline", "Arquivo.txt");
        System.out.println(p4.toAbsolutePath());
        File file = p4.toFile();
        Path path = file.toPath();

        Path path1 = Paths.get("pasta");
        Path path2 = Paths.get("pasta\\subpasta\\subsubpasta\\");
        Path arquivo = Paths.get("pasta\\subpasta\\subsubpasta\\file.txt");
        try {
//            if (Files.notExists(path1))
//                Files.createDirectory(path1);
            if (Files.notExists(path2.getParent()))
                Files.createDirectories(path2.getParent());
            if (Files.notExists(arquivo))
                Files.createFile(arquivo);
        } catch (IOException e) {
            e.printStackTrace();
        }
        Path source = Paths.get("folder2\\arquivo.txt");
        Path target = Paths.get(path2.toString() + "\\arquivoCopiado.txt");
        try {
            Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);
            Files.deleteIfExists(target);
        } catch (IOException e) {
            e.printStackTrace();
        }


    }
}

Aula 104: NIO pt 02 Uso básico das classes Path, Paths, Files

Voltar ao Índice


https://www.youtube.com/watch?v=nBIqYjEb6ZA&index=106&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.x.nio;

import java.nio.file.Path;
import java.nio.file.Paths;

public class NormalizacaoTest {
    public static void main(String[] args) {

        String diretorioProjeto = "JavaOnline\\home\\william\\dev";
        String arquivoTxt = "..\\..\\arquivo.txt"; //voltar
        Path p1 = Paths.get(diretorioProjeto,arquivoTxt);
        System.out.println(p1);
        System.out.println(p1.normalize());

        Path p2 = Paths.get("a/./b/./c"); // '/.' ref. ao mesmo diretorio
        System.out.println(p2);
        System.out.println(p2.normalize());
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=f0sAcBBdkoA&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=107

package com.devdojo.javacore.x.nio;

import java.nio.file.Path;
import java.nio.file.Paths;

public class ResolvendoPaths {
    public static void main(String[] args) {
        Path dir = Paths.get("home\\jose");
        Path arquivo = Paths.get("dev\\arquivo.txt");
        Path result = dir.resolve(arquivo);
        System.out.println(result);

        Path absoluto = Paths.get("/home/jose");
        Path relativo = Paths.get("dev");
        Path file = Paths.get("file.txt");

        System.out.println("1: "+absoluto.resolve(relativo));
        System.out.println("2: "+absoluto.resolve(file));
        System.out.println("3: "+relativo.resolve(file));
        System.out.println("4: "+relativo.resolve(absoluto));
        System.out.println("5: "+file.resolve(absoluto));
        System.out.println("6: "+file.resolve(relativo));
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=UkPKm3Hdi1A&index=108&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.x.nio;

import java.nio.file.Path;
import java.nio.file.Paths;

public class RelativizarTest {
    public static void main(String[] args) {
        Path dir = Paths.get("/home/jose");
        Path classe = Paths.get("/home/jose/java/Pessoa.java");
        Path pathToClasse = dir.relativize(classe);
        System.out.println(pathToClasse);

        Path absoluto1 = Paths.get("/home/jose");
        Path absoluto2 = Paths.get("/usr/local");
        Path absoluto3 = Paths.get("/home/jose/java/Pessoa.java");
        Path relativo1 = Paths.get("temp");
        Path relativo2 = Paths.get("temp/Funcionario.java");
        System.out.println("1: "+absoluto1.relativize(absoluto3));
        System.out.println("2: "+absoluto3.relativize(absoluto1));
        System.out.println("3: "+absoluto1.relativize(absoluto2));
        System.out.println("4: "+relativo1.relativize(relativo2));
        //System.out.println("5: "+absoluto1.relativize(relativo1));
        /*
        Exception in thread "main" java.lang.IllegalArgumentException: 'other' is different type of Path
	    at sun.nio.fs.WindowsPath.relativize(WindowsPath.java:388)
	    at sun.nio.fs.WindowsPath.relativize(WindowsPath.java:44)
	    at com.devdojo.javacore.x.nio.RelativizarTest.main(RelativizarTest.java:22)
         */
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=ydmOXDRSTBU&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=109

package com.devdojo.javacore.x.nio;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributeView;
import java.nio.file.attribute.BasicFileAttributes;
import java.nio.file.attribute.FileTime;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class AtributosBasicosTest {
    public static void main(String[] args) throws IOException {

        Date primeiroDeDezemebro = new GregorianCalendar(2015, Calendar.DECEMBER, 1).getTime();
        File file = new File("folder2\\arquivo.txt");
        file.createNewFile();
        file.setLastModified(primeiroDeDezemebro.getTime());
        System.out.println(file.lastModified());
        file.delete();

        Path path = Paths.get("folder2\\arquivo_path.txt");
        Files.createFile(path);
        FileTime fileTime = FileTime.fromMillis(primeiroDeDezemebro.getTime());
        Files.setLastModifiedTime(path, fileTime);
        System.out.println(Files.getLastModifiedTime(path));
        Files.deleteIfExists(path);

        path = Paths.get("C:\\Users\\josemalcher\\Documents\\09-Workspaces\\workspace-DEVDOJO-Maratona-JAVA\\src\\com\\devdojo\\javacore\\a\\introducaoclasses\\classes\\Carro.java");
        System.out.println(Files.isReadable(path));
        System.out.println(Files.isWritable(path));
        System.out.println(Files.isExecutable(path));

        // BasicFileAttributes, PosixFileAttributes, DosFileAttributes
        BasicFileAttributes atributosBasicos = Files.readAttributes(path, BasicFileAttributes.class); //leitura visualizações
        System.out.println("create " + atributosBasicos.creationTime());
        System.out.println("lastAccess " + atributosBasicos.lastAccessTime());
        System.out.println("LastModified " + atributosBasicos.lastModifiedTime());
        System.out.println("-------------------------------");
        System.out.println(atributosBasicos.isDirectory());
        System.out.println(atributosBasicos.isSymbolicLink());
        System.out.println(atributosBasicos.isRegularFile());
        System.out.println("-------------------------------");

        // BasicFileAttributeView, PosixFileAttributeView, DosFileAttributeView, FileOwnerAttributeView, AclFileAttributeView
        FileTime lastModified = atributosBasicos.lastModifiedTime();
        FileTime created = atributosBasicos.creationTime();
        FileTime lastAcess = FileTime.fromMillis(System.currentTimeMillis());
        BasicFileAttributeView basicView = Files.getFileAttributeView(path, BasicFileAttributeView.class); //Alterações
        basicView.setTimes(lastModified, lastAcess, created);
        atributosBasicos = Files.readAttributes(path, BasicFileAttributes.class);
        System.out.println("create " + atributosBasicos.creationTime());
        System.out.println("lastAccess " + atributosBasicos.lastAccessTime());
        System.out.println("LastModified " + atributosBasicos.lastModifiedTime());


    }
}
"C:\Program Files\Java\jdk1.8.0_144\bin\java" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3\lib\idea_rt.jar=54615:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_144\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\rt.jar;C:\Users\josemalcher\Documents\09-Workspaces\workspace-DEVDOJO-Maratona-JAVA\out\production\workspace-DEVDOJO-Maratona-JAVA" com.devdojo.javacore.x.nio.AtributosBasicosTest
1448938800000
2015-12-01T03:00:00Z
true
true
true
create 2017-10-15T02:38:07.396696Z
lastAccess 2018-01-02T22:22:26.639Z
LastModified 2017-10-15T02:38:18.333822Z
-------------------------------
false
false
true
create 2017-10-15T02:38:07.396696Z
lastAccess 2018-01-02T22:23:55.311Z
LastModified 2017-10-15T02:38:18.333822Z

Process finished with exit code 0

Voltar ao Índice


https://www.youtube.com/watch?v=Q5yNdsxzB7M&index=110&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.x.nio;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.DosFileAttributeView;
import java.nio.file.attribute.DosFileAttributes;

public class DosFileAttributesTest {

    public static void main(String[] args) {
        Path path = Paths.get("folder2\\teste.txt");
        try {
            //Files.createFile(path);
            Files.setAttribute(path, "dos:hidden", true);
            Files.setAttribute(path, "dos:readonly", true);
            DosFileAttributes dos = Files.readAttributes(path, DosFileAttributes.class);
            System.out.println(dos.isHidden());
            System.out.println(dos.isReadOnly());

            //mais fácil
            DosFileAttributeView dosView = Files.getFileAttributeView(path, DosFileAttributeView.class);
            dosView.setHidden(false);
            dosView.setReadOnly(false);
            dos = Files.readAttributes(path, DosFileAttributes.class);
            System.out.println(dos.isHidden());
            System.out.println(dos.isReadOnly());

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=35_-UodFIwk&index=111&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.x.nio;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.PosixFileAttributes;
import java.nio.file.attribute.PosixFilePermission;
import java.nio.file.attribute.PosixFilePermissions;
import java.util.Set;

public class PosixFileAttributesTest {
    public static void main(String[] args) throws IOException {

        // roda no linux

        Path path = Paths.get("/home/william/dev/arquivo");
        PosixFileAttributes posix = Files.readAttributes(path, PosixFileAttributes.class);
        System.out.println(posix.permissions());

        System.out.println("Alterando as permissoes");
        Set<PosixFilePermission> permissions = PosixFilePermissions.fromString("rw-rw-rw-");
        Files.setPosixFilePermissions(path,permissions);
        posix = Files.readAttributes(path, PosixFileAttributes.class);
        System.out.println(posix.permissions());
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=FDFPtMpe1qo&index=112&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.x.nio;

import java.io.IOException;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class DirectoryStreamTest {
    public static void main(String[] args) {
        Path dir = Paths.get("pasta/subpasta/subsubpasta");
        try(DirectoryStream<Path> stream = Files.newDirectoryStream(dir)) {
            for(Path path : stream){
                System.out.println(path.getFileName());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

"C:\Program Files\Java\jdk1.8.0_144\bin\java" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3\lib\idea_rt.jar=59508:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_144\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\rt.jar;C:\Users\josemalcher\Documents\09-Workspaces\workspace-DEVDOJO-Maratona-JAVA\out\production\workspace-DEVDOJO-Maratona-JAVA" com.devdojo.javacore.x.nio.DirectoryStreamTest
file.bkp
file2.bkp
file2.txt
teste.txt

Process finished with exit code 0
package com.devdojo.javacore.x.nio;


import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;

class AcharTodosOsBkp extends SimpleFileVisitor<Path> {
    @Override
    public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
        if (file.getFileName().toString().endsWith(".bkp")) {
            System.out.println(file.getFileName());
        }
        return FileVisitResult.CONTINUE;
    }
}


public class FileVisitorTest {
    public static void main(String[] args) throws IOException {
        Files.walkFileTree(Paths.get("pasta/subpasta"), new PrintDirs());
    }
}


class PrintDirs extends SimpleFileVisitor<Path> {
    public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) {
        System.out.println("pre: " + dir);
//        if(dir.getFileName().toString().equals("subsubpasta")){
//            return FileVisitResult.SKIP_SIBLINGS;
//        }
        return FileVisitResult.CONTINUE;
    }

    @Override
    public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
        System.out.println("file " + file.getFileName());
        return FileVisitResult.CONTINUE;
    }

    @Override
    public FileVisitResult visitFileFailed(Path file, IOException exc)
            throws IOException {
        return FileVisitResult.CONTINUE;
    }

    public FileVisitResult postVisitDirectory(Path dir, IOException exc) {
        System.out.println("post: " + dir);
        return FileVisitResult.CONTINUE;
    }
}
"C:\Program Files\Java\jdk1.8.0_144\bin\java" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3\lib\idea_rt.jar=59726:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_144\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\rt.jar;C:\Users\josemalcher\Documents\09-Workspaces\workspace-DEVDOJO-Maratona-JAVA\out\production\workspace-DEVDOJO-Maratona-JAVA" com.devdojo.javacore.x.nio.FileVisitorTest
pre: pasta\subpasta
file outroarquivo.txt
pre: pasta\subpasta\subsubpasta
file file.bkp
file file2.bkp
file file2.txt
file teste.txt
post: pasta\subpasta\subsubpasta
post: pasta\subpasta

Process finished with exit code 0

Voltar ao Índice


https://www.youtube.com/watch?v=0lBmlr8KdF0&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=113

package com.devdojo.javacore.x.nio;


import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;

class FindAllTest extends SimpleFileVisitor<Path> {
    private PathMatcher matcher = FileSystems.getDefault().getPathMatcher("glob:**/*{Test*}.{java,class}");

    @Override
    public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
        if (matcher.matches(file)) {
            System.out.println(file.getFileName());
        }
        return FileVisitResult.CONTINUE;
    }
}

public class PathMatcherTest {
    public static void main(String[] args) throws IOException {
        Path path1 = Paths.get("pasta/subpasta/subsubpasta/file.bkp");
        Path path2 = Paths.get("file.bkp");
        Path path3 = Paths.get("william");
        PathMatcher matcher = FileSystems.getDefault().getPathMatcher("glob:*.bkp");
        System.out.println(matcher.matches(path1));
        System.out.println(matcher.matches(path2));

        System.out.println("-------------------");
        matches(path1, "glob:*.bkp");
        matches(path1, "glob:**/*.bkp");
        matches(path1, "glob:*");
        matches(path1, "glob:**");
        System.out.println("-------------------");
        matches(path1, "glob:*.???");
        matches(path1, "glob:**/*.???");
        matches(path1, "glob:**.???");
        System.out.println("-------------------");
        matches(path3, "glob:{william*,suane*}");
        matches(path3, "glob:{william,suane}*");
        matches(path3, "glob:{william,suane}");

        Files.walkFileTree(Paths.get("./"), new FindAllTest());
    }

    private static void matches(Path path, String glob) {
        PathMatcher matcher = FileSystems.getDefault().getPathMatcher(glob);
        System.out.println(glob + ": " + matcher.matches(path));

    }
}
"C:\Program Files\Java\jdk1.8.0_144\bin\java" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3\lib\idea_rt.jar=59689:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_144\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_144\jre\lib\rt.jar;C:\Users\josemalcher\Documents\09-Workspaces\workspace-DEVDOJO-Maratona-JAVA\out\production\workspace-DEVDOJO-Maratona-JAVA" com.devdojo.javacore.x.nio.PathMatcherTest
false
true
-------------------
glob:*.bkp: false
glob:**/*.bkp: true
glob:*: false
glob:**: true
-------------------
glob:*.???: false
glob:**/*.???: true
glob:**.???: true
-------------------
glob:{william*,suane*}: true
glob:{william,suane}*: true
glob:{william,suane}: true
CarroTest.class
EstudanteTest.class
ProfessorTest.class
CalculadoraTest.class
EstudanteTest.class
ParametrosTest.class
ProfessorTest.class
FuncionarioTest.class
EstudanteTest.class
ClienteTeste.class
CarroTest.class
ClientTeste.class
AssociacaoTest.class
HerancaTeste.class
PessoaTeste.class
CarroTeste.class
ClienteTeste.class
FuncionarioTeste.class
TesteProduto.class
DAOTeste.class
PolimorfismoTeste.class
CheckedExceptionTest.class
TryWithResourcesTest.class
CustomExceptionTest.class
ErrorTeste.class
MultiplasRuntimeExceltionTeste.class
SObrescritaComExceptionTeste.class
AssertTest.class
WrappersTest.class
StringBuilderTest.class
StringPerformanceTest.class
StringTest.class
DateFormatTest.class
LocaleTest.class
ManipulacaoDeDatasTest.class
NumberFormatTest.class
SimpleDateFormatTest.class
ExpressoesRegularesTest.class
ScannerTest.class
TokenTest.class
ResourceBundleTest.class
BufferedTest.class
ConsoleTest.class
FileDiretorioTest.class
FileTest.class
FileWriterReaderTest.class
AtributosBasicosTest.class
CriandoPathTest.class
DirectoryStreamTest.class
DosFileAttributesTest.class
FileVisitorTest.class
FindAllTest.class
NormalizacaoTest.class
PathMatcherTest.class
PosixFileAttributesTest.class
RelativizarTest.class
CarroTest.java
EstudanteTest.java
ProfessorTest.java
CalculadoraTest.java
EstudanteTest.java
ParametrosTest.java
ProfessorTest.java
FuncionarioTest.java
EstudanteTest.java
ClienteTeste.java
CarroTest.java
ClientTeste.java
AssociacaoTest.java
HerancaTeste.java
PessoaTeste.java
CarroTeste.java
ClienteTeste.java
FuncionarioTeste.java
TesteProduto.java
DAOTeste.java
PolimorfismoTeste.java
CheckedExceptionTest.java
TryWithResourcesTest.java
CustomExceptionTest.java
ErrorTeste.java
MultiplasRuntimeExceltionTeste.java
SObrescritaComExceptionTeste.java
AssertTest.java
WrappersTest.java
StringBuilderTest.java
StringPerformanceTest.java
StringTest.java
DateFormatTest.java
LocaleTest.java
ManipulacaoDeDatasTest.java
NumberFormatTest.java
SimpleDateFormatTest.java
ExpressoesRegularesTest.java
ScannerTest.java
TokenTest.java
ResourceBundleTest.java
BufferedTest.java
ConsoleTest.java
FileDiretorioTest.java
FileTest.java
FileWriterReaderTest.java
AtributosBasicosTest.java
CriandoPathTest.java
DirectoryStreamTest.java
DosFileAttributesTest.java
FileVisitorTest.java
NormalizacaoTest.java
PathMatcherTest.java
PosixFileAttributesTest.java
RelativizarTest.java

Process finished with exit code 0

Voltar ao Índice


https://www.youtube.com/watch?v=zvi6U0VxbjE&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=114

package com.devdojo.javacore.w.io;

import java.io.*;

public class StreamsTest {
    public static void main(String[] args) {
        //gravadorTunado();
        leitorTunado();
    }

    private static void gravador() {
        byte[] dados = {65, 66, 67, 68, 69, 70};
        try (FileOutputStream gravador = new FileOutputStream("pasta/stream.txt")) {
            gravador.write(dados);
            gravador.flush();
            System.out.println("Dados gravados com sucesso!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void leitor() {
        try (FileInputStream leitor = new FileInputStream("pasta/stream.txt")) {
            int leitura;
            while ((leitura = leitor.read()) != -1) {
                byte b = (byte) leitura;
                System.out.println(" " + b);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void gravadorTunado() {
        byte[] dados = {65, 66, 67, 68, 69, 70};
        try (BufferedOutputStream gravadorBuffer = new BufferedOutputStream(new FileOutputStream("pasta/stream.txt"), 4098)) {
            gravadorBuffer.write(dados);
            gravadorBuffer.flush();
            System.out.println("Dados gravados com sucesso!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void leitorTunado() {
        try (BufferedInputStream leitorBuffer = new BufferedInputStream(new FileInputStream("pasta/stream.txt"), 4098)) {
            int leitura;
            while ((leitura = leitorBuffer.read()) != -1) {
                byte b = (byte) leitura;
                System.out.println(" " + b);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=4X4trvL0AW0&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=115

package com.devdojo.javacore.x.nio;


import java.io.*;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;


public class ZipandoTest {
    public static void main(String[] args) {
        /*Esse é o path em que será salvo o arquivo.zip, lembre-se como o path não começa com / estamos trabalhando com o
         *path relativo. Isso significa que dentro da pasta do meu projeto existe o diretório pasta/subpasta
         *ex: C:\MeuProjetoJava\pasta\subpasta
         *No final ficará C:\MeuProjetoJava\pasta\subpasta\arquivo.zip
         */
        Path dirZip = Paths.get("pasta/subpasta");
        /*Dentro deste diretório estão todos os arquivos que queremos zipar. Vamos zipar todos os arquivos que estiverem
         * no diretório C:\MeuProjetoJava\pasta\subpasta\subsubpasta
         */
        Path dirFiles = Paths.get("pasta/subpasta/subsubpasta");
        /* O resolve vai juntar o primeiro path "pasta/subpasta" com o "arquivo.zip"
         * e utilizaremos a variável de referência zipFile para criar o arquivo.zip dentro do diretório pasta/subpasta.
         */
        Path zipFile = dirZip.resolve("arquivo.zip");
        // Ao ser executado esse try-with-resources vai criar o arquivo.zip imediatamente
        try (ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(zipFile.toFile()));
             // Comos vamos zipar todos os arquivos do diretório dirFiles apenas iteramos sobre eles usando DirectoryStream
             DirectoryStream<Path> stream = Files.newDirectoryStream(dirFiles)) {
            for (Path path : stream) {
                //Adicionamos ao arquivo.zip uma entrada ZipEntry, que será o arquivo que será copiado para dentro do zip
                zip.putNextEntry(new ZipEntry(path.getFileName().toString()));
                // O código abaixo copiará os dados do arquivo para o arquivo dentro do zip
                BufferedInputStream bf = new BufferedInputStream(new FileInputStream(path.toFile()));
                byte[] buff = new byte[2048];
                int bytesRead;
                while ((bytesRead = bf.read(buff)) > 0) {
                    zip.write(buff, 0, bytesRead);
                }
                zip.flush();
                zip.closeEntry();
                bf.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=5Rq6n-q471Q&index=116&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.y.serializacao.classes;

public class Pessoa {

}
package com.devdojo.javacore.y.serializacao.classes;

public class Turma {
    private String nome;

    public Turma(String nome) {
        this.nome = nome;
    }

    @Override
    public String toString() {
        return "Turma{" +
                "nome='" + nome + '\'' +
                '}';
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }
}
package com.devdojo.javacore.y.serializacao.classes;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class Aluno implements Serializable{
    private Long id;
    private String nome;
    private transient String password;
    private static String nomeEscola = "DevDojo :)";
    private transient Turma turma;

    public Aluno(Long id, String nome, String password) {
        System.out.println("Dentro do construtor");
        this.id = id;
        this.nome = nome;
        this.password = password;
    }

    @Override
    public String toString() {
        return "Aluno{" +
                "id=" + id +
                ", nome='" + nome + '\'' +
                ", password='" + password + '\'' +
                ", nomeEscola='" + nomeEscola + '\'' +
                ", turma='" + turma + '\'' +
                '}';
    }

    private void writeObject(ObjectOutputStream oos){
        try{
            oos.defaultWriteObject();
            oos.writeUTF(turma.getNome());
        }catch (IOException e){
            e.printStackTrace();
        }
    }

    private void readObject(ObjectInputStream ois){
        try{
            ois.defaultReadObject();
            turma = new Turma(ois.readUTF());
        }catch (IOException | ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public Turma getTurma() {
        return turma;
    }

    public void setTurma(Turma turma) {
        this.turma = turma;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public static String getNomeEscola() {
        return nomeEscola;
    }

    public static void setNomeEscola(String nomeEscola) {
        Aluno.nomeEscola = nomeEscola;
    }
}
package com.devdojo.javacore.y.serializacao.testes;

import com.devdojo.javacore.y.serializacao.classes.Aluno;
import com.devdojo.javacore.y.serializacao.classes.Turma;

import java.io.*;

public class SerializacaoTeste {
    public static void main(String[] args) {
        gravadorObjeto();
       leitorObjeto();
    }


    private static void gravadorObjeto() {
        Turma t = new Turma("Maratona Java, só para os campeões");
        Aluno aluno = new Aluno(1L, "William Suane", "123456");
        aluno.setTurma(t);
        try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("aluno.ser"))) {
            oos.writeObject(aluno);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void leitorObjeto() {
        try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("aluno.ser"))) {
            Aluno aluno = (Aluno) ois.readObject();
            System.out.println(aluno);
        } catch (IOException | ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}
Dentro do construtor
Aluno{id=1, nome='William Suane', password='null', nomeEscola='DevDojo :)', turma='Turma{nome='Maratona Java, só para os campeões'}'}

Voltar ao Índice


https://www.youtube.com/watch?v=sv0dIuI1PXI&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=117

package com.devdojo.javacore.z.colecoes.classes;

public class Celular {
    private String nome;
    private String IMEI;

    public Celular(String nome, String IMEI) {
        this.nome = nome;
        this.IMEI = IMEI;
    }

    //Reflexivo = x.equals(x) tem que ser true para tudo que for diferente de null
    //Simetrico para xe y diferentes de null, se x.equals(y) == true logo y.equals(x) tem que ser true
    //Transitividade para x, y, z diferentes de null, se x.equals(y) == true, logo y.equals(x) == true e x.equals(z) == true logo y.equals(z) também tem que ser true
    //Consistente x.equals(y) deve sempre retornar o mesmo valor
    // para x diferente de null x.equals(null) tem que retornar false;


    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (this == obj) return true;
        if (this.getClass() != obj.getClass()) return false;
        Celular outroCelular = (Celular) obj;
        return IMEI != null && IMEI.equals(outroCelular.getIMEI());
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getIMEI() {
        return IMEI;
    }

    public void setIMEI(String IMEI) {
        this.IMEI = IMEI;
    }
}
package com.devdojo.javacore.z.colecoes.teste;

import com.devdojo.javacore.z.colecoes.classes.Celular;

public class EqualsTeste {
    public static void main(String[] args) {
        String nome1 = "José";
        String nome2 = new String("José");
        Integer int1 = 5;
        Integer int2 = new Integer(5);

        //System.out.println(nome1.equals(nome2));
        //System.out.println(int1.equals(int2));

        Celular c1  = new Celular("iPhone", "123456");
        Celular c2  = new Celular("iPhone", "1234562");
        System.out.println(c1.equals(c2));
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=O0fP8jA4RVA&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=118

package com.devdojo.javacore.z.colecoes.classes;

public class Celular {
    private String nome;
    private String IMEI;

    public Celular(String nome, String IMEI) {
        this.nome = nome;
        this.IMEI = IMEI;
    }
/*
    Reflexivo = x.equals(x) tem que ser true para tudo que for diferente de null
    Simetrico para xe y diferentes de null, se x.equals(y) == true logo y.equals(x) tem que ser true
    Transitividade para x, y, z diferentes de null, se x.equals(y) == true, logo y.equals(x) == true e x.equals(z) == true logo y.equals(z) também tem que ser true
    Consistente x.equals(y) deve sempre retornar o mesmo valor
    para x diferente de null x.equals(null) tem que retornar false;

    Para hashcode
    Se x.equals(y) == true y.hashCode() == x.hashCode();
    y.hashCode() == x.hashCode() não necessariamente o equals deverá retornar true
    x.equals(y) == false
    y.hashCode() != x.hashCode() x.equals(y) deverá ser false
*/
    @Override
    public int hashCode() {
        //return super.hashCode();
        return IMEI != null ? IMEI.hashCode() : 1;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (this == obj) return true;
        if (this.getClass() != obj.getClass()) return false;
        Celular outroCelular = (Celular) obj;
        return IMEI != null && IMEI.equals(outroCelular.getIMEI());
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getIMEI() {
        return IMEI;
    }

    public void setIMEI(String IMEI) {
        this.IMEI = IMEI;
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=7_ZnhlYj_tc&index=119&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

Collection

http://bigocheatsheet.com/

https://www.javacodegeeks.com/2011/04/simple-big-o-notation-post.html

Voltar ao Índice


Aula 119: Coleções pt 04 Lists pt 01

package com.devdojo.javacore.z.colecoes.teste;

import java.util.ArrayList;
import java.util.List;

public class ListTest {
    public static void main(String[] args) {
        List<String> nomes  = new ArrayList<>();
        List<String> nomes2 = new ArrayList<>();

        nomes.add("José");
        nomes.add("Malcher");
        nomes2.add("José 2");
        nomes2.add("Malcher 2");

        System.out.println("size: " + nomes.size());
        System.out.println(nomes.remove("Malcher")); //boolean
        System.out.println("size: " + nomes.size());

        nomes.addAll(nomes2); //união de duas coleções

        int size = nomes.size();
        for(int i = 0 ; i < size ; i++){
            System.out.println(nomes.get(i));
        }

        List<Integer> numeros = new ArrayList<>();
        numeros.add(10); //wrapper
        numeros.add(20);
        for(Integer num : numeros){
            System.out.println(num);
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=Q-jntahna8c&index=121&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

package com.devdojo.javacore.z.colecoes.teste;

import com.devdojo.javacore.z.colecoes.classes.Celular;

import java.util.ArrayList;
import java.util.List;

public class ListCelularTest {
    public static void main(String[] args) {
        Celular celular1 = new Celular("Galaxy S2","123456");
        Celular celular2 = new Celular("Galaxy S7","123111");
        Celular celular3 = new Celular("Mogo G","123444");

        List<Celular> celularList = new ArrayList<>();
        celularList.add(celular1);
        celularList.add(celular2);
        celularList.add(celular3);

        for (Celular celular : celularList) {
            System.out.println(celular);
        }
        Celular celular4 = new Celular("Mogo Play 3","123000");
        System.out.println(celularList.contains(celular4)); //false
    }
}
Celular{nome='Galaxy S2', IMEI='123456'}
Celular{nome='Galaxy S7', IMEI='123111'}
Celular{nome='Mogo G', IMEI='123444'}
false

Voltar ao Índice


https://www.youtube.com/watch?v=K6RMeKMl-VQ&index=122&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL

com/devdojo/javacore/z/colecoes/teste/SortListTest.java

package com.devdojo.javacore.z.colecoes.teste;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class SortListTest {
    public static void main(String[] args) {
        List<String> nomes = new ArrayList<>();
        nomes.add("José");
        nomes.add("Malcher");
        nomes.add("DevDojo");
        nomes.add("Maria");
        nomes.add("Luciana");
        nomes.add(0, "Carolina");
        Collections.sort(nomes);

        List<Double> numeros = new ArrayList<>();
        numeros.add(1.5);
        numeros.add(1.3);
        numeros.add(1.9);
        numeros.add(2d);
        Collections.sort(numeros);

        for (String nome : nomes) {
            System.out.println(nome);
        }

        for (Double numero : numeros) {
            System.out.println(numero);
        }


    }
}

com/devdojo/javacore/z/colecoes/classes/Produto.java

package com.devdojo.javacore.z.colecoes.classes;

public class Produto implements Comparable<Produto> {

    private String serialNumber;
    private String nome;
    private Double preco;
    private int quantidade;

    public Produto(String serialNumber, String nome, double preco) {
        this.serialNumber = serialNumber;
        this.nome = nome;
        this.preco = preco;
    }

    public Produto(String serialNumber, String nome, Double preco, int quantidade) {
        this.serialNumber = serialNumber;
        this.nome = nome;
        this.preco = preco;
        this.quantidade = quantidade;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Produto produto = (Produto) o;

        return serialNumber != null ? serialNumber.equals(produto.serialNumber) : produto.serialNumber == null;

    }

    @Override
    public int hashCode() {
        return serialNumber != null ? serialNumber.hashCode() : 0;
    }

    @Override
    public String toString() {
        return "Produto{" +
                "serialNumber='" + serialNumber + '\'' +
                ", nome='" + nome + '\'' +
                ", preco=" + preco +
                ", quantidade=" + quantidade +
                '}';
    }

    public void setPreco(Double preco) {
        this.preco = preco;
    }

    public int getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }

    public String getSerialNumber() {
        return serialNumber;
    }

    public void setSerialNumber(String serialNumber) {
        this.serialNumber = serialNumber;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public double getPreco() {
        return preco;
    }

    public void setPreco(double preco) {
        this.preco = preco;
    }

    @Override
    public int compareTo(Produto outroObjeto) {
        // negativo se o thisObject < outroObjeto
        // Zero se thisObject == outroObjeto
        // Positivo se thisObject > outroObjeto
        Double d = preco;
        return d.compareTo(outroObjeto.getPreco());
    }
}

com/devdojo/javacore/z/colecoes/teste/ProdutoNomeComparator.java

package com.devdojo.javacore.z.colecoes.teste;

import com.devdojo.javacore.z.colecoes.classes.Produto;

import java.util.*;

class SortProdutoTest {
    public static void main(String[] args) {
        List<Produto> produtos = new ArrayList<>();

        Produto produto1 = new Produto("123", "Laptop Lenovo", 2000.0);
        Produto produto2 = new Produto("321", "Picanha", 26.4);
        Produto produto3 = new Produto("879", "Teclado Razer", 1000.0);
        Produto produto4 = new Produto("012", "Samsung galaxy S7 64Gb", 3250.5);
        produtos.add(produto1);
        produtos.add(produto2);
        produtos.add(produto3);
        produtos.add(produto4);
        Collections.sort(produtos);
        for (Produto produto : produtos) {
            System.out.println(produto);
        }
    }
}

Voltar ao Índice


https://www.youtube.com/watch?v=oK-3v2LVqzo&list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL&index=123&t=2s

package com.devdojo.javacore.z.colecoes.teste;

import com.devdojo.javacore.z.colecoes.classes.Produto;

import java.util.*;

class ProdutoNomeComparator implements Comparator<Produto>{

    @Override
    public int compare(Produto o1, Produto o2) {
        return o1.getNome().compareTo(o2.getNome());
    }
}

class SortProdutoTest {
    public static void main(String[] args) {
        List<Produto> produtos = new ArrayList<>();
        Produto[] produtoArray = new Produto[4];

        Produto produto1 = new Produto("123", "Laptop Lenovo", 2000.0);
        Produto produto2 = new Produto("321", "Picanha", 26.4);
        Produto produto3 = new Produto("879", "Teclado Razer", 1000.0);
        Produto produto4 = new Produto("012", "Samsung galaxy S7 64Gb", 3250.5);
        produtos.add(produto1);
        produtos.add(produto2);
        produtos.add(produto3);
        produtos.add(produto4);
        //Collections.sort(produtos);
        /*
            Produto{serialNumber='321', nome='Picanha', preco=26.4, quantidade=0}
            Produto{serialNumber='879', nome='Teclado Razer', preco=1000.0, quantidade=0}
            Produto{serialNumber='123', nome='Laptop Lenovo', preco=2000.0, quantidade=0}
            Produto{serialNumber='012', nome='Samsung galaxy S7 64Gb', preco=3250.5, quantidade=0}
         */
        Collections.sort(produtos, new ProdutoNomeComparator());
        /*
            Produto{serialNumber='123', nome='Laptop Lenovo', preco=2000.0, quantidade=0}
            Produto{serialNumber='321', nome='Picanha', preco=26.4, quantidade=0}
            Produto{serialNumber='012', nome='Samsung galaxy S7 64Gb', preco=3250.5, quantidade=0}
            Produto{serialNumber='879', nome='Teclado Razer', preco=1000.0, quantidade=0}
         */
        /*for (Produto produto : produtos) {
            System.out.println(produto);
        }*/
        produtoArray[0] = produto1;
        produtoArray[1] = produto2;
        produtoArray[2] = produto3;
        produtoArray[3] = produto4;

        Arrays.sort(produtoArray, new ProdutoNomeComparator());
        for (Produto produto : produtoArray) {
            System.out.println(produto);
        }


    }
}

Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


Voltar ao Índice


devdojo-maratona-java-old's People

Contributors

josemalcher avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.