SlideShare una empresa de Scribd logo
1 de 64
Java Básico
Aula 01
Natanael Fonseca - Arquiteto de Software
Ementa
• Introdução a Plataforma Java;
• Fundamentos da Linguagem;
• Variáveis, Operadores e Estruturas
Condicionais;
História do Java
The Green Team. Da esquerda para a direita,Al Frazier, Joe Palrang, Mike Sheridan, Ed Frank, Don Jackson, Faye
Baxter, Patrick Naughton, Chris Warth, James Gosling, Bob Weisblatt, David Lavallee e Jon Payne. Ausentes:
Cindy Long, Chuck Clanton, Sheueling Chang e Craig Forrest.
Fonte: https://duke.dev.java.net/green/GreenBBQ.jpg.
Leia mais em: A História da Tecnologia Java - Easy Java Magazine 1
http://www.devmedia.com.br/a-historia-da-tecnologia-java-easy-java-magazine-1/18446#ixzz3LbA3Ow00
Introdução a plataforma Java 3
Plataforma Java
• Linguagem de Programação;
• Ferramentas de desenvolvimento:
compiladores, depuradores entre outras;
• Bibliotecas para desenvolvimento de
aplicações desktop, web, mobile, cartões
inteligentes, entre outras;
• JVM (Maquina Virtual).
Introdução a plataforma Java 4
Visão Geral
Introdução a plataforma Java 5
Subdivisões
• Java Micro Edition (JME)
• Java Standard Edition (JSE)
• Java Enterprise Edition (JEE)
Introdução a plataforma Java 6
Java Timeline
Introdução a plataforma Java 7
Mitos
• Java é lento ?
• Java é uma linguagem direcionada para Web ?
• Java é igual a JavaScript ?
• Diferentemente dos códigos em C/C++, Java
não tem memory leak ?
• Java é apenas interpretado ?
Introdução a plataforma Java 8
Instalação
Para o curso nós iremos utilizar :
– JDK (http://www.oracle.com/technetwork/java/javase/downloads);
– Eclipse (https://www.eclipse.org/downloads/);
– Oracle Express Edition (http://www.oracle.com/technetwork/database/database-
technologies/express-edition/downloads/);
Introdução a plataforma Java 9
Características Principais
• Diferencia caracteres maiúsculos de minúsculos;
• Blocos de código são colocados entre chaves {}
representando o begin e o end de outras linguagens;
• No fim de cada instrução é obrigatório o uso de ponto
e virgula “;”
• A classe criada deve ser salva em formato texto em um
arquivo com o mesmo nome da classe e extensão .java;
• Todo programa em Java é representado por uma ou
mais classes;
• Normalmente trabalha-se com uma classe por arquivo;
Fundamentos da Linguagem 10
Declaração de classes, variáveis,
atributos e métodos
• Devem começar com letras de A-Z, a-z, _ ou $;
• Os próximos caracteres podem ser qualquer
um dos acima relacionados e também
números;
Exemplos:
Cliente, PESSOA_FISICA, $MinhaVariavel,
contador, Classe1, _umaVariavel
Fundamentos da Linguagem 11
Declaração de classes
• A declaração de uma classe é feita utilizando a
palavra reservada class seguida do nome da
classe, por exemplo:
class OlaMundo{
//Variáveis / Atributos
//Métodos
}
Observação: Apesar da classe acima ser válida e ainda compilar perfeitamente, não será possível
executa-la devido a falta do método main que será explicado posteriormente !
Fundamentos da Linguagem 12
Método Main e o clássico
HelloWorld
public class OlaMundo{
public static void main(String[] args){
System.out.println(“Ola mundo”);
}
}
Dica: Tentar rodar o código acima por meio de linha de comando, dessa forma
entendendo o funcionamento dos comandos Javac e Java.
Fundamentos da Linguagem 13
Fases de Execução
Fundamentos da Linguagem 14
Fase 1
Fase 3
Fase 2
Fase 4
Fase 5
Palavras Reservadas
abstract continue for new switch
assert*** default goto* package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum**** instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp** volatile
const* float native super while
Fundamentos da Linguagem 15
* not used
** added in 1.2
*** added in 1.4
**** added in 5.0
goto e const não são utilizadas na linguagem;
true e false são tecnicamente literais booleanos, assim como a palavra null.
Convenções de Código
Como sugestão para criação de código em Java
pode-se utilizar o documento criado pela Sun,
que visa melhorar a legibilidade e compreensão:
• http://www.oracle.com/technetwork/java/co
deconventions-150003.pdf
• Vale lembrar que a equipe de
desenvolvimento pode optar pelo uso de um
padrão próprio.
Fundamentos da Linguagem 16
Convenção de Código
Nome de Classe
Exemplo:
HelloWorld, MeuProgramaEmJava, BancoDeDados
Métodos, atributos e variáveis
Exemplo:
minhaFuncao, minhaVariavelInt
Constantes
Exemplo:
DATA_NASCIMENTO, TAMANHO_PADRAO
Identação
Tabulações devem ser abertas após a abertura da chave “{” e retroceder após
o fechamento da chave “}”.
Fundamentos da Linguagem 17
Comentários
Inline
//meu comentario
Multiline
/*
* Meu comentario
*/
JavaDoc
/**
* Com esse comentário podemos utilizar tags e anotações
* especiais que ajudarão a compor o html gerado.
*/
Fundamentos da Linguagem 18
Utilitário JavaDoc
Executar o comando
java –d diretoriodestino codigo.java
Fundamentos da Linguagem 19
Variáveis
Representam um espaço na memória para
armazenar valores que são utilizados pelos
programas de computador na resolução de
problemas.
Para cada área de memória (cada variável)
associamos um nome e o tipo a ser armazenado
naquela área.
Variáveis, Operadores e Estruturas
Condicionais
20
Tipos Primitivos
Sintaxe para declaração e inicialização de tipos primitivos:
<tipoVariavel> <nomeVariavel> = valor
Tipos primitivos podem ser:
• Numéricos;
• Caracteres;
• Booleanos (Verdadeiro ou falso)
Exemplos :
int tamanho = 500;
char sexo = ‘m’;
boolean isConnected = true;
long numeroGrande = 987654321;
Variáveis, Operadores e Estruturas
Condicionais
21
Números Inteiros
Os tipos primitivos para representação de
números inteiros oferecidos pela linguagem são:
O primeiro bit da esquerda é utilizado para o sinal + ou -, portanto não temos unsigned
como no C++.
Variáveis, Operadores e Estruturas
Condicionais
22
Tipo Valor mínimo Valor máximo Bytes
byte -128 127 1
short -32.768 32.767 2
int -2.147.483.648 2.147.483.647 4
long -922.337.203.685.475.808 922.337.203.685.475.807 8
Representações de Números Inteiros
Os literais números podem ser expressos nos sistemas: decimal, octal
ou hexadecimal
Todo número inteiro escrito em Java é tratado como int, desde que o
valor esteja na faixa de valores do int.
Para forçar um numero long utilizados a letra “L” ou “l” no final do
número: 10L;
Variáveis, Operadores e Estruturas
Condicionais
23
Valor Sistema
28 Decimal
034 Octal
0X1c Hexadecimal
Casting
Para forçar um byte ou short, devemos utilizar a
técnica de casting.
Exemplo:
byte b = (byte) 123;
byte b2 = (byte) 123568545;
short s = (short) 12565;
short s2 = (short) 1231321;
Variáveis, Operadores e Estruturas
Condicionais
24
Downcasting
Números de Ponto Flutuante
Existem dois tipos de variáveis para números com
ponto flutuante: float e double.
Todo número com ponto flutuante por padrão é double.
Pode-se também utilizar o caractere “d” ou “D” para indicar que um número é do
tipo double.
Para indicar que um número é do tipo float deve-se utilizar o caractere “F” ou “f”
no final do número.
Variáveis, Operadores e Estruturas
Condicionais
25
Tipo Valor Mínimo Valor Máximo Bytes
float 1.4𝑒−45 3.4𝑒−38 4
double 4.9𝑒−324
1.7𝑒−308 8
Exemplos
Segue alguns exemplos:
float f = 10F;
float f2 = 10.45454f;
double d = 12565484546d;
double d2 = 12565484546.0;
Variáveis, Operadores e Estruturas
Condicionais
Caracteres
Os caracteres são representados pelo tipo
primitivo char, e são utilizados para expressar
uma “tecla”.
O Java utiliza o padrão unicode:
http://pt.wikipedia.org/wiki/Unicode
http://www.unicode.org/
Variáveis, Operadores e Estruturas
Condicionais
27
Caracteres
Literais char são expressos incluindo o caractere desejado entre aspas
simples.
Exemplo :
char meuChar = ‘x’;
Outra maneira de expressar um literal de caractere é especificar o
código “Unicode” usando quatro dígitos em hexadecimal precedidos
por u, com a expressão entre aspas simples.
Exemplo:
char meuCharUnicode = ‘u4567’;
Variáveis, Operadores e Estruturas
Condicionais
28
Caracteres de escape
Java Suporta uma série de sequencias de escape usando a barra
invertida (), que é chamada de caractere de escape.
Exemplo:
n - Nova linha;
f - Nova página;
r - Para retorno;
’ - Para aspas simples;
t - Para tabulação
” - Para aspas duplas;
b - Para backspace;
 - Para barra invertida;
Variáveis, Operadores e Estruturas
Condicionais
29
Booleanos
Variáveis de tipos booleanos podem representadas apenas por
dois valores: true ou false, elas ocupam apenas 1 bit.
Exemplo:
boolean ok = true;
Boolean acabou = false;
Observação: Não existe nenhum mapeamento entre true
e false e os números inteiros diferentemente da maioria
das linguagens.
Variáveis, Operadores e Estruturas
Condicionais
30
Tipos Reference
Armazenam o endereço da memoria estendida para
um determinado objeto.
A quantidade de memória estendida varia de
acordo com o objeto em questão.
Sintaxe :
<tipoVariavel> <nomeVariavel> = new
<tipoVariavel>();
Variáveis, Operadores e Estruturas
Condicionais
31
Características dos tipos reference
Variáveis do tipo reference podem conter os
seguintes valores:
• null
• Referencia para qualquer objeto cuja classe é
de um tipo compatível ao declarado.
• Referencia para um array;
Variáveis, Operadores e Estruturas
Condicionais
32
O valor null
É um literal, usado para dizer que a variável não
armazena nenhuma referencia.
Exemplos:
String s = new String();
String s2 = “Teste”;
Object meuObject = new Object();
Object o = null;
Variáveis, Operadores e Estruturas
Condicionais
33
Classe String
Geralmente, a classe String é uma das primeiras
a ser utilizada, pois representa um texto e sua
inicialização pode ser feita semelhantemente a
inicialização de varáveis de tipos primitivos.
Exemplo:
String str = "abc";
Variáveis, Operadores e Estruturas
Condicionais
34
Variáveis Locais
São declaradas dentro de métodos ou blocos de código. Esse
tipo de variável não possui um valor de inicialização padrão,
portanto, devemos fornecer um; caso contrário, receberemos
um erro de compilação.
class Principal{
public static void main(String[] args){
String nome = “good morning class”;
float f = 23.5f;
int i = 10;
}
}
Variáveis, Operadores e Estruturas
Condicionais
35
Escopo
O escopo define em que parte do programa a variável estará acessível.
Exemplo:
class Principal{
public static void main(String[] args){
{
int x = 50;
}
System.out.println(“Valor de x - ” + x );
}
}
O código acima não compila, pois a variável x esta definida em um escopo diferente do
código de impressão.
Variáveis, Operadores e Estruturas
Condicionais
36
Exercício
Crie uma classe chamada TesteVariaveis com o método main e
faça o seguinte:
- Declare e inicialize uma variável do tipo String para
armazenar o seu nome;
- Declare e inicialize uma variável int para armazenar a sua
idade;
- Declare e inicialize uma variável do tipo String para
armazenar o seu RG;
Imprima todos os valores de maneira a obter a seguinte saída:
Senhor(a) <seu nome>, de <sua idade> anos, portador(a) do
RG de número <rg>, do sexo <M/F>.
Obs: peça o professor para ensinar também a classe Scanner e o método printf.
Variáveis, Operadores e Estruturas
Condicionais
37
Operadores
Símbolos previamente definidos na linguagem de programação
para representar operações aritméticas, operações de conversão
de tipos, entre outras.
Operadores unários :
Variáveis, Operadores e Estruturas
Condicionais
38
Operador Símbolo
Negação !
Pré e pós-incremento ++
Pré e pós-decremento --
Sinal positivo +
Sinal negativo -
cast ()
Operação de negação
Utilizado para inverter o valor de uma expressão booleana. Então uma
expressão !false resulta em true, enquanto a expressão !true resulta
em false.
Exemplo:
class Principal{
public static void main(String[] args){
boolean conectado = true;
boolean naoconectado = !conectado;
System.out.println( “valor - ” + naoconectado );
}
}
Resultado : valor - false
Variáveis, Operadores e Estruturas
Condicionais
39
Operador de incremento e decremento
++, --
Estes operadores modificam o valor de uma expressão
adicionando ou subtraindo 1.
• Pós-fixado(após uso da variável)
Exemplo:
int x = 5;
System.out.println( “” + x++ );
• Prefixados(antes que a variável seja utilizada).
Int y = 3;
System.out.println( “” + --x );
Variáveis, Operadores e Estruturas
Condicionais
40
Operadores de representação de sinal
+ e -
Representam o positivo e o negativo respectivamente. O operador +
não tem outra função senão deixar explicito que um numero é
positivo.
Exemplo:
int x = -3;
int z = +3; // z = 3 seria exatamente igual.
Variáveis, Operadores e Estruturas
Condicionais
41
Operador de inversão
Conhecido como bitwise inversion operator( operador de
inversão de bits) converte todos os bits 1 em 0 e os bit 0
em 1.
Exemplo:
int resultado = ~7; // - 8
int resultado = ~-19; // 18
Dica: Uma formula simples de obter o mesmo resultado é somar um e
inverter o sinal.
Variáveis, Operadores e Estruturas
Condicionais
42
Operadores aritméticos
São aqueles que envolvem dois ou mais operandos e representam
operações matemáticas: adição, subtração, entre outras.
Adição e subtração: + e –
Exemplo: 4 + 4
Multiplicação e divisão: * e /
Exemplo: 4+4 ou 8/2
Observações:
• Java não permite sobrecarga de operadores;
• + se usado com String contatena;
• Ao somar ou subtrair dois inteiros tenha certeza que a variável que irá receber esses valores é de um tipo com
tamanho capaz de suportar, caso contrário o resultado não fará sentido.
Variáveis, Operadores e Estruturas
Condicionais
43
Resto de divisão
O símbolo % é utilizado para obter o resto de
uma divisão, normalmente utilizado em um
numero inteiro, porém, também pode ser
aplicado a dois números de ponto flutuante.
Exemplo:
int mod = 12%4;
Variáveis, Operadores e Estruturas
Condicionais
44
Operadores de deslocamento
No Java são três operadores de descolamento
de bits: >>, << e >>>.
>> - Provoca o deslocamento de bits para a
direita, mantendo o bit do sinal fixo.
<< - Provoca o deslocamento dos bits para a
esquerda.
>>> - provoca o deslocamento de bits para a
direita, deslocando também o bit do sinal.
Variáveis, Operadores e Estruturas
Condicionais
45
Operadores de comparação
Utilizados para comparar valores e retornam
true ou false.
Variáveis, Operadores e Estruturas
Condicionais
46
Símbolo Operador
< Menor que
> Maior que
<= Menor ou igual que
>= Maior ou igual que
== Igual
!= Diferente
InstanceOf
Verifica se um determinado objeto é uma instancia de uma classe.
Exemplo:
class Principal{
public static void main(String[] args){
String nome = “”;
if(nome instanceof String ){
System.out.println(“é String”);
}else{
System.out.println(“não é String”);
}
}
}
A variável da esquerda deve ser uma variável do tipo reference.
Variáveis, Operadores e Estruturas
Condicionais
47
Operadores Lógicos
&& (AND)
Se uma das condições for falsa, o resultado do AND será falso.
Então, se a primeira condição for falsa, o resultado é falso sem
que a avaliação da segunda operação seja realizada.
|| ( OR )
Se uma das condições for verdadeira, então o resultado do OR
será verdadeiro, portanto, se a primeira condição for
verdadeira, a segunda condição não será avaliada.
Variáveis, Operadores e Estruturas
Condicionais
48
Operadores bit a bit
(&, ^ e|)
Aplicáveis a tipos inteiros e booleanos. O resultado
de uma operação entre bits é calculado
comparando-se os operadores bit a bit.
Regras Básicas:
• 1 & 1 resulta em 1, qualquer outra combinação resulta em 0;
• 0 | 0 resulta em 0, qualquer outra combinação resulta em 1;
• 1 ^ 0 ou 0 ^1 resulta em 1, qualquer outra combinação resulta
em 0;
Variáveis, Operadores e Estruturas
Condicionais
49
Operadores de atribuição
Estes operadores atribuem novos valores a uma
variável ou expressão.
Variáveis, Operadores e Estruturas
Condicionais
50
Operador Descrição
= Atribuição Simples
+= Incrementa o valor da variável com o operando ou expressão
do lado direito, por exemplo x+=3 equivale a x = x +3.
-= Semelhante ao trecho acima, neste caso x-=3 equivale a x =
x-3
*= X*=3 equivale a x = x*3
/= x/=3 equivale a x = x/3
%= X%=3 equivale a x = x%3
Operador Ternário
Atribui novos valores a uma variável com base em um comando condicional.
Exemplo:
int a = 2;
int b = 3;
int c = 4;
a = b > c ? b: c;
A expressão do lado esquerdo da “?” é avaliada (no caso b>c)
• Se b é maior que c, então a = b;
• Se b é menor ou igual a c, então a = c;
Variáveis, Operadores e Estruturas
Condicionais
51
Exercício
• Utilizando apenas as técnicas de programação
aprendidas até o momento, escreve um
programa em Java que imprima o quadrado e
o cubo dos números de 0 a 10, conforme
imagem abaixo:
Controle de Fluxo
If, else
Sintaxe:
If( <expressão booleana OU valor booleano> ){
//instrução 1
//instrução 2
}else{
//instrução 3
}
Dica: O uso da chave fica opcional quando temos apenas
uma instrução a ser executada pelo comando condicional.
Variáveis, Operadores e Estruturas
Condicionais
53
Switch
Quando o if, else não for suficiente e for necessário uma maior quantidade de blocos
pode-se utilizar o comando switch.
Sintaxe:
switch( <variável> ){
case <valor> : //instruções
case <valor> : //instruções
case <valor> : //instruções
default: //instruções
}
A variável que estiver sendo avaliada no switch, deverá ser de um dos seguintes tipos:
char, byte, short, int, enum.
A clausula default não é obrigatória e será executada quando não for encontrado um
case especifico.
Variáveis, Operadores e Estruturas
Condicionais
54
break no Switch
Quando um case verdadeiro é encontrado, o programa segue executando as instruções do
switch, até que encontre a instrução break ou o término do bloco switch.
Exemplo:
class Tester{
public static void main(String[] args){
int x = 1;
switch( x){
case 1:
System.out.println(“passou 1”);
case 2:
System.out.println(“passou 2”);
case 3:
System.out.println(“passou 3”);
break;
}
}
}
Caso seja executado, este código retornará:
Passou 1
Passou 2
Passou 3
Variáveis, Operadores e Estruturas
Condicionais
55
while
Utilizado para determinar de forma lógica quantas vezes
desejamos executar um bloco de instruções.
Sintaxe:
while( <condição booleana> ){
//instruçãoA
}
Dica: O uso da chave fica opcional quando temos apenas
uma instrução a ser executada pelo comando condicional
Variáveis, Operadores e Estruturas
Condicionais
56
do while
Difere do while normal, pois o bloco de código escrito
para o laço é executado pelo menos uma vez, mesmo
que a condição do while seja falsa.
Sintaxe:
do{
//instruções
} while( <condição booleana> )
Dica: uso de chaves é opcional se tiver apenas uma
instrução.
Variáveis, Operadores e Estruturas
Condicionais
57
for
Neste laço uma determinada expressão será repetida
até que a condição do for não seja mais satisfeita.
Sintaxe:
for( [inicialização];[teste];[incremento] ){
//comandos
}
Dica: uso de chaves é opcional se tiver apenas uma
instrução.
Variáveis, Operadores e Estruturas
Condicionais
58
break
A instrução break em um comando de repetição for, while ou do
while, fará com que o laço seja “abortado”, isto é, fará com que o
código pule para a instrução seguinte ao fechamento da chave
do bloco.
class TesteBreak{
public static void main(String[] args){
for( int i = 0; i<100; i++ ){
if( i == 20 ){
break;
}
}
}
}
Variáveis, Operadores e Estruturas
Condicionais
59
continue
A instrução continue em um comando de repetição for, while ou
do while, fará com que o laço pule a iteração atual, isto é, fará
com que o código pule para a iteração seguinte.
class TesteBreak{
public static void main(String[] args){
for( int i = 0; i<100; i++ ){
if( i == 20 ){
continue;
}
}
}
}
Variáveis, Operadores e Estruturas
Condicionais
60
Exercício
Crie um programa em Java que
dada uma turma de 10 alunos,
receba as notas individuais de cada
aluno e calcule a média da classe.
Obs: peça ao professor que ensine o que significa uma repetição controlada por
contador.
Variáveis, Operadores e Estruturas
Condicionais
61
Exercício
Modifique o programa criado anteriormente
para que faça uso da classe Scanner e que ao
invés de limitar o usuário a apenas 10 notas,
exiba a mensagem:
“Insira uma nota para continuar ou -1 para
terminar o programa”.
Obs: Peça ao professor para explicar o que significa uma repetição controlada
por sentinela.
Variáveis, Operadores e Estruturas
Condicionais
62
Fim da Primeira Aula
Obrigado.
Referencias
As referencias do curso são essas :
• http://docs.oracle.com/javase/6/docs/
• Livro: Java - Como Programar - 8ª Ed. 2010, HARVEY M. DEITEL & PAUL J.
DEITEL

Más contenido relacionado

La actualidad más candente

Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)Alex Camargo
 
Arquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - ModelosArquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - ModelosIsrael Messias
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Gustavo Zimmermann
 
Developing Java EE applications with NetBeans and Payara
Developing Java EE applications with NetBeans and PayaraDeveloping Java EE applications with NetBeans and Payara
Developing Java EE applications with NetBeans and PayaraPayara
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Leinylson Fontinele
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem JavaUFPA
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidJosé Alexandre Macedo
 
Sistemas Operacionais Desktop e Aplicativos.pdf
Sistemas Operacionais Desktop e Aplicativos.pdfSistemas Operacionais Desktop e Aplicativos.pdf
Sistemas Operacionais Desktop e Aplicativos.pdfOs Fantasmas !
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)Mario Sergio
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesOziel Moreira Neto
 
Arquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-ServidorArquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-ServidorAlexsandro Oliveira
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesRodrigo Cascarrolho
 
Atividade fundamentos-de-redes
Atividade fundamentos-de-redesAtividade fundamentos-de-redes
Atividade fundamentos-de-redesArlimar Jacinto
 
Árvore B estruturas de dados e técnicas de programação
Árvore B estruturas de dados e técnicas de programaçãoÁrvore B estruturas de dados e técnicas de programação
Árvore B estruturas de dados e técnicas de programaçãoEverson Wolf
 
Bancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosBancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosElaine Cecília Gatto
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareDaniel Cukier
 

La actualidad más candente (20)

Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)
 
Arquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - ModelosArquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - Modelos
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)
 
Developing Java EE applications with NetBeans and Payara
Developing Java EE applications with NetBeans and PayaraDeveloping Java EE applications with NetBeans and Payara
Developing Java EE applications with NetBeans and Payara
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
Equipamentos de Rede
Equipamentos de RedeEquipamentos de Rede
Equipamentos de Rede
 
Sistemas Operacionais Desktop e Aplicativos.pdf
Sistemas Operacionais Desktop e Aplicativos.pdfSistemas Operacionais Desktop e Aplicativos.pdf
Sistemas Operacionais Desktop e Aplicativos.pdf
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
Arquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-ServidorArquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-Servidor
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
Atividade fundamentos-de-redes
Atividade fundamentos-de-redesAtividade fundamentos-de-redes
Atividade fundamentos-de-redes
 
