1. Apresentar um breve resumo dos principais comandos para manipulação de banco de dados relacionais utilizando o padrão SQL.
2. Aplicar os comandos apresentados em exercícios práticos para avaliação do nível de conhecimento específico de cada individual e coletivo.
Tutorial - Criando Banco com MySQL WorkbenchDaniel Brandão
Criação de um Schema e tabelas com o MySQL Workbench
Meu contatos: www.facebook.com/danielbrandao.com.br
Twitter: @daniel85br
E-mail: professordanielbrandao@gmail.com
Aprenda Java de forma simples e prática. Este curso também ensina lógica e fundamentos de programação orientada a objetos e é ponto de partida a todos que desejam aprender Java.
1. Apresentar um breve resumo dos principais comandos para manipulação de banco de dados relacionais utilizando o padrão SQL.
2. Aplicar os comandos apresentados em exercícios práticos para avaliação do nível de conhecimento específico de cada individual e coletivo.
Tutorial - Criando Banco com MySQL WorkbenchDaniel Brandão
Criação de um Schema e tabelas com o MySQL Workbench
Meu contatos: www.facebook.com/danielbrandao.com.br
Twitter: @daniel85br
E-mail: professordanielbrandao@gmail.com
Aprenda Java de forma simples e prática. Este curso também ensina lógica e fundamentos de programação orientada a objetos e é ponto de partida a todos que desejam aprender Java.
Transformação conceitual para Lógico
Tabelas, Campos, Registros
Restrições de Integridade
Chaves Primaria / Estrangeira
SQL para Definição de dados: DDL
Contextualiza o cenário atual no qual o Raspberry pi é criado, e o apresenta como uma excelente ferramenta no ensino de Computação (e não somente informática), incluindo linguagens de programação, eletrônica e robótica. (Este material é narrado durante palestras)
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
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
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/
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
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.
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:
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;
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/