Prévia do material em texto
Programação Orientada a Objetos
ALGORITMOS E
PROGRAMAÇÃO
Aula 04 – Introdução a
Linguagem de Programação
Programação Orientada a Objetos
17/11/2024 2
Programação Orientada a Objetos – POO (Java)
Programação Orientada a Objetos
17/11/2024 3
• Java Use a Cabeça
– Kathy Sierra e Bert Bates
– Editora Alta Books
• Java Como Programar
– Deitel
– Editora Pearson / Prentice Hall
• Simplesmente Java
– Michael Wenstrom
– Editora Alta Books
• Big Java
– Cay Horstmann
– Editora Bookman
• Tudo Sobre a JSP: com o NetBeans em Aplicações Distribuídas
– Fernando Anselmo
– Visual Books
Bibliografia básica
Programação Orientada a Objetos
17/11/2024 4
https://www.java.com/pt_BR/
http://www.guj.com.br/
http://www.oracle.com/technetwork/java/index.html
http://jcp.org/en/home/index
https://www.tutorialspoint.com/java_technology_tutorials.htm
https://www.w3schools.com/java/default.asp
Sites para consulta - Java
https://www.java.com/pt_BR/
http://www.caelum.com.br/
http://www.caelum.com.br/
http://www.caelum.com.br/
http://www.oracle.com/technetwork/java/index.html
http://jcp.org/en/home/index
https://www.tutorialspoint.com/java_technology_tutorials.htm
https://www.w3schools.com/java/default.asp
https://www.w3schools.com/java/default.asp
https://www.w3schools.com/java/default.asp
Programação Orientada a Objetos
17/11/2024 5
Portabilidade: O código binário das aplicações Java (byte codes)
podem ser executados em várias plataformas sem nenhuma
alteração.
Uso Geral: Aplicações que vão desde smart-cards até mainframes.
Linguagem Distribuída (RMI, EJB): Java possui API’s para a criação
de objetos distribuídos onde partes de uma única aplicação podem
estar sendo executada em várias máquinas transparentemente.
Segurança (SandBox – Caixa de Areia): Controle de segurança do
ambiente de execução das aplicações.
Características da linguagem Java
Programação Orientada a Objetos
17/11/2024 6
Multithreading: Suporta a programação de aplicações multitarefa
compostas por várias linhas de execução (threads).
Linguagem Dinâmica (JCP): O Java está em constante evolução,
suas extensões e sua evolução não são controladas por uma única
empresa, ou por seu criador, mas sim pela comunidade.
Java e a Internet (Applets, Servlets / JSP): Total suporte para
criação de aplicações em rede especialmente para Web.
Orientação a Objetos: Segue o paradigma de orientação a objetos.
Características da linguagem Java
Programação Orientada a Objetos
17/11/2024 7
Ambiente Open Source
Sistema Operacional
Linux
Servidores Web
Apache (http://apache.org)
Tomcat (http://jakarta.apache.org/tomcat)
Jboss (www.jboss.org)
Ferramentas de Desenvolvimento (IDE)
eclipse (www.eclipse.org)
NetBeans (www.netbeans.org)
Ambiente de desenvolvimento
Programação Orientada a Objetos
17/11/2024 8
Ferramenta de Build
Ant (http://ant.apache.org)
Controle de Versionamento
CVS (www.cvshome.org)
Testes Automatizados
Junit (http://junit.org)
Ferramenta de Log
Log4J (http://jakarta.apache.org/log4j)
Controle de Alterações
Bugzilla (http://bugzilla.org)
Ambiente de desenvolvimento
Programação Orientada a Objetos
17/11/2024 9
Gerenciadores de Bancos de Dados
MySQL
www.mysql.com
Postgrees
www.postgresql.org
HSQLDB
www.hsqldb.org
Firebird
www.firebirdsql.org
Ambiente de desenvolvimento
Programação Orientada a Objetos
17/11/2024 10
Java: Independência de arquitetura
Programação Orientada a Objetos
17/11/2024 11
Java: Máquina virtual
Programação Orientada a Objetos
17/11/2024 12
Ambiente Java e os Bytecodes
Programação Orientada a Objetos
17/11/2024 13
O código é compilado, gerando um conjunto de instruções chamado
de byte-code.
O byte-code é aplicado à Máquina Virtual Java (JVM) que se
encarrega de interpretar os comandos para o SO onde o programa
está rodando.
Ou seja, a máquina virtual traduz as instruções do código Java para
instruções válidas no SO em que está rodando.
Esse byte-code poderá então ser interpretado por qualquer máquina
virtual Java (Linux, Windows, IOS, etc).
Ambiente Java e os Bytecodes
Programação Orientada a Objetos
17/11/2024 14
O resultado gerado pelo ambiente de desenvolvimento Java, embora
interpretado inicialmente, torna-se independente de plataforma,
simplificando o projeto de aplicações de rede ou aplicações distribuídas
que tenham que operar em ambientes heterogêneos, além de permitir a
incorporação de vários mecanismos de segurança na aplicação gerada.
Ambiente Java e os Bytecodes
Programação Orientada a Objetos
17/11/2024 15
O Garbage-collection é responsável pela alocação e liberação de
memória.
Quando uma variável é declarada a Java Virtual Machine (JVM) cria
um ponteiro para uma área de memória equivalente ao tamanho do
tipo de dado utilizado.
Se a variável é associada a outra região de memória, a JVM coloca o
espaço alocado anteriormente em uma pilha de objetos em desuso
naquele momento.
Ambiente Java e o Garbage collection
Programação Orientada a Objetos
17/11/2024 16
Se o computador ficar com pouca memória disponível, a JVM remove
os objetos dessa pilha, realocando assim este espaço de memória
para outra variável.
O processo de garbage-collection ocorre automaticamente durante a
execução de um programa Java.
O programador não precisa se preocupar com aritmética de ponteiros
(grande dificuldade em linguagens como C e Pascal).
Ambiente Java e o Garbage collection
Programação Orientada a Objetos
17/11/2024 17
Introdução
http://wiki.jvmlangsummit.com/
Programação Orientada a Objetos
17/11/2024 18
• Abrir o notepad e digitar o seguinte:
class OlaMundo{
public static void main(String[] args){
System.out.println(“Olá Mundo!!!!”);
}
}
• Salvar como OlaMundo.java
Java: Olá Mundo!
Programação Orientada a Objetos
17/11/2024 19
Quando compilamos um programa fonte Java temos como resultado
o programa compilado, cujo o nome tem a extensão trocada para
“.class”:
Programa fonte OlaMundo.java
Programa compilado OlaMundo.class
Java: Olá Mundo!
Programação Orientada a Objetos
17/11/2024 20
Agora, digite o comando:
javac OlaMundo.java
Se o programa estiver correto não será mostrada nenhuma
mensagem de erro.
Java: Olá Mundo!
Programação Orientada a Objetos
17/11/2024 21
Agora, digite o comando:
java OlaMundo
Caso não ocorra nenhum erro, será mostrado a seguinte
mensagem: Ola Mundo!!!!
Java: Olá Mundo!
Programação Orientada a Objetos
17/11/2024 22
Em Java, System.out.println() é uma instrução que imprime o
argumentopassadoparaométodo“println()”
Java: System.out.println()- Saída de Dados
Programação Orientada a Objetos
17/11/2024 23
A classe Scanner é utilizada para obter uma entrada de dados
É encontrada em java.utilpacote.
Para usar Scanner
Crie um objeto da classe
Use qualquer um dos métodos disponíveis para entrada de dados
Java: Classe Scanner – Entrada de Dados
Método Descrição
nextBoolean() Lê valores do tipo booleano (verdadeiro/true ou falso/false)
nextByte() Lê valores do tipo byte (inteiros entre -127 e 128 - 8 bits)
nextDouble() Lê valores do tipo double (números reais de 64 bits ± 1.79769313486231570E+308)
nextFloat() Lê valores do tipo float (números reais de 32 bits -3.4028234 x 10^38 a -3.4028234 x 10^38)
nextInt() Lê valores do tipo int (números inteiros de 32 bits, -2.147.483.648 e 2.147.483.647)
nextLong() Lê valores do tipo long (números inteiros de 64 bits, -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807)
nextShort() Lê valores do tipo short (números inteiros de 16 bits, -32.768 e 32.767)
nextLine() Lê valores do tipoString (cadeia de caracteres)
Programação Orientada a Objetos
17/11/2024 24
Java: Classe Scanner – Entrada de Dados
import java.util.Scanner; // Importando a Classe Scanner
class EntradaDados {
public static void main(String[] args) {
Scanner meuScanner = new Scanner(System.in); // Cria um objeto Scanner
System.out.println(“Entre com seu nome”);
String nome = meuScanner.nextLine(); // Lê os dados digitados
System.out.println(“Seu nome é:” + nome); // Imprime nome
}
}
Programação Orientada a Objetos
17/11/2024 25
Java: Operadores Matemáticos
Programação Orientada a Objetos
17/11/2024 26
Java: Operadores de Atribuição
Operadores de Atribuição
Operadores de atribuição resultam na substituição do conteúdo do
termo à esquerda da expressão
Com exceção da igualdade, todos os operadores resultam em
formas similares de execução.
Programação Orientada a Objetos
17/11/2024 27
Java: Operadores de Atribuição
Precedência de operadores
Programação Orientada a Objetos
17/11/2024 28
Java: Indentação de Código
Compiladores Java não consideram espaços em branco adicionais no
código
Espaços em branco, mudanças de linha ou caracteres de tabulação
são ignorados
Este recurso permite um padrão de edição de programas em um
formato que facilita a leitura
É o que podemos chamar de “Indentação de Código”
Programação Orientada a Objetos
17/11/2024 29
Java: Indentação de Código
;
{
;
;
;
}
;
;
;
{
;
;
;
}
;
;
Código Indentado Código Não Indentado
Programação Orientada a Objetos
17/11/2024 30
Java: Finalizador de Instrução
Instruções em Java são finalizadas por um ponto e vírgula ( ; )
Como o espaço em branco é ignorado, pode-se escrever um
programa com várias instruções em uma única linha
Não recomendado por questões de apresentação e leitura do
programa
Programação Orientada a Objetos
17/11/2024 31
Java: Estrutura em blocos
Programação Orientada a Objetos
17/11/2024 32
Java: Estrutura em blocos
Comentários em Java podem ser feitos de duas
formas
1. Inclusão de um marcado /* (barra e asterisco) no início do texto
com o comentário e */ (asterisco e barra) ao seu final
Exemplo:
;
;
/* Início do cálculo
Para o envio de foguetes */
;
; ...
2. Ou através da utilização de // (duas barras)
Exemplo:
; // Início do cálculo da folha de pagamento
;
; //Instrução inserida pelo Jose em 22-Jul-2020
; ...
Programação Orientada a Objetos
17/11/2024 33
Java: Exercícios
1. Faça um programa que receba quatro números inteiros, calcule e mostre a soma desses
números.
2. Faça um programa que receba três notas, calcule e mostre a média aritmética entre elas.
3. Faça um programa que receba três notas e seus respectivos pesos, calcule e mostre a média
ponderada.
4. Faça um programa que receba o salário de um funcionário, calcule e mostre o novo salário,
sabendo-se que este sofreu um aumento de 25%.
5. Faça um programa que receba o salário de um funcionário e o percentual de aumento, calcule e
mostre o valor do aumento e o novo salário.
6. Faça um programa que receba o salário base de um funcionário, calcule e mostre o salário a
receber, sabendo-se que o funcionário tem gratificação de 5% sobre o salário base e paga
imposto de 7% sobre este salário.
Programação Orientada a Objetos
17/11/2024 34
Java: Exercícios
7. Faça um programa que receba o salário base de um funcionário, calcule e mostre o seu salário a
receber, sabendo-se que o funcionário tem gratificação de R$ 50 e paga imposto de 10% sobre o
salário base.
8. Faça um programa que receba o valor de um depósito e o valor da taxa de juros, calcule e mostre
o valor do rendimento e o valor total depois do rendimento.
9. Faça um programa que calcule e mostre a área de um triângulo. Sabe-se que: Área = (base *
altura) / 2.
10. Faça um programa que calcule e mostre a área de um círculo. Sabe-se que: Área = π * r2.