SlideShare uma empresa Scribd logo
1 de 45
PROGRAMANDO EM
JAVA
Dilvan Moreira
(baseado no livro Big Java)
Lembrando: Polimorfismo
 Problema
 Todos os objetos
implementam a mesma
ação usando métodos
diferentes.
 Solução
 ?
Lembrando: Polimorfismo
 Problema
 Todos os objetos
implementam a mesma
ação usando métodos
diferentes.
 Solução
 Chamar um método
sem saber qual o
tipo do objeto que
vai executá-lo.
Lembrando: Polimorfismo
 Definição
 Significa que quem chama um método (envia
uma mensagem) em um objeto não precisa saber
a que classe esse objeto pertence. Ele pode
pertencer a qualquer classe.
 Polimorfismo
 várias formas  o alvo (executor) de um método
pode ter várias formas (classes)
Objetivos
 Conhecer a história de Java
 Escrever seu primeiro programa em
Java
 Conhecer o estilo Java
Java Software
 Java
 Linguagem orientada a objetos
 Desenvolvida pela Sun Microsystems (hoje a
Oracle)
 Modelada no C++
 Projetada para ser
 Pequena e simples
 Portável (Diferentes SOs e arquiteturas)
 Distribuída pela Internet
Java Software: Metas
 Simples
 Orientada a Objetos
 Familiar
 Portável e Independente de máquina
 Programas em java rodam em
 Servidores
 Desktops
 Celulares
 Cartões
 Usa bytecodes
Java Software
 Processo de compilação
Java Software
 Rodando em qualquer lugar
Exemplo de um Programa em
Java
//*******************************************************
// Oreo.java Author: Kurt Eiselt
//
// Demonstrating simple Java programming concepts while
// revealing one of Kurt's many weaknesses
//*******************************************************
public class Oreo
{
//*****************************************************
// demand Oreos
//*****************************************************
public static void main (String[] args)
{
System.out.println ("Feed me more Oreos!");
}
}
Exemplo de um Programa em
Java
 Comentarios são ignorados pelo compilador
//*******************************************************
// Oreo.java Author: Kurt Eiselt
//
// Demonstrating simple Java programming concepts while
// revealing one of Kurt's many weaknesses
//*******************************************************
public class Oreo
{
//*****************************************************
// demand Oreos
//*****************************************************
public static void main (String[] args)
{
System.out.println ("Feed me more Oreos!");
}
}
Exemplo de um Programa em
Java
/*
Oreo.java Author: Kurt Eiselt
Demonstrating simple Java programming concepts while
revealing one of Kurt's many weaknesses
*/
public class Oreo
{
/* demand Oreos */
public static void main (String[] args)
{
System.out.println ("Feed me more Oreos!");
}
}
Commentários também podem ser assim:
Exemplo de um Programa em
Java
 Para o compilador, o código vai aparecer como
acima, sem nenhum comentário.
 Comentários são importantes para pessoas
 Mas não para o compilador
public class Oreo
{
public static void main (String[] args)
{
System.out.println ("Feed me more Oreos!");
}
}
Exemplo de um Programa em
Java
 Esse código é a definição de uma classe
 Um pacote de instruções que especificam
 Que tipo de dados existem
 Que tipos de operações podem ser feitas
 Programas Java programs têm uma ou mais classes
public class Oreo
{
public static void main (String[] args)
{
System.out.println ("Feed me more Oreos!");
}
}
Exemplo de um Programa em
Java
 Instruções dentro da definição de uma classe são
agrupadas em um ou mais procedimentos
chamdos métodos:
 Grupo de instruções em Java que têm um nome e
fazem alguma tarefa específica
 Todo programa Java tem que ter um método main
onde a execução dele começa
public class Oreo
{
public static void main (String[] args)
{
System.out.println ("Feed me more Oreos!");
}
}
Exemplo de um Programa em
Java
 Essas definições de classe e método são
demasiado simples (mas corretas)
 Por agora elas são suficientes
 Essas definições serão espandidas a medida
