Você está na página 1de 25

CURSO DE JAVA - AULA 01

Robson de Araújo Gomes


SÓ UM POUCO SOBRE MIM...
 Graduando em Telemática
 Certificado SCJP
 Trabalho com Java profissionalmente
desde 2005
 Desenvolvo sistemas para dispositivos
móveis utilizando TotalCross
(SuperWaba)
 Analista de Sistemas na SEFAZ
2
SUMÁRIO

Algoritmos
Tipos de dados primitivos
Variáveis, casting e
constantes
Arrays unidimensionais e
multidimensionais
Estruturas de controle de fluxo
e de repetição. 3
ALGORITMO
É uma sequência de passos ou instruções
que devem ser seguidas para se resolver
um problema ou chegar a um resultado.
 Podemos comparar um algoritmo com uma
receita de um bolo, que descreve como
devemos proceder para que consigamos
fazer um bolo.
 É possível fazer algoritmos para qualquer
atividade, porém os algoritmos só dizem o
que deve ser feito, mas não como deve ser
feito. 4
EXEMPLO DE ALGORITMO

Cálculo da distância entre dois pontos cartesianos.

PROGRAMA DISTANCIA;
VAR
x1, x2, y1, y2 : INTEIRO;
d : REAL;
INICIO
LER(x1);
LER(y1);
LER(x2);
LER(y2);
d := SQRT( SQR(x2 – x1) + SQR(y2 – y1) );
ESCREVER(D); 5
FIM
LINGUAGEM DE PROGRAMAÇÃO
É uma implementação do algoritmo
para computadores.
 É utilizada para dizer ao computador
‘como’ executar o algoritmo.
 Existem centenas de linguagens de
programação, neste curso
estudaremos a linguagem Java.

6
ALGORITMO EM JAVA

O mesmo algoritmo anterior, agora implementado em Java.

public class distancia{

public static void main(String[] args) throws IOException {


Console console = System.console();
int x1 = 0; int x2 = 0; int y1 = 0; int y2 = 0;
double d = 0d;
x1 = new Integer(console.readLine());
y1 = new Integer(console.readLine());
x2 = new Integer(console.readLine());
y2 = new Integer(console.readLine());
System.out.println("(" + x1 + ", " + y1 + "), (" + x2 + ", " + y2 + ")");
d = Math.sqrt(Math.pow((x2 - x1), 2) + Math.pow((y2 - y1), 2)); 7
System.out.println(d);
}
}
TIPOS DE DADOS PRIMITIVOS
 Java é considerada uma linguagem de
programação com tipagem estática.
 Java possui 8 tipos primitivos
 Inteiros
 byte, short, int, long
 Reais
 float e double
 Caractere
 char
 Booleano
 boolean
8
TIPOS PRIMITIVOS

9
DECLARANDO E USANDO VARIÁVEIS
 Podemos declarar e usar variáveis
dentro de um bloco.
 Uma variável não pode ter seu tipo
alterado após ser declarada.
 Uma variável só pode ser utilizada
após ser inicializada.
 Constantes são criadas utilizando a
palavra chave final na declaração da
variável. 10
EXEMPLOS DE USO DE VARIÁVEIS
public class Exemplo2 {

public static void main(String[] args) {


int x, y; //declaração de duas variáveis inteiras
float z = 1.0f; //declaração e inicialização de variável de ponto flutuante
double d = 2.0; //variável tipo double
boolean verdadeiro = true; //variável booleana, só aceita true ou false
char c = 'a'; //variável do tipo char, só aceita um caractere.
//inicializa as variáveis x, y
x = 100;
y = 300;
final long L = 200; //Constante
}
}

11
CONVERSÃO E CASTING
 Java faz algumas conversões
automáticas para os tipos primitivos.
Essas conversões seguem a regra
básica do tamanho em bytes do tipo. A
regra básica para os tipos primitivos
pode ser vista na figura a seguir:

12
CONVERSÃO E CASTING
 Quando o valor que se está atribuindo não ‘cabe’
no tipo declarado, é necessário fazer o casting
(moldar).
 Existem dois tipos de casting
 Automático ou Implícito
 Manual ou Explícito

 Java faz casting automático de conversões


consideradas seguras, ou seja, onde há garantias
de que não haverá perda de precisão.
 Nos casos contrários o código não irá compilar, a
menos que você diga ao Java que está disposto a
13
correr o risco.
EXEMPLOS DE CASTING E CONVERSÃO
public class Casting {

public static void main(String[] args) {


byte a = 100;
int b = a; //conversão automática, um byte cabe em um int
long c = 300;
//casting, um long (64 bits) não cabe em um um short(16)
short d = (short)c;
//conversão explicita com estouro de pilha
a = (byte)d;
System.out.println(a); //imprime 44
}
}

14
O QUE É ESTOURO DE PILHA?
O QUE NÃO CABE NO BYTE É SIMPLESMENTE IGNORADO PELO COMPILADOR

0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 300

0 0 1 0 1 1 0 0 44

15
ARRAYS
 Arrays em java, são conjuntos de dados de
um mesmo tipo.
 Quando um array é criado, seus elementos
são automaticamente inicializados com
seus valores padrão.
É possível declarar arrays de tipos
primitivos e também de objetos.
 Todos os arrays começam pelo índice zero.

 Um array não pode ter o seu tamanho


alterado após ser inicializado. 16
ARRAYS
 Utilizamos colchetes na declaração tipo ou no
nome da variável para indiciar que se trata de um
array.
 int[] a;
 int a[];

 Podemos usar a palavra-chave new para criar um


array:
 int a[] = new int[10];
 Object[] o = new Object[5];

 Podemos declarar e instanciar um array:


 int a[] = {1, 2, 3, 4, 5};
17
ARRAYS
 Um array pode ser multidimensional. Pense nele
como sendo um array de arrays.
 int[][] a = { {1,2,3,4,5}, {6,7,8,9,0} };
 Um array possui o método length que retorna o
tamanho do array.
 Para acessar um elemento do array utilizamos o
índice do array. É lançada uma exceção (erro) caso
o índice não exista.
 int[] b = {1, 2, 3, 4};
 System.out.println(b[2]); //imprime 3 na tela

 System.out.println(a[1][1]); //imprime 7 na tela


18
EXPRESSÕES CONDICIONAIS
 If Statement

if ( expressão booleana )
fazAlgoSeForVerdade();

if ( expressão booleana ) {
fazAlgoSeForVerdade();
} else {
fazOutraCoisa();
} 19
EXPRESSÕES CONDICIONAIS
 Switch Statement
switch ( expressão ) {
case 1:
façaAlgo();
break;
case 2:
façaAlgo();
break;
default:
façaOutraCoisa
break;
} 20
ITERAÇÃO
 For Statement

for (inicialização; teste; incremento) {


trabalhoPesadoAqui();
}

Exemplo
for (int i = 0; i < 10; i++) {
System.out.println(“Contando... “ + i);
} 21
ITERAÇÃO

 While Statement

while ( teste ) {
façaAlgoAqui();
}

Exemplo:
While ( true ) {
System.out.println(“Curso de Java”);
22
}
ITERAÇÃO
 Do While Statement

Do {
façaAlgoAqui();
} While ( teste );

Exemplo
do {
System.out.println(“Curso de Java”);
} while ( true ); 23
CONTROLE DE ITERAÇÃO
 break [label]
 continue [label]
 label : código

Exemplos:

do { do {
//algo aqui //algo aqui
break; continue;
} while (true); } while (true);
24
OBRIGADO!

Computadores são inúteis, eles apenas dão respostas.

Pablo Picasso.

25