SlideShare uma empresa Scribd logo
Curso de Java
PARTE 2
Programando em Java
Ambiente de Desenvolvimento
Sintaxe
Nomenclatura CamelCase
Variáveis
Tipo de Dados
Classes / Métodos do JDK
por: Mário Sergio
mariosergio30@gmail.com
linkedin.com/in/mario-sergio-a1125831
2
Relembrando…
O menor programa que se pode escrever: Alô mundo !
{ } Delimitadores de bloco de código
Recursos de interface com o usuário
Saída e Entrada de Dados
3
Não se preocupe ainda com o entendimento completo dos trechos:
new Scanner(System.in), String nome
Mais adiante, você entenderá o que significam com mais profundidade
Mão na Massa
4
BASTA DE LINHA DE COMANDO !
Ambiente de Desenvolvimento
Eclipse
5
•É um IDE : Integrated development environment (Ambiente
de densenvolvimento integrado)
•Gerencia diversos projetos (com muitos arquivos,
classes...)
•Aumenta a produtividade no desenvolvimento de software
•O Eclipse é utilizado por milhares de programadores ao
redor do mundo
Ambiente de Desenvolvimento
6
Projetos
Código Fonte
Área de programação
Console, Debugs, e outros recursos...
Instalação: https://www.eclipse.org/downloads/eclipse-packages/
Tutorial: https://www.caelum.com.br/apostila-java-orientacao-objetos/eclipse-ide/
Mãos à Obra
7
Escreva o programa de exemplo de Entrada de Dados
Mãos à Obra
8
Execute o programa de exemplo de Entrada de Dados
Palavras reservadas
Essas palavras fazem parte da sintaxe da linguagem, e por isso não podem ser utilizadas como
IDENTIFICADORES (nomes) de classes, objetos, variáveis ou métodos definidos pelo programador.
9
https://www.devmedia.com.br/o-que-significa-cada-palavra-reservada/8320
Saber mais:
abstract boolean break byte case
catch char class continue default
do double else extends false
final finally float for if
implements import instanceof int interface
long native new null package
private protected public return short
static super switch synchronized this
throw throws transient true try
void volatile while
Palavras-chave de Java
Regras de Declaração de Variáveis
(Obrigatório)
•Para identificar uma variável somente é possivel utilizar letras
(maiusculas e minúsculas), números ou o caracter de sublinhado _ .
•Mas, não pode utilizar como nome uma palavra reservada, nem começar
por um numero.
•Sintaxe:
Tipo identifidcador;
•Exemplos:
10
String é o único dos tipos
apresentados aqui, que
NÃO é um Tipo Primitivo.
String é um tipo Objeto
pertencente a classe interna
do java do pacote java.lang
Por isso é o único escrito
com unicial maiúscula.
Convenção de Identificadores (nomes)
Boas Práticas
•Embora não seja de uso obrigatório, existe a convenção
padrão para atribuir nomes em Java, como:
–Nomes de classes devem ser sempre iniciados por letras maiúsculas;
Ex: Pessoa, Conta
–Nome de métodos, atributos, variáveis/objetos, seguem a regra:
–Apenas um Nome: iniciados por letras minúsculas;
Ex: calcular(), pessoa, aluno
Nome Composto: primeira palavra iniciada por letra minúscula e a partir
da segunda com maiúscula.
Ex: calcularTotal(), calcularMedia(), alunoEspecial
11
https://www.devmedia.com.br/boas-praticas-de-programacao/21137
Saber mais:
Convenção de Identificadores (nomes)
Boas Práticas
“Lembre-se de seguir a convenção CamelCase, ela é uma
convensão largamente aceita
Isto é, preste atenção nas maiúsculas e minúsculas”
nomeDeVariavel,
nomeDeAtributo,
nomeDeMetodo,
NomeDeClasse
12
http://java-hunters.blogspot.com/2014/12/o-padrao-camelcase.html
Saber mais:
Atribuição de valores em Variáveis
Operador de Atribuição:
=
•Atribuindo valores
•exemplos:
nome = ”joão”;
idade = 25;
altura = 1.85;
peso = 60.5f;
ativo = true;
Não confundir com
operador de igualdade
que é ==
13
•Declaração e Atribuição
(Inicialização) em única linha:
String nome = ”joão”;
int idade = 25;
double altura = 1.85;
float peso = 60.5f;
boolean ativo = true;
–Caractere:
char (Caractere)
String (cadeia de caracteres)
–Inteiros
int (Inteiro)
byte (Inteiro Curto)
short (Inteiro medio)
long (Inteiro Longo)
Ponto Flutuante (números Reais):
float (ponto Flutuante Simples)
double (ponto Flutuante Duplo)
Lógico:
boolean (Lógico: true, false)
Principais Tipos de Variáveis:
String é o único dos tipos
apresentados aqui, que
NÃO é um Tipo Primitivo.
String é um tipo Objeto
pertencente a classe interna
do java do pacote java.lang
Por isso é o único escrito
com unicial maiúscula.
14
Comentários
Servem apenas para os humanos lerem,
são desprezados pelo compilador
15
Operadores Aritméticos
16
Também para concatenar Strings: “Aprendendo” + “Java”
Mãos à Obra
17
Declare variáveis sugeridas abaixo:
E escreva um programa que calcule a
média entre duas notas e exiba
como saída ao usuário, por exemplo:
<<< Programa Escolar >>>
Oi Fulano de Tal, sua média foi: X
O tipo char permite a representação de caracteres
individuais.
Geralmente utilizado para armazenar um caractere da
tabela ASCII.
Tipo Primitivo: char
18
Exemplo:
char sexo = 'M';
Um char deve ser delimitado por
aspas simples.
Tabela ASCII:
American Standard Code for Information Interchange
19
Tabela ASCII:
American Standard Code for Information Interchange
20
É um objeto especial do java que armazena
valores que são uma sequência de caracteres do
tipo char.
Tipo Objeto: String
21
Exemplo:
String apelido = ”jo”;
String nomeCompleto = ”joão roberto da silva”;
Uma String deve ser delimitada por aspas duplas
A Linguagem JAVA e seus Pacotes
22
Tão especial que
dispensa import
Como usar Classes
A instrução import é utilizada para identificar e carregar classes que
desejamos utilizadar em nosos programas.
• As instruções import devem aparecer sempre antes da definição das
classes.
Exemplo:
import java.util.Scanner;
23
Import
• A Biblioteca (API – Application Programming Interface) é formada
por conjunto de classes do JDK, organizadas em pacotes;
• Exemplos de pacotes Java:
• java.lang: Tipos e funcionalidades básicas da linguagem. Inclui, entre outras, as
classes String, Math, Integer e Thread. É importada automaticamente em seus
programas Java;
• java.awt: componentes gráficos originais da linguagem (Abstract Window
Toolkit);
• javax.swing: pacote de eXtensão aos componentes gráficos com melhoramentos
à biblioteca AWT
• java.applet: classes específicas para tratamento de applets;
• java.net: recursos de rede (sockets e URLs);
• java.io: classes para escrita e leitura em arquivos;
• java.util: classes para tarefas gerais, tais como vetores e string de tokens.
Classes predefinidas no JDK
24
Um pacote Especial
25
A Classe System
- A classe System possui os métodos out.print(), out.println(), que fazerm
o papel do comando de saída mais básico do java.
A Classe String
- A classe String também faz parte do pacote padrão java.lang, ela é uma classe
especial que representa o tipo Caracter.
- Mas além da classe String, há outras classes que representam os tipos primitivos
em java que são chamadas de classes Wrappers, veremos mais tarde.
java.lang.* (é especial, dispensa import)
Utilizando Métodos
• Os métodos permitem realizar diversas tarefas:
cálculos, comunicação com outros objetos, eles
definem o comportamento de um programa.
• O métodos (processam) atuam sobre os dados
(variáveis/atributos) de uma classe ou de um objeto,
eles alteram o estado atual do programa.
• Em Java, métodos são similares aos procedimentos e
funções. Ou seja, podem apenas executar uma tarefa,
ou também retornar um valor para a trecho do
programa que invocou (chamou o método).
O que são Métodos
26
Utilizando Métodos
-Um método é acionado (invocado) por uma chamada. Essa chamada
pode ser feita diretamente à classe (no caso dos métodos estáticos)
-Isso significa que não é necessário instanciar um objeto (operador
new) para utilizá-lo. Podendo chamá-lo da seguinte maneira:
NomeDaClasse.metodo();
-Por exemplo o método println da classe System é estático, é por isso
o utilizamos assim: System.out.println()
Métodos de Classe (ou Estáticos)
classe
27
chamando o método println()
diretamente a partir da própria Classe
Utilizando Métodos
- Já os métodos nextLine(), nextInt() ... da classe Scanner, não podem
ser chamados diretamente a partir da Classe:
Precisamos instânciar um Objeto (criar um Objeto do tipo da classe):
Scanner t1 = new Scanner(System.in);
Scanner t2 = new Scanner(System.in);
t1.nextLine();
Métodos de Objeto (ou de Instância)
Dizemos que t1 e t2 são:
Objetos do tipo Scanner
ou
Instâncias da classe Scanner
28
Agora sim, podemos chamar o método nextLine() do Objeto t1
(que possui todos os métodos da classe Scanner)
Scanner.nextLine();
Mas
porque ?
A palavra reservada static está
relacionada a esse conceito, mas
entenderemos melhor quando
passarmos a criar nossas próprias
classes.
Por enquanto apenas
aceite que é assim, e
pronto !
Mãos à Obra
29
Com base no exercício anterior,
melhore seu “Programa Escolar”,
de maneira que os dados de entrada
sejam informados pelo usuário.
por exemplo:
<<< Programa Escolar >>>
Por favor informe:
Seu nome:
Sua idade:
Nota da primeira prova:
Nota da segunda prova:
.....
A Classe Math (java.lang)
• Os métodos da classe Math disponibilizam operações matemáticas.
Exemplos de chamadas de métodos da classe Math:
– Função raiz quadrada: double y = Math.sqrt(10.0);
– Função mínimo. double z = Math.min(x,10);
• Os métodos da classe Math são métodos estáticos, ou seja, não
necessitam de objetos da classe para sua chamada. Por essa razão você
deve precer as chamadas dos métodos com o nome da classe seguido
de ponto (como já fizemos nos programas anteriores):
Expressões Matemáticas
30
Método
abs( x )
ceil ( x )
cos( x )
exp( x )
floor( x )
log( x )
max( x, y )
min( x, y )
pow( x, y )
sin( x )
sqrt( x )
tan( x )
Exemplo
pow(2.0, 7.0) é 128.0; pow(9.0,0.5) é 3.0
sin(0.0) é 0.0
sqrt(900.0) é 30.0; sqrt(9.0) é 3.0
tan(0.0) é 0.0
tangente trigonométrica de x (x em
radianos)
abs(23.7) é 23.7; abs(0.0) é 0.0; abs(-23.7) é 23.7
ceil(9.2) é 10.0; ceil (-9.8) é -9.0;
cos(0.0) é 1.0
exp(1.0) é 2.718281828
floor(9.2) é 9.0; floor(-9.8) é -10.0
log(2.718282) é 1.0; log(7.389056) é 2.0
max( 2.3, 12.7) é 12.7; max(-2.3;-12.7) é -2.3
min( 2.3, 12.7) é 2.3; min(-2.3;-12.7) é -12.7
menor valor entre x e y (também em
versões para float, int e long)
x elevado à potência y (x
y
)
seno trigonométrico de x (x em
radianos)
raiz quadrada de x
método esponencial e
x
arredonda o valor de x para o maior
inteiro não menor que x
logaritmo natural de x (base e)
maior valor entre x e y (também em
versões para float, int e long)
Descrição
valor absoluto de x (tem versões para
float, int e log)
arredonda o valor de x para o menor
inteiro não menor que x
co-seno trigonométrico de x (x em
radianos)
31
A Classe Math (java.lang)
Alguns métodos:
Classe Random (java.util)
• A classe Random, é útil quando se deseja trabalhar com números
aleatórios (randomicos)
Ex: sorteio de um número entre 0 e 100:
Random aleatorio = new Random();
int sorteio = aleatorio.nextInt(100);
System.out.println("Sorteio: " + sorteio);
32
Trabalhado com Datas (java.util)
• Até o java 7, a classe Date era a única maneira de acesso a data e
hora do sistema, e pode ser utilizada em conjunto com a classe
SimpleDateFormat do pacote java.text
Ex:
Date d = new Date();
System.out.println(d);
SimpleDateFormat simple = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
System.out.println(simple.format(d));
33
Atalho: clique sobre Date e SimpleDateFormat e então:
CTRL + SHIFT + M (importa imports de um pacote automaticamente)
F1 - Obtendo Ajuda on-line
Posicione o cursor em cima do que se deseja obter ajuda.
Ex.: clique em SimpleDateFormat e pressione F1
34
35
Constantes
Boas Práticas:
CONSTANTES
SEMPRE EM LETRAS
MAIÚSCULAS
Constantes em Java,
são identificadas com
o qualificador final
Só é possivel atribuir valor uma vez, ou seja, não se
pode alterar o valor de uma constante.
36
Tipos Enumerados
Varíável do tipo PropostaSituacao
É um tipo especial de dado, utilizado para criar um
domínio predefinido de valores(constantes).
https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
Saber mais:
Mãos à Obra
37
Exercício:
Exibir saida ao usuário, Ex.:
<<<< Caixa Economica Federal (constante) >>>
Sorteioda Loteria: Megasena (tipo enumerado) >>>
Data: dd/MM/yyyy
Dezenas Sorteadas: (números rândomicos)
Dezena 1: d1
Dezena 2: d2
Dezena 3: d3
Dezena 4: d4
Dezena 5: d5
Dezena 6: d6
Faixa de Valores
Tipos Primitivos: Inteiro
-2.147.483.648 a +2.147.483.647int
-9.223.372.036.854.775.808 a
+9.223.372.036.854.775.807long
-32.768 a +32.767short
-128 a +127byte
FaixasTipo Inteiros
38
Exemplificando faixas:
–1.44E6 é equivalente a 1.44 x 106 = 1.440.000.
–3.4254e-2 representa 3.4254 x 10-2 =0.034254.
FaixasTipos de Dados em
Ponto Flutuante
 4.94065645841246544 x 10-324 a 