que continuamos
public class Oreo
{
public static void main (String[] args)
{
System.out.println ("Feed me more Oreos!");
}
}
Exemplo de um Programa em
Java
 Palavras usadas para se escrever programas são
chamadas identificadores
 Exceto aquelas dentro de aspas (essas são strings)
public class Oreo
{
public static void main (String[] args)
{
System.out.println ("Feed me more Oreos!");
}
}
Exemplo de um Programa em
Java
 Esse programador inventou o identificador Oreo
public class Oreo
{
public static void main (String[] args)
{
System.out.println ("Feed me more Oreos!");
}
}
Exemplo de um Programa em
Java
 Outros programadores inventaram o identificador
System.out.println
 Eles escreveram um programa para impressão
 Ele é parte de uma grande biblioteca de programas
úteis que vem com Java
public class Oreo
{
public static void main (String[] args)
{
System.out.println ("Feed me more Oreos!");
}
}
Exemplo de um Programa em
Java
 Identificadores especiais em Java são chamados
palavras reservadas
 Eles só podem ser usados em locais pré-determindos
public class Oreo
{
public static void main (String[] args)
{
System.out.println ("Feed me more Oreos!");
}
}
Palavras reservadas
 Se familiarize com elas
 Mas não precisa memorizar todas as 52 para a prova!
abstract do if private throw
boolean double implements protected throws
break else import public transient
byte enum instanceof return true
case extends int short try
catch false interface static void
char final long strictfp volatile
class finally native super while
const float new switch
continue for null synchronized
default goto package this
Identificadores
 Identificadores devem
 Começar com uma letra a ser seguida por
 Zero ou mais letas e/ou digitos
 Dígitos: 0 - 9.
 Letras são as 26 do alfabeto inglês
 Ambas maiúsculas e minúsculas
 mais o $ e _
 Mais os caracteres alfabéticos de outras línguas
Identificadores
 Identificadores devem
 Começar com uma letra a ser seguida por
 Zero ou mais letas e/ou digitos
 Dígitos: 0 - 9.
 Letras são as 26 do alfabeto inglês
 Ambas maiúsculas e minúsculas
 mais o $ e _
 Mais os caracteres alfabéticos de outras línguas
 Quais desses não são identificadores válidos?
userName user_name $cash 2ndName
first name user.age _note_ note2
Identificadores
 Identificadores devem
 Começar com uma letra a ser seguida por
 Zero ou mais letas e/ou digitos
 Dígitos: 0 - 9.
 Letras são as 26 do alfabeto inglês
 Ambas maiúsculas e minúsculas
 mais o $ e _
 Mais os caracteres alfabéticos de outras línguas
 Quais desses não são identificadores válidos?
userName user_name $cash 2ndName
first name user.age _note_ note2
Identificadores
 Java é case sensitive
 Oreo oreo OREO 0reo
 São diferentes identificadores, seja cuidadoso
 Essa é uma fonte comum de erros em programas
Identificadores
 Java é case sensitive
 Oreo oreo OREO 0reo
 São diferentes identificadores, seja cuidadoso
 Essa é uma fonte comum de erros em programas
 Esses são todos identificadores válidos?
Identificadores
 Java é case sensitive
 Oreo oreo OREO 0reo
 São diferentes identificadores, seja cuidadoso
 Essa é uma fonte comum de erros em programas
 Esses são todos identificadores válidos?
 0reo não é. E ωψÅ?
 É, pois Java aceita caracteres de outras linguas
Identificadores
 Criando identificadores em seu programa
 Lembre-se que outras pessoas vão ler esses
nomes
 Crie nomes significativos e descritivos do para
você e para eles
 Não há limite de tamanho para identificadores
 Mas use seu bom senso
