Download - Linguagem de Programação Java
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
A TECNOLOGIA JAVA
A TECNOLOGIA JAVA
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
• Originalmente criado para dispositivos embarcados.• Iniciou a partir Projeto Green em Junho de 1991 por James Gosling, Mike
Sheridan and Patrick Naughton.• Denominada inicialmente de Oak.• Desenvolvido por James Gosling na Sun Microsystems em 1995.• Em 1996 foi lançado a primeira versão do JDK 1.0.
• Premissas da Linguagem:• Sem ponteiros (todos ficamos felizes).• Independente de plataforma.• Recurso de garbage collector.• Alta confiabilidade.• Bytecodes.
HistóricoOrigens:
A TECNOLOGIA JAVA
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
A TECNOLOGIA JAVA
Fonte: http://viralpatel.net/blogs/java-virtual-machine-an-inside-story/
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
Tem como principal funcionalidade executar os bytecodes gerado a partir dos códigos Java, tornando a linguagem independente de plataforma. Além disso a JVM possui outras responsabilidades:
• Gerenciamento de memória.• Controle de threads.• Comunicação com o Sistema Operacional e acessar métodos nativos.• Pode executar outras linguagens além do Java como Groovy, Jython e JRuby.
JVMJava Virtual Machine:
A TECNOLOGIA JAVA
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
A TECNOLOGIA JAVA
Java Platform Standard Edition 7
Fonte: http://docs.oracle.com/javase/7/docs/index.html
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
ECLIPSE
ECLIPSE
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
ECLIPSE
• Desenvolvido inicialmente pela IBM.• Foi doado como software open-source.• Totalmente gratuita.• Ferramenta de desenvolvimento Java.• Também utilizada em outras linguagens de programação.• Baseada em Perspectivas.• Efetua a compilação, depuração e execução de um programa em Java.• Pode ser baixado do site:
• https://eclipse.org/
EclipseIDE:
Vamos conhecer alguns componentes do Eclipse.
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
ECLIPSE
EclipseSelecionando uma workspace:Local onde iremos colocar os nossos códigos fontes e projetos.
Diretório dos fontes
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseTela inicial:
ECLIPSE
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipsePerspectiva Java:
ECLIPSE
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando um Projeto:
ECLIPSE
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando um Projeto:
ECLIPSE
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando um Projeto:
ECLIPSE
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando um Projeto:
ECLIPSE
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando um pacote:
ECLIPSE
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando um pacote:
ECLIPSE
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando uma classe:
ECLIPSE
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando uma classe:
ECLIPSE
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
EclipseCriando uma classe:
ECLIPSE
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
• Funcionamento de um programa Java.• Variáveis.• Condicionais.• Laços.• Vetores.• String.• Classes.• Interfaces.
JavaO que vamos estudar:
A TECNOLOGIA JAVA
Vamos começar !!!
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
BÁSICO DA LINGUAGEM
BÁSICO DA LINGUAGEM
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo01 {
public static void main(String[] args) {System.out.println("Olá Pessoal.
Tudo Bem?");}
}
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo02 {
public static void main(String[] args) {// É uma forma de criar comentários em linha.
System.out.println("Imprimindo na saida do console");System.err.println("Imprimindo na saida de erro do
console");System.out.print("Está forma não pula linha");System.err.format("Saida %s formatada", new
String("é"));System.out.format("Esta %s também é formatada", new
String("saida"));
// O método abaixo possui o conceito de varargsSystem.out.format("%s formatada %s vários %s",
new String("Saida"),
new String("com"),
new String("paramêtros"));
} }
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo03 {
public static void main(String[] args) {int varInt;double varDouble;float varFloat;long varLong;boolean varBoolean;byte varByte;short varShort;
varInt = 2015;varDouble = 768.35;varFloat = 3.14159265f;varLong = 250000000l;varBoolean = true;varByte = 8;varShort = 3;
System.out.println("int: " + varInt);System.out.println("double: " + varDouble);System.out.println("float: " + varFloat);System.out.println("long: " + varLong);System.out.println("boolean: " + varBoolean);System.out.println("byte: " + varByte);System.out.println("short: " + varShort);
} }
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo04 {
public static void main(String[] args) {double media = 0;double notaB1 = 5;double notaB2 = 6;
media = (notaB1 * 0.4) + (notaB2 * 0.6);
if (media >= 6) {System.out.println("Aprovado");
} else {System.out.println("Reprovado");
}
System.out.println(media >= 6 ? "Aprovado" : "Reprovado");
} }
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo05 {
public static void main(String[] args) {boolean ligar = true;if (ligar)
System.out.println("Ligado");
if (!ligar)System.out.println("Desligado");
float soma;float operador1 = 788.00f;float operador2 = 3.58f;
soma = operador1 + operador2;if (soma == 791.58f) {
System.out.println("Resultado da soma é " + soma);
}}
}
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo06 {
public static void main(String[] args) {String nomeGuerreiro = "Blackwall";String nomeMago = new String("Solas");
System.out.println("Guerreiro:" + nomeGuerreiro);System.out.println("Mago:" + nomeMago);System.out.println("Tamanho:" +
nomeGuerreiro.length());System.out.println("Tamanho:" + nomeMago.length());
if (!nomeGuerreiro.equals(nomeMago)) {System.out.println("Os nomes são
diferentes.");} else {
System.out.println("Os nomes são iguais.");}
nomeGuerreiro = nomeGuerreiro.toUpperCase();nomeMago = nomeMago.toLowerCase();
System.out.println("Guerreiro:" + nomeGuerreiro);System.out.println("Mago:" + nomeMago);
} }
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo07 {
public static void main(String[] args) {char linguagem[] = { 'J', 'a', 'v', 'a' };String java = "";
for (int i=0;i<=linguagem.length-1;i++) {java += linguagem[i];
}System.out.println("Linguagem " + java);
int notas[] = new int[2];notas[0] = 6;notas[1] = 7;
int i=0;while (i <= notas.length-1) {
System.out.println("Nota " + (i + 1) + ":" + notas[i]);
i++;}
boolean ligado = true;do {
System.out.println("Ligado");ligado = false;
} while (ligado);}
}
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; public class Exemplo08 {
public static void main(String[] args) {Integer varInt = 2015;Double varDouble = 768.35;Float varFloat = 3.14159265f;Long varLong = 250000000l;Boolean varBoolean = true;Byte varByte = 8;Short varShort = 3;
System.out.println("int: " + varInt);System.out.println("double: " + varDouble);System.out.println("float: " + varFloat);System.out.println("long: " + varLong);System.out.println("boolean: " + varBoolean);System.out.println("byte: " + varByte);System.out.println("short: " + varShort);
String valor = "100";varInt = Integer.parseInt(valor);
System.out.println("Valor convertido:" + valor);
}
}
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03; import java.util.Scanner; public class Exemplo09 {
public static void main(String[] args) {double notaB1;double notaB2;double media;Scanner scanner = new Scanner(System.in);
System.out.println("Digite a nota da B1:");notaB1 = scanner.nextDouble();
System.out.println("Digite a média:");media = scanner.nextDouble();
notaB2 = (media - (notaB1*0.4)) / 0.6;System.out.println("Nota necessária para
aprovação:" + notaB2);
scanner.close();}
}
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
ConceitosDetalhes:• Classe: é um tipo que possui uma representação. Contém atributos e
métodos.• Objeto: é a instância de uma classe e a concretização real e funcional de
suas funcionalidades.• Instância: alocando um objeto na memória.
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
ConceitosExemplos:• Herói seria uma classe, pois é um tipo.• Capitão América é o objeto pois ele é um Herói.• Instância é o próprio objeto Capitão América.
• Pessoa também é um tipo.• Steve Rogers é o objeto pois ele é uma Pessoa.• Instância é o próprio objeto Steve Rogers.
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class Pessoa {
public Pessoa() {}
}
Classe pública Pessoa
Construtor da Classe
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class ExemploPessoa {
public static void main(String[] args) {Pessoa pessoa = new Pessoa();System.out.println(pessoa);
}
}
Objeto pessoa
Instanciando o objeto pessoa
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
ConceitosDetalhes:• Toda classe possui um construtor padrão.• Construtor padrão tem como principal objetivo, colocar o objeto na
memória e criar uma instância para ser utilizada.• O construtor padrão é formado pelo nome da classe, sem um retorno e sem
parâmetros.• Na classe pode existir vários construtores com parâmetros diferentes.• Para instanciar uma classe utilizamos o operador new.
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
AtributosDetalhes:• Linda !!!• Maravilhosa !!!• Jedi !!!
• Nome• Idade• Peso • Altura
Atributos normalmente são características
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
AtributosDetalhes:• Lindo !!!• Maravilhoso !!!• Batman !!!
• Nome• Idade• Peso • Altura
Atributos normalmente são características
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class Pessoa {
private String nome;private int idade;private double altura;private double peso;
public Pessoa() {}
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;}
public double getAltura() {
return altura;}
public void setAltura(double altura) {
this.altura = altura;}
public double getPeso() {
return peso;}
public void setPeso(double peso)
{this.peso = peso;
} }
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
AtributosDetalhes:• Atributos são variáveis com escopo private criadas dentro de uma classe.• Normalmente, utilizamos métodos para obter um valor de uma variável.• Por enquanto métodos são semelhantes a funções em comparação com
outras linguagens de programação.• Métodos de atributos são conhecidos como getter e setter.• Getter obtém um valor de um atributo.• Setter atribui um valor para um atributo.
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class ExemploPessoa {
public static void main(String[] args) {Pessoa pessoa = new Pessoa();pessoa.setNome("Daisy Jazz Isobel Ridley");pessoa.setIdade(24);pessoa.setAltura(1.75);pessoa.setPeso(60.0);
System.out.println(pessoa.getNome());System.out.println(pessoa.getIdade());System.out.println(pessoa.getAltura());System.out.println(pessoa.getPeso());
}
}
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
CLASSES, OBJETOS, ATRIBUTOS E MÉTODOS
MétodosDetalhes:• É uma ação que um objeto pode executar.• Um método possui um escopo, retorno, nome e parâmetros.• Semelhantes a funções em outras linguagens de programação.• Normalmente são verbos. Por exemplo: andar, correr, sacar, comprar,
debitarConta, depositarConta.
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class Pessoa {
...
public int andar() {passos++;return passos;
} }
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class ExemploPessoa {
public static void main(String[] args) {Pessoa pessoa = new Pessoa();pessoa.setNome("Daisy Jazz Isobel Ridley");pessoa.setIdade(24);pessoa.setAltura(1.75);pessoa.setPeso(60.0);
System.out.println(pessoa.getNome());System.out.println(pessoa.getIdade());System.out.println(pessoa.getAltura());System.out.println(pessoa.getPeso());
System.out.println(pessoa.andar());}
}
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
HERANÇA
HERANÇA
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
HERANÇA
HerançaDetalhes:• Um dos benefícios de uma linguagem orientada a objetos é o
reaproveitamento constante de código fonte.• Classes são desenvolvidas para serem utilizadas em qualquer local da
aplicação e em outros projetos.• Algumas classes possuem caracterização diferentes uma das outras, mas
podem possuir alguns métodos e atributos comuns.• Por exemplo: todas as Pessoas, possuem um nome, idade, peso e altura,
mas podem existir tipo diferentes como Funcionário, Aluno e Professor.• Essas três classes compartilham os mesmo atributos e métodos da classe
Pessoa.
Herança é herdar todos os atributos e métodos de uma classe.
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class Funcionario extends Pessoa {
private double salario;private String cargo;
public Funcionario() {}
public double getSalario() {
return salario;}
public void setSalario(double salario) {
this.salario = salario;}
public String getCargo() {
return cargo;}
public void setCargo(String cargo) {
this.cargo = cargo;}
}
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
HERANÇA
HerançaDetalhes:• A palavra reservada extends seguida do nome da classe define uma
herança.• Uma classe Java herda somente de uma outra classe.• Não existe herança múltipla em Java.
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class ExemploFuncionario {
public static void main(String[] args) {Funcionario funcionario = new Funcionario();funcionario.setNome("Daisy Jazz Isobel Ridley");funcionario.setIdade(24);funcionario.setAltura(1.75);funcionario.setPeso(60.0);funcionario.setSalario(100000.00);
System.out.println(funcionario.getNome());System.out.println(funcionario.getIdade());System.out.println(funcionario.getAltura());System.out.println(funcionario.getPeso());
System.out.println(funcionario.andar());}
}
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
HERANÇA
HerançaDetalhes:• Isso funciona?
Pessoa funcionario = new Funcionario();
Sim !!! A classe Funcionario é do tipo Pessoa.
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
HERANÇA
HerançaDetalhes:• Em nossos exemplos, a classe Funcionario é filha da classe Pessoa.• Pessoa é a classe pai de Funcionario.• Podemos sobrescrever métodos da classe pai na classe filha para alterar seu
comportamento. • Neste exemplo vamos alterar o comportamento do método falar.
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class Pessoa {
...
public void falar(String frase) {System.out.println(frase);
}
... }
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class Funcionario extends Pessoa {
...
@Overridepublic void falar(String frase) {
System.out.println("Funcionário:" + frase);}
}
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class ExemploSobrescrever {
public static void main(String[] args) {Funcionario funcionario = new Funcionario();funcionario.falar("Eu trabalho na empresa ABX");
Pessoa pessoa = new Funcionario();pessoa.falar("Eu trabalho na empresa TXBUI");
Pessoa pessoa2 = new Pessoa();pessoa2.falar("Eu sou uma pessoa");
} }
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
HERANÇA
HerançaSaída do Programa:
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
INTERFACES
INTERFACES
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
INTERFACES
InterfacesDetalhes:• Interfaces são semelhantes a classes, mas seus métodos não possuem
nenhum tipo de implementação.• Os métodos são implementados obrigatoriamente na classe filha.• Podemos implementar mais de uma interface em uma classe.• Normalmente as interfaces são utilizadas para efetuar dinamismo em uma
aplicação.
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public interface Humano {
String getNome();void setNome(String nome);int getIdade();void setIdade(int idade);double getAltura();void setAltura(double altura);double getPeso();void setPeso(double peso);void falar(String frase);int andar();
}
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class Pessoa implements Humano {
... }
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
InterfacesDetalhes:• Para implementar uma interface utilizamos a palavra reservada implements
seguida do nome da interface.• Podemos implementar mais de uma interface separados por virgula.
INTERFACES
LINGUAGEM DE PROGRAMAÇÃO JAVA – Prof. Thomás da Costa
package br.com.aula.java; public class ExemploInterface {
public static void main(String[] args) {Humano pessoa = new Pessoa();pessoa.falar("Sou uma pessoa");
Humano funcionario = new Funcionario();funcionario.falar("Sou um funcionário
feliz");}
}
Obrigado !!!