1.79769313486231570 x 10+308double
 1.40282347 x 10-45 a  3.40282347 x 10+38
float
39
Faixa de Valores
Tipos Primitivos: Reais (fracionários)
Exemplo:
double altura = 1.85;
float peso = 60.5f;
40
Mais Operadores de Atribuição
• Java fornece vários operadores que abreviam as expressões de
atribuição;
Exemplo Exemplificação Atribui
c += 7 c = c + 7 10 a c
d -= 4 d = d - 4 1 a d
e *= 5 e = e * 5 20 a e
f /= 3 f = f / 3 2 a f
g %=9 g = g % 9 3 a g
Exemplos: int c = 3, d = 5, e = 4, f = 6, g = 12
Operador de
atribuição
+=
-=
*=
/=
%=
Arrays [ ]
•Os arrays podem armazenar valores dos tipos
primitivos ou objetos já vistos acima.
•O propósito de um array é armazenar mais de um valor
do mesmo tipo, utilizando apenas um nome de
variável.
•Geralmente utilizado para armazenar e manipular uma
grande quantidade de dados de mesmo tipo.
41
Arrays [ ]
•Os elementos de um array são identificados através de índices numéricos
(posição).
•Arrays cujos elementos são indicados por um único índice são
denominados arrays unidimensionais
•O atributo length permite consultar o tamanho atual do array. Ex:
42Posição
Valor Armazenado
Arrays – Declarando e usando
[ ] - os colchetes devem ser inseridos em uma variável que
referêcia um array, e o operador New serve para instanciar o
array;
•Exemplos:
int[] i; Somente declara um array
i = new int[10]; Instânciando um array com 10 posições.
•Declarando e definindo o tamanho de uma só vez:
int[] idade = new int[4]; Instânciando um array com 4 posições.
•Declarando e Inicializando valores em um array com {}
String[] nomes = {“lucia”,”maria”,”jose”,”ricardo”};
43
Arrays – Declarando e usando
44
C [ 0 ] - 128
C [ 1 ] 8
C [ 2 ] 0
C [ 3 ] 82
C [ 4 ] 64
C [ 5 ] - 12
C [ 6 ] 65
C [ 7 ] 43
C [ 8 ] 76
C [ 9 ] 11
Número da posição (índice) do elemento
dentro de um array
...
public static void main (String args[]) {
int c = new int[10];
OU
int c = {-128,8,0,82,64,-12,65,43,76,11};
}
c[4] = 64;
Debug
45https://www.caelum.com.br/apostila-java-orientacao-objetos/apendice-debugging/#o-que--debugar
Saber mais:
Monitoramento dos valores em mémoria
em tempo de execução
BreakPoint
Debugging (em português, depuração ou depurar) é um
processo para encontrar bugs no seu sistema.
DICA: use F8 e F6 para execução passo a passo
Mãos à Obra
46
Baseado no exercício anterior, agora você deve armazenar os 6 números
sorteados em um array.
Altere a saída final para o usuário para:
Dezenas sorteadas: n1, n2, n3, n4, n5, n6 (números randomicos)
Mãos à Obra
47
Baseado no exercício anterior, agora você deve armazenar os 6 números
sorteados em um array.
Altere a saída final para o usuário para:
Dezenas sorteadas: n1, n2, n3, n4, n5, n6 (números randomicos)
Trabalhado com Datas (no Java 8)
Vimos neste material que até o java 7, new Date() era a única maneira de
representar datas em java, mas a partir do java 8, passa a ser
recomendado o uso de LocalDate e Instant
48
LocalDate hoje = LocalDate.now();
System.out.println(hoje);
//2014-04-08 (formato ISO-8601)
Instant agora = Instant.now();
System.out.println(agora);
//2014-04-08T10:02:52.036Z (formato ISO-8601)
Material de Refência:
https://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/
49
Obrigado !