public class ReallyLongNamesWillDriveYouCrazyIfYouGoOverboard
{
public static void main (String[] args)
{
System.out.println ("Enough already!");
}
}
Espaço em branco
//*******************************************************
// Oreo.java Author: Kurt Eiselt
//
// Demonstrating good use of white space
//*******************************************************
public class Oreo
{
public static void main (String[] args)
{
System.out.println ("Feed me more Oreos!");
}
}
Espaço em branco
//*******************************************************
// Oreo1.java Author: Kurt Eiselt
//
// Demonstrating mediocre use of white space
//*******************************************************
public class Oreo1
{
public static void main (String[] args)
{
System.out.println ("Feed me more Oreos!");
}
}
Espaço em branco
//*******************************************************
// Oreo2.java Author: Kurt Eiselt
//
// Demonstrating bad use of white space
//*******************************************************
public class Oreo2 { public static void main (String[]
args) { System.out.println ("Feed me more Oreos!"); } }
Espaço em branco
//*******************************************************
// Oreo3.java Author: Kurt Eiselt
//
// Demonstrating totally bizarre use of white space
//*******************************************************
public
class Oreo3
{
public static
void main (String[] args)
{
System.out.println ("Feed me more Oreos!")
;
}
}
Espaço em branco
//*******************************************************
// Oreo4.java Author: Kurt Eiselt
//
// Demonstrating deep psychological issues with whitespace
//*******************************************************
public
class
Oreo4
{
public
static
void
main
(
String[]
args
)
{
System.out.println
("Feed me more Oreos!")
;
}
}
Programando com Variáveis
//*****************************************
// Test3.java
//*****************************************
public class Test3
{
public static void main (String[] args)
{
int a; //these
int b; //are
int c; //variable declarations
b = 3;
c = 5;
a = b + c;
System.out.println ("The answer is " + a);
}
}
Checando:
1. Qual é o tipo dos valores 0 e "0"?
2. Quais são identificadores legais ?
Greeting1
g
void
101dalmatians
Hello, World
<greeting>
3. Usando o BlueJ, crie um programa que calcule e
imprima a soma dos 4 primeiros termos da série de
Maclaurin -log(1-x):
Tipos de Dados Primitivos:
Números
 6 primitivos para números
 Inteiros vs. ponto flutuante (Reais)
 Tamanhos finitos  capacidade númerica finita
Type Size Min Max
byte 1 byte -128 127
short 2 bytes -32,768 32,767
int 4 bytes -2,147,483,648 2,147,483,647
long 8 bytes -9,223,372,036,854,775,808 9,223,372,036,854,775,807
float 4 bytes approx -3.4E38 (7 sig.digits) approx 3.4E38 (7 sig.digits)
double 8 bytes approx -1.7E308 (15 sig. digits) approx 1.7E308 (15 sig. digits)
Primitive Data Types: Non-
numeric
 Tipo caracter
 nome char
 Java usa o conjunto de caracteres Unicode, assim
cada char ocupa 2 bytes de memória.
 Tipo boleano
 nome boolean
 Valores válidos
 True e false
 Representa
 yes/no, on/off
Programãção orientada com objetos JAVA –
Uma introdução prática utilizando o BlueJ
Barnes|Kölling
© 2008 by Pearson Education
slide 38
Objetos e classes
 Objetos:
 representam ‘coisas’ reais, ou de algum
domínio do problema (exemplo: “o carro
vermelho lá no estacionamento”).
 Classes:
 representam todos os objetos de um
tipo (exemplo: “carro”).
Programãção orientada com objetos JAVA –
Uma introdução prática utilizando o BlueJ
Barnes|Kölling
© 2008 by Pearson Education
slide 39
Métodos e parâmetros
 Os objetos têm operações que podem ser
invocadas (o Java as chama métodos).
 Métodos podem ter parâmetros para passar
informações adicionais necessárias para
executar.
Programãção orientada com objetos JAVA –
Uma introdução prática utilizando o BlueJ
Barnes|Kölling
© 2008 by Pearson Education
slide 40
Outras observações
 Muitas instâncias podem ser criadas a partir de uma
única classe.
 Um objeto tem atributos: valores armazenados em
campos.
 A classe define quais campos um objeto tem, mas cada
