From 54db3b93ca2a4af4e7dc093bf56e4c95532376ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Arantes?= <jparantes.racing@gmail.com>
Date: Mon, 31 Jul 2023 01:12:21 +0000
Subject: [PATCH 01/15] Adicionado AppTest.java

---
 src/main/java/com/example/AppTest.java | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 src/main/java/com/example/AppTest.java

diff --git a/src/main/java/com/example/AppTest.java b/src/main/java/com/example/AppTest.java
new file mode 100644
index 00000000..7fdde835
--- /dev/null
+++ b/src/main/java/com/example/AppTest.java
@@ -0,0 +1,7 @@
+package com.example;
+
+public class AppTest {
+    public static void main(String[] args) {
+        system.out.println("App de teste");
+    }
+}

From edecf64f4995e493eb19e0f325fb6d79f6721867 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Arantes?= <jparantes.racing@gmail.com>
Date: Mon, 31 Jul 2023 01:13:46 +0000
Subject: [PATCH 02/15] =?UTF-8?q?Altera=C3=A7=C3=A3o=20AppTest.java?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/main/java/com/example/AppTest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/java/com/example/AppTest.java b/src/main/java/com/example/AppTest.java
index 7fdde835..f899796c 100644
--- a/src/main/java/com/example/AppTest.java
+++ b/src/main/java/com/example/AppTest.java
@@ -2,6 +2,6 @@
 
 public class AppTest {
     public static void main(String[] args) {
-        system.out.println("App de teste");
+        System.out.println("App de teste");
     }
 }

From e383e2d4a33858b926981d5d1ae03a7ed7853855 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Arantes?= <jparantes.racing@gmail.com>
Date: Mon, 31 Jul 2023 01:42:36 +0000
Subject: [PATCH 03/15] Aula de declaracao

---
 src/main/java/com/example/AulaDeclaracao.java | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 src/main/java/com/example/AulaDeclaracao.java

diff --git a/src/main/java/com/example/AulaDeclaracao.java b/src/main/java/com/example/AulaDeclaracao.java
new file mode 100644
index 00000000..e4fba13b
--- /dev/null
+++ b/src/main/java/com/example/AulaDeclaracao.java
@@ -0,0 +1,15 @@
+package com.example;
+
+public class AulaDeclaracao {
+
+    public static void main(String[] args) {
+
+        System.out.println();
+        System.out.println();
+        System.out.println("Minha aplicação Java\n");
+        // tipo NomeDaVariavel;
+        int idade = 10;
+        double peso = 80.5;
+        System.out.println("Idade é " + idade + " e peso é " + peso);
+    }
+}

From 6a231e80058520f6766036734f32e4838e84f720 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Arantes?= <jparantes.racing@gmail.com>
Date: Mon, 31 Jul 2023 02:23:32 +0000
Subject: [PATCH 04/15] =?UTF-8?q?Continua=C3=A7=C3=A3o=20aula=20de=20decla?=
 =?UTF-8?q?ra=C3=A7=C3=A3o?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .vscode/settings.json                         |  3 ++-
 src/main/java/com/example/AulaDeclaracao.java | 11 ++++++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/.vscode/settings.json b/.vscode/settings.json
index 16a1be93..a0401b50 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -14,5 +14,6 @@
         "org.mockito.Answers.*"
     ],
     "maven.executable.preferMavenWrapper": false,
-    "terminal.integrated.defaultProfile.linux": "zsh"
+    "terminal.integrated.defaultProfile.linux": "zsh",
+    "java.debug.settings.onBuildFailureProceed": true
 }
diff --git a/src/main/java/com/example/AulaDeclaracao.java b/src/main/java/com/example/AulaDeclaracao.java
index e4fba13b..e6b36647 100644
--- a/src/main/java/com/example/AulaDeclaracao.java
+++ b/src/main/java/com/example/AulaDeclaracao.java
@@ -7,9 +7,18 @@ public static void main(String[] args) {
         System.out.println();
         System.out.println();
         System.out.println("Minha aplicação Java\n");
-        // tipo NomeDaVariavel;
+        // tipo NomeDaVariavel = valor;
         int idade = 10;
         double peso = 80.5;
         System.out.println("Idade é " + idade + " e peso é " + peso);
+
+        char sexo = 'M';
+        System.out.println("Sexo é " + sexo);
+
+        // Em Java 1 e 0 não é aceito como true ou false, JavaScript já aceita
+        boolean NecessidadesEspeciais = false;
+        System.out.println("Possui necessidades especiais: " + NecessidadesEspeciais);
+
+        //Usar var NomeDaVariavel funciona a partir do Java 10, pois o compilador detecta o tipo de variável automaticamente
     }
 }