Mais conteúdo relacionado

Mais procurados

Python Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdfPython Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdf
MarioAthayde
 
Aula 2 - Comandos DDL DML DQL E DCL
Aula 2 - Comandos DDL DML DQL E DCLAula 2 - Comandos DDL DML DQL E DCL
Aula 2 - Comandos DDL DML DQL E DCL
César Augusto Pessôa
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
Ludimila Monjardim Casagrande
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
thomasdacosta
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
Daniel Brandão
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
Fabio Moura Pereira
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
Daniel Brandão
 
Tutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchTutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL Workbench
Daniel Brandão
 
Tratamento de exceções
Tratamento de exceçõesTratamento de exceções
Tratamento de exceçõesAlvaro Oliveira
 
[Curso Java Basico] Aula 14: Condicionais If-Else
[Curso Java Basico] Aula 14: Condicionais If-Else[Curso Java Basico] Aula 14: Condicionais If-Else
[Curso Java Basico] Aula 14: Condicionais If-Else
Loiane Groner
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e Técnicas
Breno Vitorino
 
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
Loiane Groner
 
6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
Emília Alves Nogueira
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
Microsoft
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetição
Wesley R. Bezerra
 
Python Orientação a Objeto
Python Orientação a ObjetoPython Orientação a Objeto
Python Orientação a Objeto
antonio sérgio nogueira
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Java - Primeiros passos
Java - Primeiros passosJava - Primeiros passos
Java - Primeiros passos
Professor José de Assis
 