objeto armazena seu próprio conjunto de valores (o
estado do objeto).
Programãção orientada com objetos JAVA –
Uma introdução prática utilizando o BlueJ
Barnes|Kölling
© 2008 by Pearson Education
slide 41
Estado
Programãção orientada com objetos JAVA –
Uma introdução prática utilizando o BlueJ
Barnes|Kölling
© 2008 by Pearson Education
slide 42
Dois objetos c/ estados diferentes
Estado
 Alguns métodos, quando invocados, alteram
o estado de um objeto.
Ex.
Estado do objeto “círculoVerde”
•Cor: “Verde”
•Posição x: 0
•Posição y: 0
•Diâmetro: 2
círculoVerde.moverDireita(5)
Estado do objeto “círculoVerde”
•Cor: “Verde”
•Posição x: 5
•Posição y: 0
•Diâmetro: 2
Valores de retorno
 Métodos podem retornar informações sobre
um objeto por meio de um valor de retorno.
 Ex. A assinatura “String getName()”
 A palavra “String” antes do nome de método
(“getName”) especifica o tipo de retorno.
 Esse método retorna um valor do tipo “String”.
 O valor é o nome do objeto.
Perguntas?

Mais conteúdo relacionado

Semelhante a Aula5.Programando_em_Java.ppt

Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaCharles Jungbeck
 
JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemliverig
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosMoises Omena
 
lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova Rogério Cardoso
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
Poo1   aula 2 - java - apresentação do netbeans e 1º programaPoo1   aula 2 - java - apresentação do netbeans e 1º programa
Poo1 aula 2 - java - apresentação do netbeans e 1º programaDenis Sobrenome
 
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
Poo1   aula 2 - java - apresentação do netbeans e 1º programaPoo1   aula 2 - java - apresentação do netbeans e 1º programa
Poo1 aula 2 - java - apresentação do netbeans e 1º programaDenis Sobrenome
 
Minicurso de Algoritmo de Programação Em Java
Minicurso de Algoritmo de Programação Em JavaMinicurso de Algoritmo de Programação Em Java
Minicurso de Algoritmo de Programação Em JavaAnderson Cirilo Valentim
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVMWilliam Gouvea
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5Diego Pacheco
 

Semelhante a Aula5.Programando_em_Java.ppt (20)

Java m01 - Nomenclaturas
Java   m01 - NomenclaturasJava   m01 - Nomenclaturas
Java m01 - Nomenclaturas
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e Java
 
Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)
 
Programação Defensiva
Programação DefensivaProgramação Defensiva
Programação Defensiva
 
JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagem
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a Objetos
 
lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova
 
Aula 1
Aula 1Aula 1
Aula 1
 
1.introducao java
1.introducao java1.introducao java
1.introducao java
 
Aula1
Aula1Aula1
Aula1
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Linguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação JavaLinguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação Java
 
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
Poo1   aula 2 - java - apresentação do netbeans e 1º programaPoo1   aula 2 - java - apresentação do netbeans e 1º programa
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
 
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
Poo1   aula 2 - java - apresentação do netbeans e 1º programaPoo1   aula 2 - java - apresentação do netbeans e 1º programa
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
 
Minicurso de Algoritmo de Programação Em Java
Minicurso de Algoritmo de Programação Em JavaMinicurso de Algoritmo de Programação Em Java
Minicurso de Algoritmo de Programação Em Java
 
Java - Aprenda rápido
Java - Aprenda rápidoJava - Aprenda rápido
Java - Aprenda rápido
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVM
 
Java apostilha
Java apostilhaJava apostilha
Java apostilha
 
Java1
Java1Java1
Java1
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5
 