From 9fc5b263cee9a162fc3918011d535e398ca15757 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Arantes?= <jparantes.racing@gmail.com>
Date: Mon, 31 Jul 2023 14:20:23 +0000
Subject: [PATCH 05/15] Aula de arrays

---
 src/main/java/com/example/AppArrays.java      | 23 +++++++++++++++++++
 src/main/java/com/example/AulaDeclaracao.java |  2 ++
 2 files changed, 25 insertions(+)
 create mode 100644 src/main/java/com/example/AppArrays.java

diff --git a/src/main/java/com/example/AppArrays.java b/src/main/java/com/example/AppArrays.java
new file mode 100644
index 00000000..ba545520
--- /dev/null
+++ b/src/main/java/com/example/AppArrays.java
@@ -0,0 +1,23 @@
+package com.example;
+
+import java.util.Arrays;
+
+public class AppArrays {
+    public static void main(String[] args) {
+        double vetor[] = {10, 20, 30};
+        //System.out.println(vetor) não imprime o vetor
+        System.out.println(Arrays.toString(vetor));
+        System.out.println("Valor da posição 0: " + vetor[0]);
+        System.out.println("Valor da posição 1: " + vetor[1]);
+        System.out.println("Valor da posição 2: " + vetor[2]);
+
+        double vetorgrande[] = new double[50]; //vetorgrande foi inicializado como um vetor de 50 espaços double
+
+        double matriz[][] = { {10, 20, 30}, {40, 50, 60}}; //Matriz com 3 colunas e 2 linhas
+        matriz[0][1] = -20; //Trocando o valor da linha 0 e coluna 1
+        System.out.println(Arrays.toString(matriz[0]));
+        System.out.println(Arrays.toString(matriz[1])); //Usar somente Arrays.toString(matriz) não imprime por estaria tentando imprimir o vetor
+        matriz[0] = new double[]{1.0, 2.0, 3.0}; //Posso declarar a linha inteira de uma vez, visto que a linha é um vetor. Lembrando tb que se for double preciso 1.0 e não 1
+        System.out.println(Arrays.toString(matriz[0]));
+    }
+}
diff --git a/src/main/java/com/example/AulaDeclaracao.java b/src/main/java/com/example/AulaDeclaracao.java
index e6b36647..bf9e4d43 100644
--- a/src/main/java/com/example/AulaDeclaracao.java
+++ b/src/main/java/com/example/AulaDeclaracao.java
@@ -20,5 +20,7 @@ public static void main(String[] args) {
         System.out.println("Possui necessidades especiais: " + NecessidadesEspeciais);
 
         //Usar var NomeDaVariavel funciona a partir do Java 10, pois o compilador detecta o tipo de variável automaticamente
+
+        
     }
 }

From 3b5f71a47b87099ef8ada106b99fda956a59142e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Arantes?= <jparantes.racing@gmail.com>
Date: Mon, 31 Jul 2023 14:48:17 +0000
Subject: [PATCH 06/15] For de arrays

---
 src/main/java/com/example/AppArrays.java | 29 +++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/src/main/java/com/example/AppArrays.java b/src/main/java/com/example/AppArrays.java
index ba545520..ceb80702 100644
--- a/src/main/java/com/example/AppArrays.java
+++ b/src/main/java/com/example/AppArrays.java
@@ -17,7 +17,34 @@ public static void main(String[] args) {
         matriz[0][1] = -20; //Trocando o valor da linha 0 e coluna 1
         System.out.println(Arrays.toString(matriz[0]));
         System.out.println(Arrays.toString(matriz[1])); //Usar somente Arrays.toString(matriz) não imprime por estaria tentando imprimir o vetor
-        matriz[0] = new double[]{1.0, 2.0, 3.0}; //Posso declarar a linha inteira de uma vez, visto que a linha é um vetor. Lembrando tb que se for double preciso 1.0 e não 1
+        matriz[0] = new double[]{1, 2, 3}; //Posso declarar a linha inteira de uma vez, visto que a linha é um vetor
         System.out.println(Arrays.toString(matriz[0]));
+        System.out.println();
+
+        //Definindo valores do vetor usando um for
+        for (int i = 0; i < vetor.length; i++) {
+            vetor[i] = 100*(i+1);
+        }
+        System.out.println(Arrays.toString(vetor));
+        System.out.println();
+
+        double matriznova[][] = new double[3][4];
+        //Definindo valores da matriz usando um for
+        for (int i = 0; i < matriznova.length; i++) { //matriz.length retorna número de linhas da matriz
+            for (int j = 0; j < matriznova[i].length; j++) { //matriz[i].length retorna o número de colunas da linha i
+                matriznova[i][j] = 30*(i+j+1);
+            }
+        }
+        System.out.println(Arrays.toString(matriznova[0]));
+        System.out.println(Arrays.toString(matriznova[1]));
+        System.out.println(Arrays.toString(matriznova[2]));
+        System.out.println();
+
+        for (int i = 0; i < matriznova.length; i++) {
+            for (int j = 0; j < matriznova[i].length; j++) {
+                System.out.printf("%5.1f ", matriznova[i][j]); //printf imprime o inteiro, sem espaço ao final da linha. O %5.1f representa o float com 5 caracteres e 1 casa decimal
+            }
+            System.out.println();
+        } //Impressão em formato de matriz e alinhado
     }
 }