Árvore B estruturas de dados e técnicas de programação
Árvore B estruturas de dados e técnicas de programaçãoÁrvore B estruturas de dados e técnicas de programação
Árvore B estruturas de dados e técnicas de programação
 
Bancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosBancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dados
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de Software
 

Destacado

[Curso Java Básico] Exercícios Aulas 11 12 13
[Curso Java Básico] Exercícios Aulas 11 12 13[Curso Java Básico] Exercícios Aulas 11 12 13
[Curso Java Básico] Exercícios Aulas 11 12 13Loiane Groner
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Natanael Fonseca
 
Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)raquelcarsi
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4PeslPinguim
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2PeslPinguim
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objetoDanilo Alves
 
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Poo1   aula 3 - java - comentários instruções e blocos-palavras chavePoo1   aula 3 - java - comentários instruções e blocos-palavras chave
Poo1 aula 3 - java - comentários instruções e blocos-palavras chaveDenis Sobrenome
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 
Apresentação java
Apresentação javaApresentação java
Apresentação javamunosai
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003elliando dias
 
Aulas 11, 12 e 13 - 8 testes de superavaliação e de subavaliação e demonstraç...
Aulas 11, 12 e 13 - 8 testes de superavaliação e de subavaliação e demonstraç...Aulas 11, 12 e 13 - 8 testes de superavaliação e de subavaliação e demonstraç...
Aulas 11, 12 e 13 - 8 testes de superavaliação e de subavaliação e demonstraç...Secretaria de Estado da Tributação do RN
 
