terça-feira, 29 de maio de 2012

IF e ELSE (Parte I)



Bom dia pessoal, hoje iremos falar um pouco sobre o IF (se) e o ELSE (se não) no java e a sua sintaxe.

 if (condicaoBooleana){
    idade;
    }

Condição Booleana é expressão que retorna verdadeiro (true) ou falso (false). Para isso, você pode usar os operadores <, >, <=, >= e outros.

Ex:

int idade = 15;

if (idade < 18) {
    System.out.println ("Não pode entrar");
} else {
    System.out.println ("Pode entrar");
    }
Você pode concatenar expressões booleanas através dos operadores lógicos "E" e "OU". O "E" é representado pelo && e o "OU" é representado pelo ||.

Um exemplo seria verificar se ele tem menos de 18 anos e se ele não é o amigo do dono da festa:

int idade 15;
boolean amigoDoDono = true;
if (idade < 18 && amigoDoDono == false){
    System.out.println ("Não pode entrar");
}
else{
    System.out.println ("Pode entrar");
}

sexta-feira, 11 de maio de 2012

Tamanho dos tipos primitivos



Na tabela abaixo, estão os tamanhos de cada tipo primitivo do Java.

TIPO
TAMANHO
Boolean
1 bit
Byte
1 byte
Short
2 bytes
Char
2 bytes
Int
4 bytes
Float
4 bytes
Long
8 bytes
Double
8 bytes

Castings possíveis - JAVA

Abaixo estão relacionados todos os casts possíveis na linguagem Java, mostrando a conversão de um valor para o outro. A indicação Impl. quer dizer que aquele cast é implícito e automático, ou seja, você não precisa indicar o cast explicitamente (lembrando que a variável boolean não pode ser convertido para nenhum outro tipo).

PARA:
byte
short
char
int
long
float
double
DE:
byte
----
impl.
(char)
impl.
impl.
impl.
impl.
short
(byte)
----
(char)
impl.
impl.
impl.
impl.
char
(byte)
(short)
----
impl.
impl.
impl.
impl.
int
(byte)
(short)
(char)
----
impl.
impl.
impl.
long
(byte)
(short)
(char)
(int)
----
impl.
impl.
float
(byte)
(short)
(char)
(int)
(long)
----
impl.
double
(byte)
(short)
(char)
(int)
(long)
(float)
----

sábado, 5 de maio de 2012

Casting - JAVA - Moldando Variáveis - Parte II

O mesmo ocorre entre valores int e long.

long x = 50000;
int e = x; // não compila , pois pode estar perdendo informações.

Fazendo o casting:

long x = 50000;
int e = (int) x;

Existem casos não comuns de casting e atribuição. Alguns castings aparecem também:

float x = 0.0;

O código acima não compila pois todos os literais com o ponto flutuante são considerados double pelo Java. E float não pode receber um double sem perda de informação, para fazer isso funcionar podemos escrever o seguinte:

float x = 0.0f;

A letra f, que pode ser maiúscula ou minúscula, indica que aquele literal deve ser tratado como float.

Outro caso, que é mais comum:

double d = 5;
float f = 3;
float x = f + (float) d;

Obrigado e até a próxima!

Casting - JAVA - Moldando Variáveis - Parte I

Bom dia Pessoal,
Estou estudando uns materiais da Caelum que eu tenho e gostaria de postar, é simples, mas muito importante que são os CASTING, o que seria um casting no Java?

Alguns valores são incompatíveis se tentar fazer uma atribuição direta. Enquanto o número real costuma ser representado em uma variável double, tentar atribuir ele em uma variável int não funcionará porque é um código que diz: "e deve valer d", mas não sabe se d realmente é um número inteiro ou não.

// dessa forma não compila
double d = 3.14;
int e = d;

O erro ocorre também na seguinte situação:
int e = 3.14// nesse caso a variável int só armazena números inteiros

Assim também o código não compila:
double d = 5; // ok, o double armazena números inteiros.
int e = d;  // não compila.

As vezes, precisamos que um número quebrado seja arredondado e armazenado num número inteiro. Para fazer isso sem que haja o erro de compilação, é preciso ordenar que o número quebrado seja moldado (casted)  como um número inteiro. Esse processo recebe o número de casting.

double d2 = 3.14;
int e = (int) d2;  
// o cating foi feito para moldar a variável d2 como um int, o valor de e agora é 3.