From 1c397cd61268697ac8599e2357ab73adf1ddc8be Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Arantes?= <jparantes.racing@gmail.com>
Date: Mon, 31 Jul 2023 16:45:57 +0000
Subject: [PATCH 07/15] =?UTF-8?q?Aula=20m=C3=A9todos=20construtores?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/main/java/com/example/AppClasses.java | 23 +++++++++
 src/main/java/com/example/Cliente.java    | 63 +++++++++++++++++++++++
 2 files changed, 86 insertions(+)
 create mode 100644 src/main/java/com/example/AppClasses.java
 create mode 100644 src/main/java/com/example/Cliente.java

diff --git a/src/main/java/com/example/AppClasses.java b/src/main/java/com/example/AppClasses.java
new file mode 100644
index 00000000..87911486
--- /dev/null
+++ b/src/main/java/com/example/AppClasses.java
@@ -0,0 +1,23 @@
+package com.example;
+
+public class AppClasses {
+    public static void main(String[] args) {
+        System.out.println("Criando classes");
+        Cliente cliente = new Cliente(); //A classe Cliente permite criar uma variável composta de vários tipos
+        cliente.setRenda(10000);
+        cliente.setSexo('M');
+        cliente.setAnoNascimento(1980);
+        System.out.println("Renda: " + cliente.getRenda());
+        System.out.println("Sexo: " + cliente.getSexo());
+        System.out.println("Ano de nascimento: " + cliente.getAnoNascimento());
+        System.out.println("Especial: " + cliente.isEspecial());
+        System.out.println();
+
+        Cliente cliente2 = new Cliente(5000, 'F');
+        cliente2.setAnoNascimento(1988);
+        System.out.println("Renda: " + cliente2.getRenda());
+        System.out.println("Sexo: " + cliente2.getSexo());
+        System.out.println("Ano de nascimento: " + cliente2.getAnoNascimento());
+        System.out.println("Especial: " + cliente2.isEspecial());
+    }
+}
diff --git a/src/main/java/com/example/Cliente.java b/src/main/java/com/example/Cliente.java
new file mode 100644
index 00000000..c6a1b333
--- /dev/null
+++ b/src/main/java/com/example/Cliente.java
@@ -0,0 +1,63 @@
+package com.example;
+
+public class Cliente {
+    private double renda;
+    private char sexo;
+    private boolean especial ;
+    
+    public boolean isEspecial() {
+        return especial;
+    }
+    public void setEspecial(boolean especial) {
+        this.especial = especial;
+    }
+
+    public Cliente(){ //Métodos construtores precisam ser chamados public MetodoConstrutor(), se public void Cliente() ele não é chamado
+        System.out.println("Criando um cliente usando o construtor sem parâmetros");
+        double aleatorio = Math.random();
+        if(aleatorio > 0.5)
+            especial = true;
+        else
+            especial = false;
+    }
+
+    public Cliente(double renda, char sexo){ //Métodos construtores precisam ser chamados public MetodoConstrutor(), se public void Cliente() ele não é chamado
+        this(); //this() deve ser na primeira linha e ele chama o construtor anterior, geralmente menos complexo, para evitar duplicidade de código
+        System.out.println("Criando um cliente usando o construtor com parâmetros");
+        setRenda(renda);
+        this.sexo = sexo;
+    }
+   
+    public char getSexo() {
+        return sexo;
+    }
+
+    public void setSexo(char sexo) {
+        if(sexo == 'M'|| sexo == 'F')
+            this.sexo = sexo;
+        else
+            System.out.println("O sexo deve ser M ou F.");
+    }
+
+    private int anoNascimento;
+
+    public int getAnoNascimento() {
+        return anoNascimento;
+    }
+
+    public void setAnoNascimento(int anoNascimento) {
+        this.anoNascimento = anoNascimento;
+    }
+
+
+    public double getRenda() {
+        return renda;
+    }
+
+    public void setRenda(double renda){
+        if(renda>=0)
+            this.renda = renda; //this relaciona ao objeto atual, no caso cliente e este renda refere-se ao argumento setter e não à classe
+        else 
+            System.out.println("A renda não pode ser negativa.");
+    }
+}
\ No newline at end of file