[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos
[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos
[Curso Java Básico] Aula 11: Variáveis - Tipos PrimitivosLoiane Groner
 
[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 ScannerLoiane Groner
 
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais) [Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais) Loiane Groner
 
Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Antonio Alves
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Luis Borges Gouveia
 
Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Eduardo Carvalho
 

Destacado (20)

[Curso Java Básico] Exercícios Aulas 11 12 13
[Curso Java Básico] Exercícios Aulas 11 12 13[Curso Java Básico] Exercícios Aulas 11 12 13
[Curso Java Básico] Exercícios Aulas 11 12 13
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objeto
 
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Poo1   aula 3 - java - comentários instruções e blocos-palavras chavePoo1   aula 3 - java - comentários instruções e blocos-palavras chave
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
ApresentaçãO De Java
ApresentaçãO De JavaApresentaçãO De Java
ApresentaçãO De Java
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003
 
Aulas 11, 12 e 13 - 8 testes de superavaliação e de subavaliação e demonstraç...
Aulas 11, 12 e 13 - 8 testes de superavaliação e de subavaliação e demonstraç...Aulas 11, 12 e 13 - 8 testes de superavaliação e de subavaliação e demonstraç...
Aulas 11, 12 e 13 - 8 testes de superavaliação e de subavaliação e demonstraç...
 
[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos
[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos
[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos
 
[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
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais) [Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
 
Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)
 
Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections
 
Curso MySQL #16 - SQL com JOIN para mais de uma tabela
Curso MySQL #16 - SQL com JOIN para mais de uma tabelaCurso MySQL #16 - SQL com JOIN para mais de uma tabela
Curso MySQL #16 - SQL com JOIN para mais de uma tabela
 

Similar a Curso Java Básico - Aula 01 (20)

Java2
Java2Java2
Java2
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 
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
 
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
 
Aula2
Aula2Aula2
Aula2
 
Linguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem JavaLinguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem Java
 
7194099-Manual-de-Java
7194099-Manual-de-Java7194099-Manual-de-Java
7194099-Manual-de-Java
 
01 introducao ao java
01   introducao ao java01   introducao ao java
01 introducao ao java
 
Java script1
Java script1Java script1
Java script1
 
424928
424928424928
424928
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
 
1.introducao java
1.introducao java1.introducao java
1.introducao java
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência Java
 
Unidade04
Unidade04Unidade04
Unidade04
 
Apostila de java
Apostila de javaApostila de java
Apostila de java
 
55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Java m01 - Nomenclaturas
Java   m01 - NomenclaturasJava   m01 - Nomenclaturas
Java m01 - Nomenclaturas
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
 

Más de Natanael Fonseca

Microservices With Istio Service Mesh
Microservices With Istio Service MeshMicroservices With Istio Service Mesh
Microservices With Istio Service MeshNatanael Fonseca
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixNatanael Fonseca
 
Curso Java Básico - Aula 05
Curso Java Básico - Aula 05Curso Java Básico - Aula 05
Curso Java Básico - Aula 05Natanael Fonseca
 
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Natanael Fonseca
 
Desafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma AndroidDesafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma AndroidNatanael Fonseca
 
Atividades e Intenções (Android)
Atividades e Intenções (Android)Atividades e Intenções (Android)
Atividades e Intenções (Android)Natanael Fonseca
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma AndroidNatanael Fonseca
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509Natanael Fonseca
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509Natanael Fonseca
 
Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)Natanael Fonseca
 
Introdução a criptografia
Introdução a criptografiaIntrodução a criptografia
Introdução a criptografiaNatanael Fonseca
 
Introdução ao Spring Framework
Introdução ao Spring FrameworkIntrodução ao Spring Framework
Introdução ao Spring FrameworkNatanael Fonseca
 
Validação de certificados digitais
Validação de certificados digitaisValidação de certificados digitais
Validação de certificados digitaisNatanael Fonseca
 

Más de Natanael Fonseca (17)

Microservices With Istio Service Mesh
Microservices With Istio Service MeshMicroservices With Istio Service Mesh
Microservices With Istio Service Mesh
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
 
Curso Java Básico - Aula 05
Curso Java Básico - Aula 05Curso Java Básico - Aula 05
Curso Java Básico - Aula 05
 
Aula05
Aula05Aula05
Aula05
 
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04
 
Desafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma AndroidDesafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma Android
 
Fragmentos
FragmentosFragmentos
Fragmentos
 
Atividades e Intenções (Android)
Atividades e Intenções (Android)Atividades e Intenções (Android)
Atividades e Intenções (Android)
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509
 
Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)
 
Introdução a criptografia
Introdução a criptografiaIntrodução a criptografia
Introdução a criptografia
 
Transações em EJB
Transações em EJBTransações em EJB
Transações em EJB
 
Introdução ao Spring Framework
Introdução ao Spring FrameworkIntrodução ao Spring Framework
Introdução ao Spring Framework
 
Java annotation
Java annotationJava annotation
Java annotation
 
Validação de certificados digitais
Validação de certificados digitaisValidação de certificados digitais
Validação de certificados digitais
 

Curso Java Básico - Aula 01

  • 1. Java Básico Aula 01 Natanael Fonseca - Arquiteto de Software
  • 2. Ementa • Introdução a Plataforma Java; • Fundamentos da Linguagem; • Variáveis, Operadores e Estruturas Condicionais;
  • 3. História do Java The Green Team. Da esquerda para a direita,Al Frazier, Joe Palrang, Mike Sheridan, Ed Frank, Don Jackson, Faye Baxter, Patrick Naughton, Chris Warth, James Gosling, Bob Weisblatt, David Lavallee e Jon Payne. Ausentes: Cindy Long, Chuck Clanton, Sheueling Chang e Craig Forrest. Fonte: https://duke.dev.java.net/green/GreenBBQ.jpg. Leia mais em: A História da Tecnologia Java - Easy Java Magazine 1 http://www.devmedia.com.br/a-historia-da-tecnologia-java-easy-java-magazine-1/18446#ixzz3LbA3Ow00 Introdução a plataforma Java 3
  • 4. Plataforma Java • Linguagem de Programação; • Ferramentas de desenvolvimento: compiladores, depuradores entre outras; • Bibliotecas para desenvolvimento de aplicações desktop, web, mobile, cartões inteligentes, entre outras; • JVM (Maquina Virtual). Introdução a plataforma Java 4
  • 5. Visão Geral Introdução a plataforma Java 5
  • 6. Subdivisões • Java Micro Edition (JME) • Java Standard Edition (JSE) • Java Enterprise Edition (JEE) Introdução a plataforma Java 6
  • 7. Java Timeline Introdução a plataforma Java 7
  • 8. Mitos • Java é lento ? • Java é uma linguagem direcionada para Web ? • Java é igual a JavaScript ? • Diferentemente dos códigos em C/C++, Java não tem memory leak ? • Java é apenas interpretado ? Introdução a plataforma Java 8
  • 9. Instalação Para o curso nós iremos utilizar : – JDK (http://www.oracle.com/technetwork/java/javase/downloads); – Eclipse (https://www.eclipse.org/downloads/); – Oracle Express Edition (http://www.oracle.com/technetwork/database/database- technologies/express-edition/downloads/); Introdução a plataforma Java 9
  • 10. Características Principais • Diferencia caracteres maiúsculos de minúsculos; • Blocos de código são colocados entre chaves {} representando o begin e o end de outras linguagens; • No fim de cada instrução é obrigatório o uso de ponto e virgula “;” • A classe criada deve ser salva em formato texto em um arquivo com o mesmo nome da classe e extensão .java; • Todo programa em Java é representado por uma ou mais classes; • Normalmente trabalha-se com uma classe por arquivo; Fundamentos da Linguagem 10
  • 11. Declaração de classes, variáveis, atributos e métodos • Devem começar com letras de A-Z, a-z, _ ou $; • Os próximos caracteres podem ser qualquer um dos acima relacionados e também números; Exemplos: Cliente, PESSOA_FISICA, $MinhaVariavel, contador, Classe1, _umaVariavel Fundamentos da Linguagem 11
  • 12. Declaração de classes • A declaração de uma classe é feita utilizando a palavra reservada class seguida do nome da classe, por exemplo: class OlaMundo{ //Variáveis / Atributos //Métodos } Observação: Apesar da classe acima ser válida e ainda compilar perfeitamente, não será possível executa-la devido a falta do método main que será explicado posteriormente ! Fundamentos da Linguagem 12
  • 13. Método Main e o clássico HelloWorld public class OlaMundo{ public static void main(String[] args){ System.out.println(“Ola mundo”); } } Dica: Tentar rodar o código acima por meio de linha de comando, dessa forma entendendo o funcionamento dos comandos Javac e Java. Fundamentos da Linguagem 13
  • 14. Fases de Execução Fundamentos da Linguagem 14 Fase 1 Fase 3 Fase 2 Fase 4 Fase 5
  • 15. Palavras Reservadas abstract continue for new switch assert*** default goto* package synchronized boolean do if private this break double implements protected throw byte else import public throws case enum**** instanceof return transient catch extends int short try char final interface static void class finally long strictfp** volatile const* float native super while Fundamentos da Linguagem 15 * not used ** added in 1.2 *** added in 1.4 **** added in 5.0 goto e const não são utilizadas na linguagem; true e false são tecnicamente literais booleanos, assim como a palavra null.
  • 16. Convenções de Código Como sugestão para criação de código em Java pode-se utilizar o documento criado pela Sun, que visa melhorar a legibilidade e compreensão: • http://www.oracle.com/technetwork/java/co deconventions-150003.pdf • Vale lembrar que a equipe de desenvolvimento pode optar pelo uso de um padrão próprio. Fundamentos da Linguagem 16
  • 17. Convenção de Código Nome de Classe Exemplo: HelloWorld, MeuProgramaEmJava, BancoDeDados Métodos, atributos e variáveis Exemplo: minhaFuncao, minhaVariavelInt Constantes Exemplo: DATA_NASCIMENTO, TAMANHO_PADRAO Identação Tabulações devem ser abertas após a abertura da chave “{” e retroceder após o fechamento da chave “}”. Fundamentos da Linguagem 17
  • 18. Comentários Inline //meu comentario Multiline /* * Meu comentario */ JavaDoc /** * Com esse comentário podemos utilizar tags e anotações * especiais que ajudarão a compor o html gerado. */ Fundamentos da Linguagem 18
  • 19. Utilitário JavaDoc Executar o comando java –d diretoriodestino codigo.java Fundamentos da Linguagem 19
  • 20. Variáveis Representam um espaço na memória para armazenar valores que são utilizados pelos programas de computador na resolução de problemas. Para cada área de memória (cada variável) associamos um nome e o tipo a ser armazenado naquela área. Variáveis, Operadores e Estruturas Condicionais 20
  • 21. Tipos Primitivos Sintaxe para declaração e inicialização de tipos primitivos: <tipoVariavel> <nomeVariavel> = valor Tipos primitivos podem ser: • Numéricos; • Caracteres; • Booleanos (Verdadeiro ou falso) Exemplos : int tamanho = 500; char sexo = ‘m’; boolean isConnected = true; long numeroGrande = 987654321; Variáveis, Operadores e Estruturas Condicionais 21
  • 22. Números Inteiros Os tipos primitivos para representação de números inteiros oferecidos pela linguagem são: O primeiro bit da esquerda é utilizado para o sinal + ou -, portanto não temos unsigned como no C++. Variáveis, Operadores e Estruturas Condicionais 22 Tipo Valor mínimo Valor máximo Bytes byte -128 127 1 short -32.768 32.767 2 int -2.147.483.648 2.147.483.647 4 long -922.337.203.685.475.808 922.337.203.685.475.807 8
  • 23. Representações de Números Inteiros Os literais números podem ser expressos nos sistemas: decimal, octal ou hexadecimal Todo número inteiro escrito em Java é tratado como int, desde que o valor esteja na faixa de valores do int. Para forçar um numero long utilizados a letra “L” ou “l” no final do número: 10L; Variáveis, Operadores e Estruturas Condicionais 23 Valor Sistema 28 Decimal 034 Octal 0X1c Hexadecimal
  • 24. Casting Para forçar um byte ou short, devemos utilizar a técnica de casting. Exemplo: byte b = (byte) 123; byte b2 = (byte) 123568545; short s = (short) 12565; short s2 = (short) 1231321; Variáveis, Operadores e Estruturas Condicionais 24 Downcasting
  • 25. Números de Ponto Flutuante Existem dois tipos de variáveis para números com ponto flutuante: float e double. Todo número com ponto flutuante por padrão é double. Pode-se também utilizar o caractere “d” ou “D” para indicar que um número é do tipo double. Para indicar que um número é do tipo float deve-se utilizar o caractere “F” ou “f” no final do número. Variáveis, Operadores e Estruturas Condicionais 25 Tipo Valor Mínimo Valor Máximo Bytes float 1.4𝑒−45 3.4𝑒−38 4 double 4.9𝑒−324 1.7𝑒−308 8
  • 26. Exemplos Segue alguns exemplos: float f = 10F; float f2 = 10.45454f; double d = 12565484546d; double d2 = 12565484546.0; Variáveis, Operadores e Estruturas Condicionais
  • 27. Caracteres Os caracteres são representados pelo tipo primitivo char, e são utilizados para expressar uma “tecla”. O Java utiliza o padrão unicode: http://pt.wikipedia.org/wiki/Unicode http://www.unicode.org/ Variáveis, Operadores e Estruturas Condicionais 27
  • 28. Caracteres Literais char são expressos incluindo o caractere desejado entre aspas simples. Exemplo : char meuChar = ‘x’; Outra maneira de expressar um literal de caractere é especificar o código “Unicode” usando quatro dígitos em hexadecimal precedidos por u, com a expressão entre aspas simples. Exemplo: char meuCharUnicode = ‘u4567’; Variáveis, Operadores e Estruturas Condicionais 28
  • 29. Caracteres de escape Java Suporta uma série de sequencias de escape usando a barra invertida (), que é chamada de caractere de escape. Exemplo: n - Nova linha; f - Nova página; r - Para retorno; ’ - Para aspas simples; t - Para tabulação ” - Para aspas duplas; b - Para backspace; - Para barra invertida; Variáveis, Operadores e Estruturas Condicionais 29
  • 30. Booleanos Variáveis de tipos booleanos podem representadas apenas por dois valores: true ou false, elas ocupam apenas 1 bit. Exemplo: boolean ok = true; Boolean acabou = false; Observação: Não existe nenhum mapeamento entre true e false e os números inteiros diferentemente da maioria das linguagens. Variáveis, Operadores e Estruturas Condicionais 30
  • 31. Tipos Reference Armazenam o endereço da memoria estendida para um determinado objeto. A quantidade de memória estendida varia de acordo com o objeto em questão. Sintaxe : <tipoVariavel> <nomeVariavel> = new <tipoVariavel>(); Variáveis, Operadores e Estruturas Condicionais 31
  • 32. Características dos tipos reference Variáveis do tipo reference podem conter os seguintes valores: • null • Referencia para qualquer objeto cuja classe é de um tipo compatível ao declarado. • Referencia para um array; Variáveis, Operadores e Estruturas Condicionais 32
  • 33. O valor null É um literal, usado para dizer que a variável não armazena nenhuma referencia. Exemplos: String s = new String(); String s2 = “Teste”; Object meuObject = new Object(); Object o = null; Variáveis, Operadores e Estruturas Condicionais 33
  • 34. Classe String Geralmente, a classe String é uma das primeiras a ser utilizada, pois representa um texto e sua inicialização pode ser feita semelhantemente a inicialização de varáveis de tipos primitivos. Exemplo: String str = "abc"; Variáveis, Operadores e Estruturas Condicionais 34
  • 35. Variáveis Locais São declaradas dentro de métodos ou blocos de código. Esse tipo de variável não possui um valor de inicialização padrão, portanto, devemos fornecer um; caso contrário, receberemos um erro de compilação. class Principal{ public static void main(String[] args){ String nome = “good morning class”; float f = 23.5f; int i = 10; } } Variáveis, Operadores e Estruturas Condicionais 35
  • 36. Escopo O escopo define em que parte do programa a variável estará acessível. Exemplo: class Principal{ public static void main(String[] args){ { int x = 50; } System.out.println(“Valor de x - ” + x ); } } O código acima não compila, pois a variável x esta definida em um escopo diferente do código de impressão. Variáveis, Operadores e Estruturas Condicionais 36
  • 37. Exercício Crie uma classe chamada TesteVariaveis com o método main e faça o seguinte: - Declare e inicialize uma variável do tipo String para armazenar o seu nome; - Declare e inicialize uma variável int para armazenar a sua idade; - Declare e inicialize uma variável do tipo String para armazenar o seu RG; Imprima todos os valores de maneira a obter a seguinte saída: Senhor(a) <seu nome>, de <sua idade> anos, portador(a) do RG de número <rg>, do sexo <M/F>. Obs: peça o professor para ensinar também a classe Scanner e o método printf. Variáveis, Operadores e Estruturas Condicionais 37
  • 38. Operadores Símbolos previamente definidos na linguagem de programação para representar operações aritméticas, operações de conversão de tipos, entre outras. Operadores unários : Variáveis, Operadores e Estruturas Condicionais 38 Operador Símbolo Negação ! Pré e pós-incremento ++ Pré e pós-decremento -- Sinal positivo + Sinal negativo - cast ()
  • 39. Operação de negação Utilizado para inverter o valor de uma expressão booleana. Então uma expressão !false resulta em true, enquanto a expressão !true resulta em false. Exemplo: class Principal{ public static void main(String[] args){ boolean conectado = true; boolean naoconectado = !conectado; System.out.println( “valor - ” + naoconectado ); } } Resultado : valor - false Variáveis, Operadores e Estruturas Condicionais 39
  • 40. Operador de incremento e decremento ++, -- Estes operadores modificam o valor de uma expressão adicionando ou subtraindo 1. • Pós-fixado(após uso da variável) Exemplo: int x = 5; System.out.println( “” + x++ ); • Prefixados(antes que a variável seja utilizada). Int y = 3; System.out.println( “” + --x ); Variáveis, Operadores e Estruturas Condicionais 40
  • 41. Operadores de representação de sinal + e - Representam o positivo e o negativo respectivamente. O operador + não tem outra função senão deixar explicito que um numero é positivo. Exemplo: int x = -3; int z = +3; // z = 3 seria exatamente igual. Variáveis, Operadores e Estruturas Condicionais 41
  • 42. Operador de inversão Conhecido como bitwise inversion operator( operador de inversão de bits) converte todos os bits 1 em 0 e os bit 0 em 1. Exemplo: int resultado = ~7; // - 8 int resultado = ~-19; // 18 Dica: Uma formula simples de obter o mesmo resultado é somar um e inverter o sinal. Variáveis, Operadores e Estruturas Condicionais 42
  • 43. Operadores aritméticos São aqueles que envolvem dois ou mais operandos e representam operações matemáticas: adição, subtração, entre outras. Adição e subtração: + e – Exemplo: 4 + 4 Multiplicação e divisão: * e / Exemplo: 4+4 ou 8/2 Observações: • Java não permite sobrecarga de operadores; • + se usado com String contatena; • Ao somar ou subtrair dois inteiros tenha certeza que a variável que irá receber esses valores é de um tipo com tamanho capaz de suportar, caso contrário o resultado não fará sentido. Variáveis, Operadores e Estruturas Condicionais 43
  • 44. Resto de divisão O símbolo % é utilizado para obter o resto de uma divisão, normalmente utilizado em um numero inteiro, porém, também pode ser aplicado a dois números de ponto flutuante. Exemplo: int mod = 12%4; Variáveis, Operadores e Estruturas Condicionais 44
  • 45. Operadores de deslocamento No Java são três operadores de descolamento de bits: >>, << e >>>. >> - Provoca o deslocamento de bits para a direita, mantendo o bit do sinal fixo. << - Provoca o deslocamento dos bits para a esquerda. >>> - provoca o deslocamento de bits para a direita, deslocando também o bit do sinal. Variáveis, Operadores e Estruturas Condicionais 45
  • 46. Operadores de comparação Utilizados para comparar valores e retornam true ou false. Variáveis, Operadores e Estruturas Condicionais 46 Símbolo Operador < Menor que > Maior que <= Menor ou igual que >= Maior ou igual que == Igual != Diferente
  • 47. InstanceOf Verifica se um determinado objeto é uma instancia de uma classe. Exemplo: class Principal{ public static void main(String[] args){ String nome = “”; if(nome instanceof String ){ System.out.println(“é String”); }else{ System.out.println(“não é String”); } } } A variável da esquerda deve ser uma variável do tipo reference. Variáveis, Operadores e Estruturas Condicionais 47
  • 48. Operadores Lógicos && (AND) Se uma das condições for falsa, o resultado do AND será falso. Então, se a primeira condição for falsa, o resultado é falso sem que a avaliação da segunda operação seja realizada. || ( OR ) Se uma das condições for verdadeira, então o resultado do OR será verdadeiro, portanto, se a primeira condição for verdadeira, a segunda condição não será avaliada. Variáveis, Operadores e Estruturas Condicionais 48
  • 49. Operadores bit a bit (&, ^ e|) Aplicáveis a tipos inteiros e booleanos. O resultado de uma operação entre bits é calculado comparando-se os operadores bit a bit. Regras Básicas: • 1 & 1 resulta em 1, qualquer outra combinação resulta em 0; • 0 | 0 resulta em 0, qualquer outra combinação resulta em 1; • 1 ^ 0 ou 0 ^1 resulta em 1, qualquer outra combinação resulta em 0; Variáveis, Operadores e Estruturas Condicionais 49
  • 50. Operadores de atribuição Estes operadores atribuem novos valores a uma variável ou expressão. Variáveis, Operadores e Estruturas Condicionais 50 Operador Descrição = Atribuição Simples += Incrementa o valor da variável com o operando ou expressão do lado direito, por exemplo x+=3 equivale a x = x +3. -= Semelhante ao trecho acima, neste caso x-=3 equivale a x = x-3 *= X*=3 equivale a x = x*3 /= x/=3 equivale a x = x/3 %= X%=3 equivale a x = x%3
  • 51. Operador Ternário Atribui novos valores a uma variável com base em um comando condicional. Exemplo: int a = 2; int b = 3; int c = 4; a = b > c ? b: c; A expressão do lado esquerdo da “?” é avaliada (no caso b>c) • Se b é maior que c, então a = b; • Se b é menor ou igual a c, então a = c; Variáveis, Operadores e Estruturas Condicionais 51
  • 52. Exercício • Utilizando apenas as técnicas de programação aprendidas até o momento, escreve um programa em Java que imprima o quadrado e o cubo dos números de 0 a 10, conforme imagem abaixo:
  • 53. Controle de Fluxo If, else Sintaxe: If( <expressão booleana OU valor booleano> ){ //instrução 1 //instrução 2 }else{ //instrução 3 } Dica: O uso da chave fica opcional quando temos apenas uma instrução a ser executada pelo comando condicional. Variáveis, Operadores e Estruturas Condicionais 53
  • 54. Switch Quando o if, else não for suficiente e for necessário uma maior quantidade de blocos pode-se utilizar o comando switch. Sintaxe: switch( <variável> ){ case <valor> : //instruções case <valor> : //instruções case <valor> : //instruções default: //instruções } A variável que estiver sendo avaliada no switch, deverá ser de um dos seguintes tipos: char, byte, short, int, enum. A clausula default não é obrigatória e será executada quando não for encontrado um case especifico. Variáveis, Operadores e Estruturas Condicionais 54
  • 55. break no Switch Quando um case verdadeiro é encontrado, o programa segue executando as instruções do switch, até que encontre a instrução break ou o término do bloco switch. Exemplo: class Tester{ public static void main(String[] args){ int x = 1; switch( x){ case 1: System.out.println(“passou 1”); case 2: System.out.println(“passou 2”); case 3: System.out.println(“passou 3”); break; } } } Caso seja executado, este código retornará: Passou 1 Passou 2 Passou 3 Variáveis, Operadores e Estruturas Condicionais 55
  • 56. while Utilizado para determinar de forma lógica quantas vezes desejamos executar um bloco de instruções. Sintaxe: while( <condição booleana> ){ //instruçãoA } Dica: O uso da chave fica opcional quando temos apenas uma instrução a ser executada pelo comando condicional Variáveis, Operadores e Estruturas Condicionais 56
  • 57. do while Difere do while normal, pois o bloco de código escrito para o laço é executado pelo menos uma vez, mesmo que a condição do while seja falsa. Sintaxe: do{ //instruções } while( <condição booleana> ) Dica: uso de chaves é opcional se tiver apenas uma instrução. Variáveis, Operadores e Estruturas Condicionais 57
  • 58. for Neste laço uma determinada expressão será repetida até que a condição do for não seja mais satisfeita. Sintaxe: for( [inicialização];[teste];[incremento] ){ //comandos } Dica: uso de chaves é opcional se tiver apenas uma instrução. Variáveis, Operadores e Estruturas Condicionais 58
  • 59. break A instrução break em um comando de repetição for, while ou do while, fará com que o laço seja “abortado”, isto é, fará com que o código pule para a instrução seguinte ao fechamento da chave do bloco. class TesteBreak{ public static void main(String[] args){ for( int i = 0; i<100; i++ ){ if( i == 20 ){ break; } } } } Variáveis, Operadores e Estruturas Condicionais 59
  • 60. continue A instrução continue em um comando de repetição for, while ou do while, fará com que o laço pule a iteração atual, isto é, fará com que o código pule para a iteração seguinte. class TesteBreak{ public static void main(String[] args){ for( int i = 0; i<100; i++ ){ if( i == 20 ){ continue; } } } } Variáveis, Operadores e Estruturas Condicionais 60
  • 61. Exercício Crie um programa em Java que dada uma turma de 10 alunos, receba as notas individuais de cada aluno e calcule a média da classe. Obs: peça ao professor que ensine o que significa uma repetição controlada por contador. Variáveis, Operadores e Estruturas Condicionais 61
  • 62. Exercício Modifique o programa criado anteriormente para que faça uso da classe Scanner e que ao invés de limitar o usuário a apenas 10 notas, exiba a mensagem: “Insira uma nota para continuar ou -1 para terminar o programa”. Obs: Peça ao professor para explicar o que significa uma repetição controlada por sentinela. Variáveis, Operadores e Estruturas Condicionais 62
  • 63. Fim da Primeira Aula Obrigado.
  • 64. Referencias As referencias do curso são essas : • http://docs.oracle.com/javase/6/docs/ • Livro: Java - Como Programar - 8ª Ed. 2010, HARVEY M. DEITEL & PAUL J. DEITEL