<p><img src="https://i.imgur.com/D01Fpky.png" alt="" title="Entre no nosso site e veja nossos cursos"></p> <h1> <img class="emoji" alt=":coffee:" src="https://cdn.jsdelivr.net/npm/@hackmd/emojify.js@2.1.0/dist/images/basic/coffee.png"> Java OO Aula 1 </h1> O objetivo deste curso é abordar os principais conceitos, empregar as principais estruturas de dados, e trabalhar utilizando as principais boas práticas de Programação Orientada a Objetos [POO] em **Java**. <h2 id="-Tema-da-aula" data-id="-Tema-da-aula"><a class="anchor hidden-xs" href="#-Tema-da-aula" title="-Tema-da-aula"><span class="octicon octicon-link"></span></a><img class="emoji" alt=":book:" src="https://cdn.jsdelivr.net/npm/@hackmd/emojify.js@2.1.0/dist/images/basic/book.png"> <span> Tema da aula:</span></h2><p><span>Nessa primeira aula, abrimos o Eclipse, passamos instruções sobre criação de projeto e pacotes. Uso de ternário. Criamos nossa primeira Classe em Java e também uma classe com um método Estático. Mostramos como adicionar uma biblioteca externa e como chamar um método abstrato.</span><br> <h4> Estrutura do projeto depois de finalizado </h4> ![](https://i.imgur.com/Fs8UxK0.jpg) <h3>Aluno.java</h3> <p>Classe de dados em Java, com construtores cheio e vazio, toString, Getters e Setters, e quebra de linha no toString, utilizando o "\n"</p> ```java= package model; public class Aluno { private String nome; private Integer id; private String email; private String disciplina; private Double nota1 = 0D; private Double nota2 = 0.; private Double media = 0.; private String situacao = ""; public Aluno() { } public Aluno(String nome, Integer id, String email, String disciplina, Double nota1, Double nota2) { this.nome = nome; this.id = id; this.email = email; this.disciplina = disciplina; this.nota1 = nota1; this.nota2 = nota2; } @Override public String toString() { return "Aluno [nome=" + nome + ", id=" + id + ", email=" + email + ", disciplina=" + disciplina + "\nnota1=" + nota1 + ", nota2=" + nota2 + ", media=" + media + "\nsituacao=" + situacao + "]"; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getDisciplina() { return disciplina; } public void setDisciplina(String disciplina) { this.disciplina = disciplina; } public Double getNota1() { return nota1; } public void setNota1(Double nota1) { this.nota1 = nota1; } public Double getNota2() { return nota2; } public void setNota2(Double nota2) { this.nota2 = nota2; } public Double getMedia() { return media; } public void setMedia(Double media) { this.media = media; } public String getSituacao() { return situacao; } public void setSituacao(String situacao) { this.situacao = situacao; } public static void main(String[] args) { Aluno a1 = new Aluno("fernando", 10, "fernandojnr@gmail.com", "JAVA", 5., 4.); System.out.println(a1); Aluno a2 = new Aluno(); a2.setDisciplina("JavaScript"); a2.setEmail("fernando@gmail.com"); a2.setId(11); a2.setNome("fernando jr"); a2.setNota1(7.); a2.setNota2(8.); System.out.println("---"); System.out.println(a2); } } ``` <h4> Rodando o método main, temos: </h4> ![](https://i.imgur.com/G9vqkUz.jpg) <h3> Aluno.java </h3> <p>Classe Aluno com dois métodos novos - calcularMedia e gerarSituacao</p> ```java= package model; public class Aluno { private String nome; private Integer id; private String email; private String disciplina; private Double nota1 = 0D; private Double nota2 = 0.; private Double media = 0.; private String situacao = ""; public Aluno() { } public Aluno(String nome, Integer id, String email, String disciplina, Double nota1, Double nota2) { this.nome = nome; this.id = id; this.email = email; this.disciplina = disciplina; this.nota1 = nota1; this.nota2 = nota2; } @Override public String toString() { return "Aluno [nome=" + nome + ", id=" + id + ", email=" + email + ", disciplina=" + disciplina + "\nnota1=" + nota1 + ", nota2=" + nota2 + ", media=" + media + "\nsituacao=" + situacao + "]"; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getDisciplina() { return disciplina; } public void setDisciplina(String disciplina) { this.disciplina = disciplina; } public Double getNota1() { return nota1; } public void setNota1(Double nota1) { this.nota1 = nota1; } public Double getNota2() { return nota2; } public void setNota2(Double nota2) { this.nota2 = nota2; } public Double getMedia() { return media; } public void setMedia(Double media) { this.media = media; } public String getSituacao() { return situacao; } public void setSituacao(String situacao) { this.situacao = situacao; } public void calcularMedia() { this.media = (this.nota1 + this.nota2) / 2; } public void gerarSituacao() { this.situacao = (this.media>=7)?"Aprovado":"Reprovado"; } public static void main(String[] args) { Aluno a1 = new Aluno("fernando", 10, "fernandojnr@gmail.com", "JAVA", 5., 4.); a1.calcularMedia(); a1.gerarSituacao(); System.out.println(a1); Aluno a2 = new Aluno(); a2.setDisciplina("JavaScript"); a2.setEmail("fernando@gmail.com"); a2.setId(11); a2.setNome("fernando jr"); a2.setNota1(7.); a2.setNota2(8.); a2.calcularMedia(); a2.gerarSituacao(); System.out.println("---"); System.out.println(a2); } } ``` <h4> Rodando o método main, temos: </h4> ![](https://i.imgur.com/qfAyIz4.jpg) <h3> PrintJson.java </h3> <p>Classe criada para ilustrar o uso de método estático e como adicionar bibliotecas externas.</p> ```java= package control; import com.google.gson.Gson; import model.Aluno; public class PrintJson { public static void imprimeJson(Aluno a) { System.out.println(new Gson().toJson(a)); } } ``` <h3> Aluno.java </h3> <p>Adicionamos as chamadas ao método estático da classe PrintJson</p> ```java= package model; import control.PrintJson; public class Aluno { private String nome; private Integer id; private String email; private String disciplina; private Double nota1 = 0D; private Double nota2 = 0.; private Double media = 0.; private String situacao = ""; public Aluno() { } public Aluno(String nome, Integer id, String email, String disciplina, Double nota1, Double nota2) { this.nome = nome; this.id = id; this.email = email; this.disciplina = disciplina; this.nota1 = nota1; this.nota2 = nota2; } @Override public String toString() { return "Aluno [nome=" + nome + ", id=" + id + ", email=" + email + ", disciplina=" + disciplina + "\nnota1=" + nota1 + ", nota2=" + nota2 + ", media=" + media + "\nsituacao=" + situacao + "]"; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getDisciplina() { return disciplina; } public void setDisciplina(String disciplina) { this.disciplina = disciplina; } public Double getNota1() { return nota1; } public void setNota1(Double nota1) { this.nota1 = nota1; } public Double getNota2() { return nota2; } public void setNota2(Double nota2) { this.nota2 = nota2; } public Double getMedia() { return media; } public void setMedia(Double media) { this.media = media; } public String getSituacao() { return situacao; } public void setSituacao(String situacao) { this.situacao = situacao; } public void calcularMedia() { this.media = (this.nota1 + this.nota2) / 2; } public void gerarSituacao() { this.situacao = (this.media>=7)?"Aprovado":"Reprovado"; } public static void main(String[] args) { Aluno a1 = new Aluno("fernando", 10, "fernandojnr@gmail.com", "JAVA", 5., 4.); a1.calcularMedia(); a1.gerarSituacao(); System.out.println(a1); Aluno a2 = new Aluno(); a2.setDisciplina("JavaScript"); a2.setEmail("fernando@gmail.com"); a2.setId(11); a2.setNome("fernando jr"); a2.setNota1(7.); a2.setNota2(8.); a2.calcularMedia(); a2.gerarSituacao(); System.out.println("---"); System.out.println(a2); System.out.println("---"); PrintJson.imprimeJson(a1); PrintJson.imprimeJson(a2); } } ``` <h4> Rodando o método main, temos: </h4> ![](https://i.imgur.com/WkVCw7c.jpg) <span></span></p><blockquote style="border-left-color: red;"> <p><span class="color" data-color="red"></span><span> </span><small><i class="fa fa-user"></i> Prof Fernando Gomes - fernandojnr@gmail.com</small></p>