From fc22155fcf423e7e47b27cc83b2f015048dbb569 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Arantes?= <jparantes.racing@gmail.com>
Date: Tue, 1 Aug 2023 21:11:28 +0000
Subject: [PATCH 08/15] Aula de Strings

---
 src/main/java/com/example/AppClasses.java | 19 ++++++++
 src/main/java/com/example/Cliente.java    | 56 +++++++++++++++--------
 2 files changed, 55 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/example/AppClasses.java b/src/main/java/com/example/AppClasses.java
index 87911486..5b4efd5e 100644
--- a/src/main/java/com/example/AppClasses.java
+++ b/src/main/java/com/example/AppClasses.java
@@ -7,6 +7,10 @@ public static void main(String[] args) {
         cliente.setRenda(10000);
         cliente.setSexo('M');
         cliente.setAnoNascimento(1980);
+        cliente.setNome("           Manoel");
+        cliente.setCpf("99999999999");
+        cliente.setCidade("Palmas");
+        System.out.println("Nome: " + cliente.getNome());
         System.out.println("Renda: " + cliente.getRenda());
         System.out.println("Sexo: " + cliente.getSexo());
         System.out.println("Ano de nascimento: " + cliente.getAnoNascimento());
@@ -15,6 +19,21 @@ public static void main(String[] args) {
 
         Cliente cliente2 = new Cliente(5000, 'F');
         cliente2.setAnoNascimento(1988);
+        cliente2.setNome("Joana");
+        cliente2.setCpf("99999999999");
+        cliente2.setCidade("PALMAS");
+
+        if(cliente.getCpf().equals(cliente2.getCpf()))
+            System.out.println("Cliente 1 e Cliente 2 possuem o mesmo CPF.");
+        else {
+            System.out.println("Os clientes possuem CPF diferentes.");
+        }
+        if(cliente.getCidade().equalsIgnoreCase(cliente2.getCidade())) //equalsIgnoreCase testa igualdade de strings ignorando se maiúsculas ou minúsculas
+            System.out.println("Cliente 1 e Cliente 2 moram na mesma cidade.");
+        else {
+            System.out.println("Os clientes moram em cidades diferentes.");
+        }
+        System.out.println("Nome: " + cliente2.getNome());
         System.out.println("Renda: " + cliente2.getRenda());
         System.out.println("Sexo: " + cliente2.getSexo());
         System.out.println("Ano de nascimento: " + cliente2.getAnoNascimento());
diff --git a/src/main/java/com/example/Cliente.java b/src/main/java/com/example/Cliente.java
index c6a1b333..43618c0d 100644
--- a/src/main/java/com/example/Cliente.java
+++ b/src/main/java/com/example/Cliente.java
@@ -1,17 +1,14 @@
 package com.example;
 
 public class Cliente {
+    private String cpf;
+    private String nome;
+    private String cidade;
     private double renda;
     private char sexo;
-    private boolean especial ;
+    private boolean especial;
+    private int anoNascimento;
     
-    public boolean isEspecial() {
-        return especial;
-    }
-    public void setEspecial(boolean especial) {
-        this.especial = especial;
-    }
-
     public Cliente(){ //Métodos construtores precisam ser chamados public MetodoConstrutor(), se public void Cliente() ele não é chamado
         System.out.println("Criando um cliente usando o construtor sem parâmetros");
         double aleatorio = Math.random();
@@ -20,40 +17,59 @@ public Cliente(){ //Métodos construtores precisam ser chamados public MetodoCon
         else
             especial = false;
     }
-
     public Cliente(double renda, char sexo){ //Métodos construtores precisam ser chamados public MetodoConstrutor(), se public void Cliente() ele não é chamado
         this(); //this() deve ser na primeira linha e ele chama o construtor anterior, geralmente menos complexo, para evitar duplicidade de código
         System.out.println("Criando um cliente usando o construtor com parâmetros");
         setRenda(renda);
         this.sexo = sexo;
     }
-   
+
+    public String getCidade() {
+        return cidade;
+    }
+    public void setCidade(String cidade) {
+        this.cidade = cidade;
+    }
+    
+    public String getCpf() {
+        return cpf;
+    }
+    public void setCpf(String cpf) {
+        this.cpf = cpf;
+    }
+    public boolean isEspecial() {
+        return especial;
+    }
+    public void setEspecial(boolean especial) {
+        this.especial = especial;
+    }
+    public String getNome() {
+        return nome;
+    }
+    public void setNome(String nome) {
+        if(nome.isBlank())
+            System.out.println("Nome é obrigatório.");
+        else
+        this.nome = nome.toUpperCase().trim();
+    }
     public char getSexo() {
         return sexo;
     }
-
     public void setSexo(char sexo) {
-        if(sexo == 'M'|| sexo == 'F')
+        if(sexo == 'M'|| sexo == 'F'|| sexo == 'm'|| sexo == 'f')
             this.sexo = sexo;
         else
-            System.out.println("O sexo deve ser M ou F.");
+            System.out.println("O sexo deve ser M, m, F ou f.");
     }
-
-    private int anoNascimento;
-
     public int getAnoNascimento() {
         return anoNascimento;
     }
-
     public void setAnoNascimento(int anoNascimento) {
         this.anoNascimento = anoNascimento;
     }
-
-
     public double getRenda() {
         return renda;
     }
-
     public void setRenda(double renda){
         if(renda>=0)
             this.renda = renda; //this relaciona ao objeto atual, no caso cliente e este renda refere-se ao argumento setter e não à classe

From e63c4908db636611a16b45bd815372ee038c77bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Arantes?= <jparantes.racing@gmail.com>
Date: Thu, 3 Aug 2023 00:00:04 +0000
Subject: [PATCH 09/15] Aula scanner

---
 src/main/java/com/example/AppScanner.java | 41 +++++++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 src/main/java/com/example/AppScanner.java

diff --git a/src/main/java/com/example/AppScanner.java b/src/main/java/com/example/AppScanner.java
new file mode 100644
index 00000000..f536ed29
--- /dev/null
+++ b/src/main/java/com/example/AppScanner.java
@@ -0,0 +1,41 @@
+package com.example;
+
+import java.util.Scanner;
+
+public class AppScanner {
+    public static void main(String[] args) {
+        System.out.println("Criando classes");
+        Cliente cliente = new Cliente(); //A classe Cliente permite criar uma variável composta de vários tipos
+        Scanner scanner = new Scanner(System.in);
+
+        System.out.println("Digite o nome: "); 
+        cliente.setNome(scanner.nextLine());
+
+        System.out.println("Digite o CPF: "); 
+        cliente.setCpf(scanner.nextLine());
+
+        System.out.println("Digite a cidade: "); 
+        cliente.setCidade(scanner.nextLine());
+
+        System.out.println("Digite a renda: "); 
+        cliente.setRenda(scanner.nextDouble());
+
+        System.out.println("Digite o ano de nascimento: "); 
+        cliente.setAnoNascimento(scanner.nextInt());
+        scanner.nextLine();
+
+        System.out.println("Digite o sexo: "); 
+        String sexo = scanner.nextLine();
+        cliente.setSexo(sexo.charAt(0));
+
+        System.out.println("Nome: " + cliente.getNome());
+        System.out.println("CPF: " + cliente.getCpf());
+        System.out.println("Cidade: " + cliente.getCidade());
+        System.out.println("Renda: " + cliente.getRenda());
+        System.out.println("Ano de nascimento: " + cliente.getAnoNascimento());
+        System.out.println("Sexo: " + cliente.getSexo());
+        System.out.println("Especial: " + cliente.isEspecial());
+
+        
+    }
+}

From 22a075a23d50f152fdec0353a1ade0b0531013ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Arantes?= <jparantes.racing@gmail.com>
Date: Fri, 4 Aug 2023 17:44:42 +0000
Subject: [PATCH 10/15] Aula Operadores Relacionais

---
 .../com/example/AppOperadoresRelacionais.java | 34 +++++++++++++++++++
 src/main/java/com/example/Cliente.java        |  4 +--
 2 files changed, 36 insertions(+), 2 deletions(-)
 create mode 100644 src/main/java/com/example/AppOperadoresRelacionais.java

diff --git a/src/main/java/com/example/AppOperadoresRelacionais.java b/src/main/java/com/example/AppOperadoresRelacionais.java
new file mode 100644
index 00000000..a2873db4
--- /dev/null
+++ b/src/main/java/com/example/AppOperadoresRelacionais.java
@@ -0,0 +1,34 @@
+package com.example;
+
+public class AppOperadoresRelacionais {
+    public static void main(String[] args) {
+        var cliente1 = new Cliente(); //var já declara a variável que o compilador descobre qual é, no caso, Cliente que foi criada anteriormente, explicitada com new Cliente()
+        cliente1.setAnoNascimento(1987);
+
+        var cliente2 = new Cliente();
+        cliente2.setAnoNascimento(2000);
+
+        if (cliente1.getAnoNascimento() == cliente2.getAnoNascimento()) {
+            System.out.println("Os clientes nasceram no mesmo ano.");
+            System.out.println("O ano de nascimento dos clientes é " + cliente1.getAnoNascimento() + ".");
+        }
+        else {
+            System.out.println("Os clientes nasceram em anos diferentes.");
+            System.out.println("O ano de nascimento do cliente 1 é " + cliente1.getAnoNascimento() + ".");
+            System.out.println("O ano de nascimento do cliente 2 é " + cliente2.getAnoNascimento() + ".");
+        }
+
+        if (cliente1.getAnoNascimento() > cliente2.getAnoNascimento()) {
+            System.out.println("O cliente 1 é mais jovem que o cliente 2.");
+        }
+
+        else if (cliente1.getAnoNascimento() == cliente2.getAnoNascimento()){
+            System.out.println("Os clientes têm a mesma idade.");
+        }
+
+        else
+            System.out.println("O cliente 2 é mais jovem que o cliente 1.");
+            
+
+    }
+}
diff --git a/src/main/java/com/example/Cliente.java b/src/main/java/com/example/Cliente.java
index 43618c0d..2ae159d6 100644
--- a/src/main/java/com/example/Cliente.java
+++ b/src/main/java/com/example/Cliente.java
@@ -10,7 +10,7 @@ public class Cliente {
     private int anoNascimento;
     
     public Cliente(){ //Métodos construtores precisam ser chamados public MetodoConstrutor(), se public void Cliente() ele não é chamado
-        System.out.println("Criando um cliente usando o construtor sem parâmetros");
+        //System.out.println("Criando um cliente usando o construtor sem parâmetros");
         double aleatorio = Math.random();
         if(aleatorio > 0.5)
             especial = true;
@@ -19,7 +19,7 @@ public Cliente(){ //Métodos construtores precisam ser chamados public MetodoCon
     }
     public Cliente(double renda, char sexo){ //Métodos construtores precisam ser chamados public MetodoConstrutor(), se public void Cliente() ele não é chamado
         this(); //this() deve ser na primeira linha e ele chama o construtor anterior, geralmente menos complexo, para evitar duplicidade de código
-        System.out.println("Criando um cliente usando o construtor com parâmetros");
+        //System.out.println("Criando um cliente usando o construtor com parâmetros");
         setRenda(renda);
         this.sexo = sexo;
     }

From b3cf95e5c3b4987ec13f1fda6571d34a20a31f76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Arantes?= <jparantes.racing@gmail.com>
Date: Fri, 4 Aug 2023 17:50:34 +0000
Subject: [PATCH 11/15] Relacionais

---
 .../java/com/example/AppOperadoresRelacionais.java    | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/example/AppOperadoresRelacionais.java b/src/main/java/com/example/AppOperadoresRelacionais.java
index a2873db4..31c0b06b 100644
--- a/src/main/java/com/example/AppOperadoresRelacionais.java
+++ b/src/main/java/com/example/AppOperadoresRelacionais.java
@@ -18,16 +18,19 @@ public static void main(String[] args) {
             System.out.println("O ano de nascimento do cliente 2 é " + cliente2.getAnoNascimento() + ".");
         }
 
-        if (cliente1.getAnoNascimento() > cliente2.getAnoNascimento()) {
+        boolean cliente1MaisJovem = cliente1.getAnoNascimento() > cliente2.getAnoNascimento();
+        boolean cliente2MaisJovem = cliente1.getAnoNascimento() < cliente2.getAnoNascimento();
+        
+        if (cliente1MaisJovem) {
             System.out.println("O cliente 1 é mais jovem que o cliente 2.");
         }
 
-        else if (cliente1.getAnoNascimento() == cliente2.getAnoNascimento()){
-            System.out.println("Os clientes têm a mesma idade.");
+        else if (cliente2MaisJovem){
+            System.out.println("O cliente 2 é mais jovem que o cliente 1.");
         }
 
         else
-            System.out.println("O cliente 2 é mais jovem que o cliente 1.");
+            System.out.println("Os clientes têm a mesma idade");
             
 
     }

From b1414a026b550e460b8bbd4d5dbfd325572d989f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Arantes?= <jparantes.racing@gmail.com>
Date: Fri, 4 Aug 2023 18:25:33 +0000
Subject: [PATCH 12/15] =?UTF-8?q?Aula=20Operadores=20l=C3=B3gicos?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../com/example/AppOpL\303\263gicos.java"     | 25 +++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 "src/main/java/com/example/AppOpL\303\263gicos.java"

diff --git "a/src/main/java/com/example/AppOpL\303\263gicos.java" "b/src/main/java/com/example/AppOpL\303\263gicos.java"
new file mode 100644
index 00000000..91e48497
--- /dev/null
+++ "b/src/main/java/com/example/AppOpL\303\263gicos.java"
@@ -0,0 +1,25 @@
+package com.example;
+
+public class AppOpLógicos {
+    boolean a(boolean valor){
+        System.out.println("a");
+        return valor;
+    }
+
+    boolean b(boolean valor){
+        System.out.println("b");
+        return valor;
+    }
+
+    boolean c(boolean valor){
+        System.out.println("c");
+        return valor;
+    }
+
+    AppOpLógicos(){
+        System.out.println(a(true)||b(false)&&c(false)); //A expressão é resolvida da esquerda pra direita e tem short circuit, logo de o primeiro do "ou" é true, a expressão encerra
+    }
+    public static void main(String[] args) {
+        new AppOpLógicos();
+    }
+}

From bec8c89231f11e0493732feb1610466fa90198d1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Arantes?= <jparantes.racing@gmail.com>
Date: Sat, 5 Aug 2023 23:52:54 +0000
Subject: [PATCH 13/15] Aula eleitor

---
 src/main/java/com/example/AppEleitor.java | 12 ++++++++++
 src/main/java/com/example/Cidadao.java    | 29 +++++++++++++++++++++++
 2 files changed, 41 insertions(+)
 create mode 100644 src/main/java/com/example/AppEleitor.java
 create mode 100644 src/main/java/com/example/Cidadao.java

diff --git a/src/main/java/com/example/AppEleitor.java b/src/main/java/com/example/AppEleitor.java
new file mode 100644
index 00000000..6232cedb
--- /dev/null
+++ b/src/main/java/com/example/AppEleitor.java
@@ -0,0 +1,12 @@
+package com.example;
+
+import java.time.LocalDate;
+
+public class AppEleitor {
+    public static void main(String[] args) {
+        var cidadao = new Cidadao();
+        cidadao.setDataNascimento(LocalDate.of(1945,12,8)); //LocalDate.of(yyyy,mm,dd)
+        System.out.println(cidadao.idade());
+        System.out.println(cidadao.eleitor());
+    }
+}
diff --git a/src/main/java/com/example/Cidadao.java b/src/main/java/com/example/Cidadao.java
new file mode 100644
index 00000000..5faaebd3
--- /dev/null
+++ b/src/main/java/com/example/Cidadao.java
@@ -0,0 +1,29 @@
+package com.example;
+
+import java.time.LocalDate;
+
+public class Cidadao {
+    private LocalDate dataNascimento;
+
+    public LocalDate getDataNascimento() {
+        return dataNascimento;
+    }
+
+    public void setDataNascimento(LocalDate dataNascimento) {
+        this.dataNascimento = dataNascimento;
+    }
+
+    public int idade(){
+        return LocalDate.now().getYear() - dataNascimento.getYear();
+    }
+
+    public String eleitor(){
+        int idade = idade();
+        if(idade < 16)
+            return "O cidadão não é eleitor.";
+        else if((idade > 15 && idade < 18)||(idade > 70))
+            return "O cidadão é eleitor facultativo.";
+        else
+            return "O cidadão é eleitor obrigatório.";
+    }
+}

From 3ae8a99cc4c8c34d03a6cd62f5ff44c955c76684 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Arantes?= <jparantes.racing@gmail.com>
Date: Sun, 6 Aug 2023 01:40:11 +0000
Subject: [PATCH 14/15] Aula listas

---
 src/main/java/com/example/AppListas.java | 40 ++++++++++++++++++++++++
 src/main/java/com/example/Cliente.java   |  4 +++
 2 files changed, 44 insertions(+)
 create mode 100644 src/main/java/com/example/AppListas.java

diff --git a/src/main/java/com/example/AppListas.java b/src/main/java/com/example/AppListas.java
new file mode 100644
index 00000000..9c431285
--- /dev/null
+++ b/src/main/java/com/example/AppListas.java
@@ -0,0 +1,40 @@
+package com.example;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class AppListas {
+    public static void main(String[] args) {
+        List<Cliente> listaClientes = new ArrayList<>(); //Cria-se uma lista, que é um vetor, da classe Cliente de tamanho 10 como padrão
+        //List<Cliente> listaClientes = new LinkedList<>();       LinkedList<>() cria um espaço de memória por vez ao contrário de ArrayList<>()
+        var cliente1 = new Cliente();
+        cliente1.setNome("João Paulo");
+        cliente1.setCidade("Goiânia");
+
+        var cliente2 = new Cliente();
+        cliente2.setNome("Manoel");
+        cliente2.setCidade("Palmas");
+
+        listaClientes.add(cliente1);
+        listaClientes.add(cliente1);
+        listaClientes.add(cliente1);
+        listaClientes.add(cliente2);
+        listaClientes.add(cliente2);
+        listaClientes.add(cliente1);
+        listaClientes.add(cliente1);
+        listaClientes.add(cliente1);
+        listaClientes.add(cliente2);
+        listaClientes.add(cliente2); //Até dez espaços o ArrayList cobre
+
+        listaClientes.add(cliente2); //Quando pede um espaço a mais, o ArrayList cria um novo vetor 50% maior e copia o vetor antigo, criando um novo
+
+        listaClientes.remove(0); //Remove da lista o cliente da posição 0
+        listaClientes.remove(cliente2); //Remove da lista a PRIMEIRA ocorrência do cliente2
+        int i = listaClientes.size() - 1; //size() retorna o tamanho da lista
+        listaClientes.remove(i); //Remove a lista o último cliente
+
+        for (Cliente cliente : listaClientes) { //Esse é um foreach que passa em todos os espaços da lista
+            System.out.println(cliente);
+        }
+    }
+}
diff --git a/src/main/java/com/example/Cliente.java b/src/main/java/com/example/Cliente.java
index 2ae159d6..596c2d5e 100644
--- a/src/main/java/com/example/Cliente.java
+++ b/src/main/java/com/example/Cliente.java
@@ -76,4 +76,8 @@ public void setRenda(double renda){
         else 
             System.out.println("A renda não pode ser negativa.");
     }
+
+    public String toString(){
+        return "Cliente: " + nome + " Cidade: " + cidade;
+    }
 }
\ No newline at end of file

From 7693db6df36cdf7d1d09ff7f969278262a84e8f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Arantes?= <jparantes.racing@gmail.com>
Date: Sun, 6 Aug 2023 18:51:40 +0000
Subject: [PATCH 15/15] Aula registros bd

---
 src/main/java/com/example/AppBd.java | 36 ++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 src/main/java/com/example/AppBd.java

diff --git a/src/main/java/com/example/AppBd.java b/src/main/java/com/example/AppBd.java
new file mode 100644
index 00000000..59a657d7
--- /dev/null
+++ b/src/main/java/com/example/AppBd.java
@@ -0,0 +1,36 @@
+package com.example;
+
+
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+public class AppBd {
+    public static void main(String[] args) {
+        try {
+            Class.forName("org.postgresql.Driver");
+        }
+        catch (ClassNotFoundException e) {
+            System.err.println("Não foi possível carregar a biblioteca para acesso ao banco de dados: " + e.getMessage());
+        }
+        
+        Statement statement = null;
+        try(var conn = DriverManager.getConnection("jdbc:postgresql://localhost/postgres", "gitpod", "")){
+            System.out.println("Conexão com o banco realizada com sucesso.");
+            statement = conn.createStatement();
+            var result = statement.executeQuery("select * from estado");
+            while(result.next()){
+                System.out.printf("Id: %d Nome: %s UF: %s\n", result.getInt("id"), result.getString("nome"), result.getString("uf"));
+            }
+        }
+        
+
+        catch (SQLException e) {
+            if(statement == null)
+                System.err.println("Não foi possível conectar ao bando de dados: " + e.getMessage());
+            else
+                System.err.println("Não foi possível executar a consulta ao bando de dados: " + e.getMessage());
+        }
+        
+    }
+}