Mais procurados (20)

Python Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdfPython Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdf
 
Aula 2 - Comandos DDL DML DQL E DCL
Aula 2 - Comandos DDL DML DQL E DCLAula 2 - Comandos DDL DML DQL E DCL
Aula 2 - Comandos DDL DML DQL E DCL
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
 
Tutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchTutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL Workbench
 
Tratamento de exceções
Tratamento de exceçõesTratamento de exceções
Tratamento de exceções
 
[Curso Java Basico] Aula 14: Condicionais If-Else
[Curso Java Basico] Aula 14: Condicionais If-Else[Curso Java Basico] Aula 14: Condicionais If-Else
[Curso Java Basico] Aula 14: Condicionais If-Else
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e Técnicas
 
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
 
6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetição
 
Python Orientação a Objeto
Python Orientação a ObjetoPython Orientação a Objeto
Python Orientação a Objeto
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Java - Primeiros passos
Java - Primeiros passosJava - Primeiros passos
Java - Primeiros passos
 

Semelhante a Curso de Java (Parte 2)

Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
John Godoi
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
Natanael Fonseca
 
Aula 03 - Classes math e string - JAVA
Aula 03   - Classes math e string - JAVAAula 03   - Classes math e string - JAVA
Aula 03 - Classes math e string - JAVA
ULBRA
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
Arthur Emanuel
 
Java
JavaJava
Java
bielgott
 