Aula5.Programando_em_Java.ppt

  • 2. Lembrando: Polimorfismo  Problema  Todos os objetos implementam a mesma ação usando métodos diferentes.  Solução  ?
  • 3. Lembrando: Polimorfismo  Problema  Todos os objetos implementam a mesma ação usando métodos diferentes.  Solução  Chamar um método sem saber qual o tipo do objeto que vai executá-lo.
  • 4. Lembrando: Polimorfismo  Definição  Significa que quem chama um método (envia uma mensagem) em um objeto não precisa saber a que classe esse objeto pertence. Ele pode pertencer a qualquer classe.  Polimorfismo  várias formas  o alvo (executor) de um método pode ter várias formas (classes)
  • 5. Objetivos  Conhecer a história de Java  Escrever seu primeiro programa em Java  Conhecer o estilo Java
  • 6. Java Software  Java  Linguagem orientada a objetos  Desenvolvida pela Sun Microsystems (hoje a Oracle)  Modelada no C++  Projetada para ser  Pequena e simples  Portável (Diferentes SOs e arquiteturas)  Distribuída pela Internet
  • 7. Java Software: Metas  Simples  Orientada a Objetos  Familiar  Portável e Independente de máquina  Programas em java rodam em  Servidores  Desktops  Celulares  Cartões  Usa bytecodes
  • 8. Java Software  Processo de compilação
  • 9. Java Software  Rodando em qualquer lugar
  • 10. Exemplo de um Programa em Java //******************************************************* // Oreo.java Author: Kurt Eiselt // // Demonstrating simple Java programming concepts while // revealing one of Kurt's many weaknesses //******************************************************* public class Oreo { //***************************************************** // demand Oreos //***************************************************** public static void main (String[] args) { System.out.println ("Feed me more Oreos!"); } }
  • 11. Exemplo de um Programa em Java  Comentarios são ignorados pelo compilador //******************************************************* // Oreo.java Author: Kurt Eiselt // // Demonstrating simple Java programming concepts while // revealing one of Kurt's many weaknesses //******************************************************* public class Oreo { //***************************************************** // demand Oreos //***************************************************** public static void main (String[] args) { System.out.println ("Feed me more Oreos!"); } }
  • 12. Exemplo de um Programa em Java /* Oreo.java Author: Kurt Eiselt Demonstrating simple Java programming concepts while revealing one of Kurt's many weaknesses */ public class Oreo { /* demand Oreos */ public static void main (String[] args) { System.out.println ("Feed me more Oreos!"); } } Commentários também podem ser assim:
  • 13. Exemplo de um Programa em Java  Para o compilador, o código vai aparecer como acima, sem nenhum comentário.  Comentários são importantes para pessoas  Mas não para o compilador public class Oreo { public static void main (String[] args) { System.out.println ("Feed me more Oreos!"); } }
  • 14. Exemplo de um Programa em Java  Esse código é a definição de uma classe  Um pacote de instruções que especificam  Que tipo de dados existem  Que tipos de operações podem ser feitas  Programas Java programs têm uma ou mais classes public class Oreo { public static void main (String[] args) { System.out.println ("Feed me more Oreos!"); } }
  • 15. Exemplo de um Programa em Java  Instruções dentro da definição de uma classe são agrupadas em um ou mais procedimentos chamdos métodos:  Grupo de instruções em Java que têm um nome e fazem alguma tarefa específica  Todo programa Java tem que ter um método main onde a execução dele começa public class Oreo { public static void main (String[] args) { System.out.println ("Feed me more Oreos!"); } }
  • 16. Exemplo de um Programa em Java  Essas definições de classe e método são demasiado simples (mas corretas)  Por agora elas são suficientes  Essas definições serão espandidas a medida que continuamos public class Oreo { public static void main (String[] args) { System.out.println ("Feed me more Oreos!"); } }
  • 17. Exemplo de um Programa em Java  Palavras usadas para se escrever programas são chamadas identificadores  Exceto aquelas dentro de aspas (essas são strings) public class Oreo { public static void main (String[] args) { System.out.println ("Feed me more Oreos!"); } }
  • 18. Exemplo de um Programa em Java  Esse programador inventou o identificador Oreo public class Oreo { public static void main (String[] args) { System.out.println ("Feed me more Oreos!"); } }
  • 19. Exemplo de um Programa em Java  Outros programadores inventaram o identificador System.out.println  Eles escreveram um programa para impressão  Ele é parte de uma grande biblioteca de programas úteis que vem com Java public class Oreo { public static void main (String[] args) { System.out.println ("Feed me more Oreos!"); } }
  • 20. Exemplo de um Programa em Java  Identificadores especiais em Java são chamados palavras reservadas  Eles só podem ser usados em locais pré-determindos public class Oreo { public static void main (String[] args) { System.out.println ("Feed me more Oreos!"); } }
  • 21. Palavras reservadas  Se familiarize com elas  Mas não precisa memorizar todas as 52 para a prova! abstract do if private throw boolean double implements protected throws break else import public transient byte enum instanceof return true case extends int short try catch false interface static void char final long strictfp volatile class finally native super while const float new switch continue for null synchronized default goto package this
  • 22. Identificadores  Identificadores devem  Começar com uma letra a ser seguida por  Zero ou mais letas e/ou digitos  Dígitos: 0 - 9.  Letras são as 26 do alfabeto inglês  Ambas maiúsculas e minúsculas  mais o $ e _  Mais os caracteres alfabéticos de outras línguas
  • 23. Identificadores  Identificadores devem  Começar com uma letra a ser seguida por  Zero ou mais letas e/ou digitos  Dígitos: 0 - 9.  Letras são as 26 do alfabeto inglês  Ambas maiúsculas e minúsculas  mais o $ e _  Mais os caracteres alfabéticos de outras línguas  Quais desses não são identificadores válidos? userName user_name $cash 2ndName first name user.age _note_ note2
  • 24. Identificadores  Identificadores devem  Começar com uma letra a ser seguida por  Zero ou mais letas e/ou digitos  Dígitos: 0 - 9.  Letras são as 26 do alfabeto inglês  Ambas maiúsculas e minúsculas  mais o $ e _  Mais os caracteres alfabéticos de outras línguas  Quais desses não são identificadores válidos? userName user_name $cash 2ndName first name user.age _note_ note2
  • 25. Identificadores  Java é case sensitive  Oreo oreo OREO 0reo  São diferentes identificadores, seja cuidadoso  Essa é uma fonte comum de erros em programas
  • 26. Identificadores  Java é case sensitive  Oreo oreo OREO 0reo  São diferentes identificadores, seja cuidadoso  Essa é uma fonte comum de erros em programas  Esses são todos identificadores válidos?
  • 27. Identificadores  Java é case sensitive  Oreo oreo OREO 0reo  São diferentes identificadores, seja cuidadoso  Essa é uma fonte comum de erros em programas  Esses são todos identificadores válidos?  0reo não é. E ωψÅ?  É, pois Java aceita caracteres de outras linguas
  • 28. Identificadores  Criando identificadores em seu programa  Lembre-se que outras pessoas vão ler esses nomes  Crie nomes significativos e descritivos do para você e para eles  Não há limite de tamanho para identificadores  Mas use seu bom senso public class ReallyLongNamesWillDriveYouCrazyIfYouGoOverboard { public static void main (String[] args) { System.out.println ("Enough already!"); } }
  • 29. Espaço em branco //******************************************************* // Oreo.java Author: Kurt Eiselt // // Demonstrating good use of white space //******************************************************* public class Oreo { public static void main (String[] args) { System.out.println ("Feed me more Oreos!"); } }
  • 30. Espaço em branco //******************************************************* // Oreo1.java Author: Kurt Eiselt // // Demonstrating mediocre use of white space //******************************************************* public class Oreo1 { public static void main (String[] args) { System.out.println ("Feed me more Oreos!"); } }
  • 31. Espaço em branco //******************************************************* // Oreo2.java Author: Kurt Eiselt // // Demonstrating bad use of white space //******************************************************* public class Oreo2 { public static void main (String[] args) { System.out.println ("Feed me more Oreos!"); } }
  • 32. Espaço em branco //******************************************************* // Oreo3.java Author: Kurt Eiselt // // Demonstrating totally bizarre use of white space //******************************************************* public class Oreo3 { public static void main (String[] args) { System.out.println ("Feed me more Oreos!") ; } }
  • 33. Espaço em branco //******************************************************* // Oreo4.java Author: Kurt Eiselt // // Demonstrating deep psychological issues with whitespace //******************************************************* public class Oreo4 { public static void main ( String[] args ) { System.out.println ("Feed me more Oreos!") ; } }
  • 34. Programando com Variáveis //***************************************** // Test3.java //***************************************** public class Test3 { public static void main (String[] args) { int a; //these int b; //are int c; //variable declarations b = 3; c = 5; a = b + c; System.out.println ("The answer is " + a); } }
  • 35. Checando: 1. Qual é o tipo dos valores 0 e "0"? 2. Quais são identificadores legais ? Greeting1 g void 101dalmatians Hello, World <greeting> 3. Usando o BlueJ, crie um programa que calcule e imprima a soma dos 4 primeiros termos da série de Maclaurin -log(1-x):
  • 36. Tipos de Dados Primitivos: Números  6 primitivos para números  Inteiros vs. ponto flutuante (Reais)  Tamanhos finitos  capacidade númerica finita Type Size Min Max byte 1 byte -128 127 short 2 bytes -32,768 32,767 int 4 bytes -2,147,483,648 2,147,483,647 long 8 bytes -9,223,372,036,854,775,808 9,223,372,036,854,775,807 float 4 bytes approx -3.4E38 (7 sig.digits) approx 3.4E38 (7 sig.digits) double 8 bytes approx -1.7E308 (15 sig. digits) approx 1.7E308 (15 sig. digits)
  • 37. Primitive Data Types: Non- numeric  Tipo caracter  nome char  Java usa o conjunto de caracteres Unicode, assim cada char ocupa 2 bytes de memória.  Tipo boleano  nome boolean  Valores válidos  True e false  Representa  yes/no, on/off
  • 38. Programãção orientada com objetos JAVA – Uma introdução prática utilizando o BlueJ Barnes|Kölling © 2008 by Pearson Education slide 38 Objetos e classes  Objetos:  representam ‘coisas’ reais, ou de algum domínio do problema (exemplo: “o carro vermelho lá no estacionamento”).  Classes:  representam todos os objetos de um tipo (exemplo: “carro”).
  • 39. Programãção orientada com objetos JAVA – Uma introdução prática utilizando o BlueJ Barnes|Kölling © 2008 by Pearson Education slide 39 Métodos e parâmetros  Os objetos têm operações que podem ser invocadas (o Java as chama métodos).  Métodos podem ter parâmetros para passar informações adicionais necessárias para executar.
  • 40. Programãção orientada com objetos JAVA – Uma introdução prática utilizando o BlueJ Barnes|Kölling © 2008 by Pearson Education slide 40 Outras observações  Muitas instâncias podem ser criadas a partir de uma única classe.  Um objeto tem atributos: valores armazenados em campos.  A classe define quais campos um objeto tem, mas cada objeto armazena seu próprio conjunto de valores (o estado do objeto).
  • 41. Programãção orientada com objetos JAVA – Uma introdução prática utilizando o BlueJ Barnes|Kölling © 2008 by Pearson Education slide 41 Estado
  • 42. Programãção orientada com objetos JAVA – Uma introdução prática utilizando o BlueJ Barnes|Kölling © 2008 by Pearson Education slide 42 Dois objetos c/ estados diferentes
  • 43. Estado  Alguns métodos, quando invocados, alteram o estado de um objeto. Ex. Estado do objeto “círculoVerde” •Cor: “Verde” •Posição x: 0 •Posição y: 0 •Diâmetro: 2 círculoVerde.moverDireita(5) Estado do objeto “círculoVerde” •Cor: “Verde” •Posição x: 5 •Posição y: 0 •Diâmetro: 2
  • 44. Valores de retorno  Métodos podem retornar informações sobre um objeto por meio de um valor de retorno.  Ex. A assinatura “String getName()”  A palavra “String” antes do nome de método (“getName”) especifica o tipo de retorno.  Esse método retorna um valor do tipo “String”.  O valor é o nome do objeto.