Linguagens Poo
Linguagens PooLinguagens Poo
Linguagens PooInfogenius
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
Gabriel Faustino
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
Juliano Weber
 
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
Escola Básica e Secundária da Povoação
 
Poo slides01
Poo slides01Poo slides01
Poo slides01jmtofoli
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
Natanael Fonseca
 
Linguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem JavaLinguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem Java
Escola Básica e Secundária da Povoação
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Java
thomasdacosta
 
1707331929 ltp iv java original
1707331929 ltp iv   java original1707331929 ltp iv   java original
1707331929 ltp iv java original
Diego Hansen Guimarães
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaCristiano Almeida
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
Marcos Castro
 
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
 

Semelhante a Curso de Java (Parte 2) (20)

Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Aula 03 - Classes math e string - JAVA
Aula 03   - Classes math e string - JAVAAula 03   - Classes math e string - JAVA
Aula 03 - Classes math e string - JAVA
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Java
JavaJava
Java
 
Linguagens Poo
Linguagens PooLinguagens Poo
Linguagens Poo
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
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
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
Linguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem JavaLinguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem Java
 
Java2
Java2Java2
Java2
 
Java aula 2
Java aula 2Java aula 2
Java aula 2
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Java
 
03 fundamentos java
03 fundamentos java03 fundamentos java
03 fundamentos java
 
1707331929 ltp iv java original
1707331929 ltp iv   java original1707331929 ltp iv   java original
1707331929 ltp iv java original
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em Java
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
 
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
 

Mais de Mario Sergio

Curso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service RESTCurso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service REST
Mario Sergio
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
Mario Sergio
 
Curso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-endCurso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-end
Mario Sergio
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)
Mario Sergio
 
Introdução a Banco de Dados (Parte 3)
Introdução a Banco de Dados (Parte 3)Introdução a Banco de Dados (Parte 3)
Introdução a Banco de Dados (Parte 3)
Mario Sergio
 
Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)
Mario Sergio
 
Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)
Mario Sergio
 
Comparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaComparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs Java
Mario Sergio
 
Curso de Java (Parte 1)
Curso de Java (Parte 1)Curso de Java (Parte 1)
Curso de Java (Parte 1)
Mario Sergio
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
Mario Sergio
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitual
Mario Sergio
 
Educação Tecnológica com Raspberry Pi
Educação Tecnológica com Raspberry PiEducação Tecnológica com Raspberry Pi
Educação Tecnológica com Raspberry Pi
Mario Sergio
 

Mais de Mario Sergio (12)

Curso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service RESTCurso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service REST
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
 
Curso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-endCurso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-end
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)
 
Introdução a Banco de Dados (Parte 3)
Introdução a Banco de Dados (Parte 3)Introdução a Banco de Dados (Parte 3)
Introdução a Banco de Dados (Parte 3)
 
Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)
 
Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)
 
Comparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaComparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs Java
 
Curso de Java (Parte 1)
Curso de Java (Parte 1)Curso de Java (Parte 1)
Curso de Java (Parte 1)
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitual
 
Educação Tecnológica com Raspberry Pi
Educação Tecnológica com Raspberry PiEducação Tecnológica com Raspberry Pi
Educação Tecnológica com Raspberry Pi
 

Curso de Java (Parte 2)

  • 1. Curso de Java PARTE 2 Programando em Java Ambiente de Desenvolvimento Sintaxe Nomenclatura CamelCase Variáveis Tipo de Dados Classes / Métodos do JDK por: Mário Sergio mariosergio30@gmail.com linkedin.com/in/mario-sergio-a1125831
  • 2. 2 Relembrando… O menor programa que se pode escrever: Alô mundo ! { } Delimitadores de bloco de código
  • 3. Recursos de interface com o usuário Saída e Entrada de Dados 3 Não se preocupe ainda com o entendimento completo dos trechos: new Scanner(System.in), String nome Mais adiante, você entenderá o que significam com mais profundidade
  • 4. Mão na Massa 4 BASTA DE LINHA DE COMANDO !
  • 5. Ambiente de Desenvolvimento Eclipse 5 •É um IDE : Integrated development environment (Ambiente de densenvolvimento integrado) •Gerencia diversos projetos (com muitos arquivos, classes...) •Aumenta a produtividade no desenvolvimento de software •O Eclipse é utilizado por milhares de programadores ao redor do mundo
  • 6. Ambiente de Desenvolvimento 6 Projetos Código Fonte Área de programação Console, Debugs, e outros recursos... Instalação: https://www.eclipse.org/downloads/eclipse-packages/ Tutorial: https://www.caelum.com.br/apostila-java-orientacao-objetos/eclipse-ide/
  • 7. Mãos à Obra 7 Escreva o programa de exemplo de Entrada de Dados
  • 8. Mãos à Obra 8 Execute o programa de exemplo de Entrada de Dados
  • 9. Palavras reservadas Essas palavras fazem parte da sintaxe da linguagem, e por isso não podem ser utilizadas como IDENTIFICADORES (nomes) de classes, objetos, variáveis ou métodos definidos pelo programador. 9 https://www.devmedia.com.br/o-que-significa-cada-palavra-reservada/8320 Saber mais: abstract boolean break byte case catch char class continue default do double else extends false final finally float for if implements import instanceof int interface long native new null package private protected public return short static super switch synchronized this throw throws transient true try void volatile while Palavras-chave de Java
  • 10. Regras de Declaração de Variáveis (Obrigatório) •Para identificar uma variável somente é possivel utilizar letras (maiusculas e minúsculas), números ou o caracter de sublinhado _ . •Mas, não pode utilizar como nome uma palavra reservada, nem começar por um numero. •Sintaxe: Tipo identifidcador; •Exemplos: 10 String é o único dos tipos apresentados aqui, que NÃO é um Tipo Primitivo. String é um tipo Objeto pertencente a classe interna do java do pacote java.lang Por isso é o único escrito com unicial maiúscula.
  • 11. Convenção de Identificadores (nomes) Boas Práticas •Embora não seja de uso obrigatório, existe a convenção padrão para atribuir nomes em Java, como: –Nomes de classes devem ser sempre iniciados por letras maiúsculas; Ex: Pessoa, Conta –Nome de métodos, atributos, variáveis/objetos, seguem a regra: –Apenas um Nome: iniciados por letras minúsculas; Ex: calcular(), pessoa, aluno Nome Composto: primeira palavra iniciada por letra minúscula e a partir da segunda com maiúscula. Ex: calcularTotal(), calcularMedia(), alunoEspecial 11 https://www.devmedia.com.br/boas-praticas-de-programacao/21137 Saber mais:
  • 12. Convenção de Identificadores (nomes) Boas Práticas “Lembre-se de seguir a convenção CamelCase, ela é uma convensão largamente aceita Isto é, preste atenção nas maiúsculas e minúsculas” nomeDeVariavel, nomeDeAtributo, nomeDeMetodo, NomeDeClasse 12 http://java-hunters.blogspot.com/2014/12/o-padrao-camelcase.html Saber mais:
  • 13. Atribuição de valores em Variáveis Operador de Atribuição: = •Atribuindo valores •exemplos: nome = ”joão”; idade = 25; altura = 1.85; peso = 60.5f; ativo = true; Não confundir com operador de igualdade que é == 13 •Declaração e Atribuição (Inicialização) em única linha: String nome = ”joão”; int idade = 25; double altura = 1.85; float peso = 60.5f; boolean ativo = true;
  • 14. –Caractere: char (Caractere) String (cadeia de caracteres) –Inteiros int (Inteiro) byte (Inteiro Curto) short (Inteiro medio) long (Inteiro Longo) Ponto Flutuante (números Reais): float (ponto Flutuante Simples) double (ponto Flutuante Duplo) Lógico: boolean (Lógico: true, false) Principais Tipos de Variáveis: String é o único dos tipos apresentados aqui, que NÃO é um Tipo Primitivo. String é um tipo Objeto pertencente a classe interna do java do pacote java.lang Por isso é o único escrito com unicial maiúscula. 14
  • 15. Comentários Servem apenas para os humanos lerem, são desprezados pelo compilador 15
  • 16. Operadores Aritméticos 16 Também para concatenar Strings: “Aprendendo” + “Java”
  • 17. Mãos à Obra 17 Declare variáveis sugeridas abaixo: E escreva um programa que calcule a média entre duas notas e exiba como saída ao usuário, por exemplo: <<< Programa Escolar >>> Oi Fulano de Tal, sua média foi: X
  • 18. O tipo char permite a representação de caracteres individuais. Geralmente utilizado para armazenar um caractere da tabela ASCII. Tipo Primitivo: char 18 Exemplo: char sexo = 'M'; Um char deve ser delimitado por aspas simples.
  • 19. Tabela ASCII: American Standard Code for Information Interchange 19
  • 20. Tabela ASCII: American Standard Code for Information Interchange 20
  • 21. É um objeto especial do java que armazena valores que são uma sequência de caracteres do tipo char. Tipo Objeto: String 21 Exemplo: String apelido = ”jo”; String nomeCompleto = ”joão roberto da silva”; Uma String deve ser delimitada por aspas duplas
  • 22. A Linguagem JAVA e seus Pacotes 22 Tão especial que dispensa import
  • 23. Como usar Classes A instrução import é utilizada para identificar e carregar classes que desejamos utilizadar em nosos programas. • As instruções import devem aparecer sempre antes da definição das classes. Exemplo: import java.util.Scanner; 23 Import
  • 24. • A Biblioteca (API – Application Programming Interface) é formada por conjunto de classes do JDK, organizadas em pacotes; • Exemplos de pacotes Java: • java.lang: Tipos e funcionalidades básicas da linguagem. Inclui, entre outras, as classes String, Math, Integer e Thread. É importada automaticamente em seus programas Java; • java.awt: componentes gráficos originais da linguagem (Abstract Window Toolkit); • javax.swing: pacote de eXtensão aos componentes gráficos com melhoramentos à biblioteca AWT • java.applet: classes específicas para tratamento de applets; • java.net: recursos de rede (sockets e URLs); • java.io: classes para escrita e leitura em arquivos; • java.util: classes para tarefas gerais, tais como vetores e string de tokens. Classes predefinidas no JDK 24
  • 25. Um pacote Especial 25 A Classe System - A classe System possui os métodos out.print(), out.println(), que fazerm o papel do comando de saída mais básico do java. A Classe String - A classe String também faz parte do pacote padrão java.lang, ela é uma classe especial que representa o tipo Caracter. - Mas além da classe String, há outras classes que representam os tipos primitivos em java que são chamadas de classes Wrappers, veremos mais tarde. java.lang.* (é especial, dispensa import)
  • 26. Utilizando Métodos • Os métodos permitem realizar diversas tarefas: cálculos, comunicação com outros objetos, eles definem o comportamento de um programa. • O métodos (processam) atuam sobre os dados (variáveis/atributos) de uma classe ou de um objeto, eles alteram o estado atual do programa. • Em Java, métodos são similares aos procedimentos e funções. Ou seja, podem apenas executar uma tarefa, ou também retornar um valor para a trecho do programa que invocou (chamou o método). O que são Métodos 26
  • 27. Utilizando Métodos -Um método é acionado (invocado) por uma chamada. Essa chamada pode ser feita diretamente à classe (no caso dos métodos estáticos) -Isso significa que não é necessário instanciar um objeto (operador new) para utilizá-lo. Podendo chamá-lo da seguinte maneira: NomeDaClasse.metodo(); -Por exemplo o método println da classe System é estático, é por isso o utilizamos assim: System.out.println() Métodos de Classe (ou Estáticos) classe 27 chamando o método println() diretamente a partir da própria Classe
  • 28. Utilizando Métodos - Já os métodos nextLine(), nextInt() ... da classe Scanner, não podem ser chamados diretamente a partir da Classe: Precisamos instânciar um Objeto (criar um Objeto do tipo da classe): Scanner t1 = new Scanner(System.in); Scanner t2 = new Scanner(System.in); t1.nextLine(); Métodos de Objeto (ou de Instância) Dizemos que t1 e t2 são: Objetos do tipo Scanner ou Instâncias da classe Scanner 28 Agora sim, podemos chamar o método nextLine() do Objeto t1 (que possui todos os métodos da classe Scanner) Scanner.nextLine(); Mas porque ? A palavra reservada static está relacionada a esse conceito, mas entenderemos melhor quando passarmos a criar nossas próprias classes. Por enquanto apenas aceite que é assim, e pronto !
  • 29. Mãos à Obra 29 Com base no exercício anterior, melhore seu “Programa Escolar”, de maneira que os dados de entrada sejam informados pelo usuário. por exemplo: <<< Programa Escolar >>> Por favor informe: Seu nome: Sua idade: Nota da primeira prova: Nota da segunda prova: .....
  • 30. A Classe Math (java.lang) • Os métodos da classe Math disponibilizam operações matemáticas. Exemplos de chamadas de métodos da classe Math: – Função raiz quadrada: double y = Math.sqrt(10.0); – Função mínimo. double z = Math.min(x,10); • Os métodos da classe Math são métodos estáticos, ou seja, não necessitam de objetos da classe para sua chamada. Por essa razão você deve precer as chamadas dos métodos com o nome da classe seguido de ponto (como já fizemos nos programas anteriores): Expressões Matemáticas 30
  • 31. Método abs( x ) ceil ( x ) cos( x ) exp( x ) floor( x ) log( x ) max( x, y ) min( x, y ) pow( x, y ) sin( x ) sqrt( x ) tan( x ) Exemplo pow(2.0, 7.0) é 128.0; pow(9.0,0.5) é 3.0 sin(0.0) é 0.0 sqrt(900.0) é 30.0; sqrt(9.0) é 3.0 tan(0.0) é 0.0 tangente trigonométrica de x (x em radianos) abs(23.7) é 23.7; abs(0.0) é 0.0; abs(-23.7) é 23.7 ceil(9.2) é 10.0; ceil (-9.8) é -9.0; cos(0.0) é 1.0 exp(1.0) é 2.718281828 floor(9.2) é 9.0; floor(-9.8) é -10.0 log(2.718282) é 1.0; log(7.389056) é 2.0 max( 2.3, 12.7) é 12.7; max(-2.3;-12.7) é -2.3 min( 2.3, 12.7) é 2.3; min(-2.3;-12.7) é -12.7 menor valor entre x e y (também em versões para float, int e long) x elevado à potência y (x y ) seno trigonométrico de x (x em radianos) raiz quadrada de x método esponencial e x arredonda o valor de x para o maior inteiro não menor que x logaritmo natural de x (base e) maior valor entre x e y (também em versões para float, int e long) Descrição valor absoluto de x (tem versões para float, int e log) arredonda o valor de x para o menor inteiro não menor que x co-seno trigonométrico de x (x em radianos) 31 A Classe Math (java.lang) Alguns métodos:
  • 32. Classe Random (java.util) • A classe Random, é útil quando se deseja trabalhar com números aleatórios (randomicos) Ex: sorteio de um número entre 0 e 100: Random aleatorio = new Random(); int sorteio = aleatorio.nextInt(100); System.out.println("Sorteio: " + sorteio); 32
  • 33. Trabalhado com Datas (java.util) • Até o java 7, a classe Date era a única maneira de acesso a data e hora do sistema, e pode ser utilizada em conjunto com a classe SimpleDateFormat do pacote java.text Ex: Date d = new Date(); System.out.println(d); SimpleDateFormat simple = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); System.out.println(simple.format(d)); 33 Atalho: clique sobre Date e SimpleDateFormat e então: CTRL + SHIFT + M (importa imports de um pacote automaticamente)
  • 34. F1 - Obtendo Ajuda on-line Posicione o cursor em cima do que se deseja obter ajuda. Ex.: clique em SimpleDateFormat e pressione F1 34
  • 35. 35 Constantes Boas Práticas: CONSTANTES SEMPRE EM LETRAS MAIÚSCULAS Constantes em Java, são identificadas com o qualificador final Só é possivel atribuir valor uma vez, ou seja, não se pode alterar o valor de uma constante.
  • 36. 36 Tipos Enumerados Varíável do tipo PropostaSituacao É um tipo especial de dado, utilizado para criar um domínio predefinido de valores(constantes). https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html Saber mais:
  • 37. Mãos à Obra 37 Exercício: Exibir saida ao usuário, Ex.: <<<< Caixa Economica Federal (constante) >>> Sorteioda Loteria: Megasena (tipo enumerado) >>> Data: dd/MM/yyyy Dezenas Sorteadas: (números rândomicos) Dezena 1: d1 Dezena 2: d2 Dezena 3: d3 Dezena 4: d4 Dezena 5: d5 Dezena 6: d6
  • 38. Faixa de Valores Tipos Primitivos: Inteiro -2.147.483.648 a +2.147.483.647int -9.223.372.036.854.775.808 a +9.223.372.036.854.775.807long -32.768 a +32.767short -128 a +127byte FaixasTipo Inteiros 38
  • 39. Exemplificando faixas: –1.44E6 é equivalente a 1.44 x 106 = 1.440.000. –3.4254e-2 representa 3.4254 x 10-2 =0.034254. FaixasTipos de Dados em Ponto Flutuante  4.94065645841246544 x 10-324 a  1.79769313486231570 x 10+308double  1.40282347 x 10-45 a  3.40282347 x 10+38 float 39 Faixa de Valores Tipos Primitivos: Reais (fracionários) Exemplo: double altura = 1.85; float peso = 60.5f;
  • 40. 40 Mais Operadores de Atribuição • Java fornece vários operadores que abreviam as expressões de atribuição; Exemplo Exemplificação Atribui c += 7 c = c + 7 10 a c d -= 4 d = d - 4 1 a d e *= 5 e = e * 5 20 a e f /= 3 f = f / 3 2 a f g %=9 g = g % 9 3 a g Exemplos: int c = 3, d = 5, e = 4, f = 6, g = 12 Operador de atribuição += -= *= /= %=
  • 41. Arrays [ ] •Os arrays podem armazenar valores dos tipos primitivos ou objetos já vistos acima. •O propósito de um array é armazenar mais de um valor do mesmo tipo, utilizando apenas um nome de variável. •Geralmente utilizado para armazenar e manipular uma grande quantidade de dados de mesmo tipo. 41
  • 42. Arrays [ ] •Os elementos de um array são identificados através de índices numéricos (posição). •Arrays cujos elementos são indicados por um único índice são denominados arrays unidimensionais •O atributo length permite consultar o tamanho atual do array. Ex: 42Posição Valor Armazenado
  • 43. Arrays – Declarando e usando [ ] - os colchetes devem ser inseridos em uma variável que referêcia um array, e o operador New serve para instanciar o array; •Exemplos: int[] i; Somente declara um array i = new int[10]; Instânciando um array com 10 posições. •Declarando e definindo o tamanho de uma só vez: int[] idade = new int[4]; Instânciando um array com 4 posições. •Declarando e Inicializando valores em um array com {} String[] nomes = {“lucia”,”maria”,”jose”,”ricardo”}; 43
  • 44. Arrays – Declarando e usando 44 C [ 0 ] - 128 C [ 1 ] 8 C [ 2 ] 0 C [ 3 ] 82 C [ 4 ] 64 C [ 5 ] - 12 C [ 6 ] 65 C [ 7 ] 43 C [ 8 ] 76 C [ 9 ] 11 Número da posição (índice) do elemento dentro de um array ... public static void main (String args[]) { int c = new int[10]; OU int c = {-128,8,0,82,64,-12,65,43,76,11}; } c[4] = 64;
  • 45. Debug 45https://www.caelum.com.br/apostila-java-orientacao-objetos/apendice-debugging/#o-que--debugar Saber mais: Monitoramento dos valores em mémoria em tempo de execução BreakPoint Debugging (em português, depuração ou depurar) é um processo para encontrar bugs no seu sistema. DICA: use F8 e F6 para execução passo a passo
  • 46. Mãos à Obra 46 Baseado no exercício anterior, agora você deve armazenar os 6 números sorteados em um array. Altere a saída final para o usuário para: Dezenas sorteadas: n1, n2, n3, n4, n5, n6 (números randomicos)
  • 47. Mãos à Obra 47 Baseado no exercício anterior, agora você deve armazenar os 6 números sorteados em um array. Altere a saída final para o usuário para: Dezenas sorteadas: n1, n2, n3, n4, n5, n6 (números randomicos)
  • 48. Trabalhado com Datas (no Java 8) Vimos neste material que até o java 7, new Date() era a única maneira de representar datas em java, mas a partir do java 8, passa a ser recomendado o uso de LocalDate e Instant 48 LocalDate hoje = LocalDate.now(); System.out.println(hoje); //2014-04-08 (formato ISO-8601) Instant agora = Instant.now(); System.out.println(agora); //2014-04-08T10:02:52.036Z (formato ISO-8601) Material de Refência: https://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/