quinta-feira, 10 de abril de 2014

Casting

Você pode se deparar em uma situação, em que precise atribuir um valor de um tipo de variável a outro tipo. Tal como atribuir um valor um inteiro a um double (ponto flutuante), neste caso esta operação funcionara normalmente.
Porem se você tentar fazer o contrario atribuir a uma variável tipo double a uma variável do tipo inteiro.  

double d = 3.1415;
int i = d; // não compila

Este código não compilaria. O código acima é bem parecido com isso:

int i =  3.1415;

O mais interessante, é que nem mesmo o seguinte código compila:

double d = 5; // ok, o double pode conter um número inteiro
int i = d; // não compila

Apesar de 5 ser um bom valor para um int, o compilador não tem como saber que valor estará dentro desse
double no momento da execução. Esse valor pode ter sido digitado pelo usuário, e ninguém vai garantir que
essa conversão ocorra sem perda de valores.

Já o caso a seguir ocorre o contrario:

int i = 5;
double d2 = i;

O código acima compila sem problemas, já que um double pode guardar um número com ou sem ponto žutuante. Todos os inteiros representados por uma variável do tipo int podem ser guardados em uma variável
double, então não existem problemas no código acima.

Às 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 nome de casting.

double d3 = 3.14;
int i = (int) d3;

O casting foi feito para moldar a variável d3 como um int. O valor de i agora é 3. O mesmo ocorre entre valores int e long.

long x = 10000;
int i = x; // não compila, pois pode estar perdendo informação

E, se quisermos realmente fazer isso, fazemos o casting:

long x = 10000;
int i = (int) x;


Alguns castings aparecem também:

float x = 0.0;

O código acima não compila pois todos os literais com 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;


Você precisa do casting porque o Java faz as contas e vai armazenando sempre no maior tipo que
apareceu durante as operações, no caso o double. E, uma observação: no mínimo, o Java armazena o resultado em um int, na hora de fazer as contas. 

Até casting com variáveis do tipo char podem ocorrer. O único tipo primitivo que não pode ser
atribuído a nenhum outro tipo é o boolean.

Abaixo estão relacionados todos os casts possíveis na linguagem Java, mostrando a conversão de
um valor para 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 o tipo boolean não pode ser
convertido para nenhum outro tipo).


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







Referências:
Apostila do curso FJ-11 - Java e Orientação a Objeto. Endereço: http://www.caelum.com.br/apostila-java-orientacao-objetos/ - acessado em 06/04/2014 às 19:35:25 pm.



Strings

Na linguagem Java, o tipo string é um dos mais importantes e mais utilizados. O tipo string é usado para o armazenamento de texto (sequência de caracteres). Observe, nos exemplos abaixo, que o texto que deve ser armazenado nas variáveis é definido dentro de aspas duplas.

String nome = "Paula Ferreira";

Escreva um programa que exiba seu nome na tela. Crie uma variável para o nome e outra para sobrenome ambas do tipo String.

Código:

Resposta


Baixe o arquivo fonte desse post no seguinte link: https://mega.co.nz/#!uEMzFI7Q!v6AX9qplRuqjFcC5gahINL9lGmTSRhdW_WycNgch0Gw

Tipos de Básicos ou tipos primitivos em java

As linguagens Java  possui tipos básicos de variáveis. Esses tipos são os mais utilizados e
servem como base para a criação de outros tipos. A seguir, veja os tipos básicos da linguagem Java.




Tipos primitivos java: http://mapaseconcursosdeti.blogspot.com.br/2012/12/tipos-primitivos.html



Como as conversões são feitas em java:


























Referências:

Apostila do curso . Endereço: http://www.k19.com.br/cursos/logica-de-programacao - acessado em 10/04/2014 às 19:35:25 pm.

Blog: Mapas mentais para concursos de TI. Endereço: http://mapaseconcursosdeti.blogspot.com.br/2012/12/tipos-primitivos.html

quarta-feira, 9 de abril de 2014

Exercícios com variáveis

Na empresa onde trabalhamos, há tabelas com o quanto foi gasto em cada mês. Para fechar o balanço do
primeiro trimestre, precisamos somar o gasto total. Sabendo que, em Janeiro, foram gastos 15000 reais,
em Fevereiro, 23000 reais e em Março, 17000 reais, faça um programa que calcule e imprima o gasto total
no trimestre.


Resposta:
































Vamos compilar o programa:





Vamos executar pra ver como ficou:






No mesmo programa adicione código (sem alterar as linhas que já existem) na classe anterior para imprimir a média mensal de gasto, criando uma variável mediaMensal junto com uma mensagem. Para isso, concatene a String com o valor, usando "Valor da média mensal = "+ mediaMensal.


Resposta:




Vamos compilar:









Vamos executar:













Espero que tenham gostado.


Baixe o aquivo java do exercício no posta, no link a seguir:

https://mega.co.nz/#!TN1VFJDA!FFTyokm0W_-O_RRcIlrStz-iecaPujmNCWvvLhTx0uc

Até a próxima...

terça-feira, 8 de abril de 2014

Variáveis primitivas em java

Em java toda variável tem um  tipo que deve ser definido na hora da declaração da variável. E apos declarado, esse tipo dita qual o dado que esta variável ira armazenar.
Uma vez declarado este tipo não pode ser alterado.

tipoDeDado nomeVariavel;

Exemplo de uma variável para armazenar uma idade de alguém:

int idade;

Na linha acima você declara uma variável chamada de idade do tipo de dado int (Inteiro). Que a partir desse momento passara a existir para que você possa atribuir valores e usa-los posteriormente.

Atribuindo um valor a variável idade:

idade = 15;

Ou seja idade recebe o valor inteiro 15.

Agora vamos mostra como usar o valor que foi atribuído a variável. usaremos o uma instrução para exibir o valor de idade na saída padrão :

// Declara a variável idade
int idade;

//Atribui o valor 15 a idade
idade = 15;

// Exibindo a idade na saída padrão
System.out.println(idade);

Vamos usar o valor idade para outro proposito. Criaremos uma segundo variável que recebera o calculo de qual será a idade daqui a três anos.

// Calcula qual será a idade daqui a três anos
int idadeDaquiATresAnos = idade + 3;

Você também pode usar operadores como os a seguir:
+ soma,
- subtração,
* Multiplicação,
/ Divisão.

Alem desses operadores básicos temos também o operador de modulo da divisão %, que nada mais é que o resto de uma divisão inteira. Veja alguns exemplos:

int quatro = 2 + 2;
int cinco = 6 - 1;

int nove = 3 * 3;
int dezesseis = 64 / 4;

int um = 5 % 2; // 5 dividido por 2 dá 2 e tem resto 1;
// o operador % pega o resto da divisão inteira

Outro tipo de variável muito utilizado é o double, que armazena um número com ponto žflutuante
(e que também pode armazenar um número inteiro).

double pi = 3.14;
double x = 5 * 10 * 2;

O tipo boolean armazena um valor verdadeiro ou falso, e só: nada de números, palavras ou endereços, como em algumas outras linguagens.

boolean verdade = true;

true e false são palavra reservadas da linguagem java. É muito comum usarmos expressões booleanas para atribuirmos valores as variáveis do tipo boolean.

Expressões booleanas são operações que retornam como resultado true ou false.

Exemplo:

int idade = 15;

boolean passe = idade < 18;

O tipo char armazenar apenas um carácter. Este carácter deve está envolto entre aspas simples.
Não se esqueça dessas duas características de uma variável do tipo char! Por exemplo, ela não pode guardar um código como " pois o vazio não é um caractere!

char letra = 'a';
System.out.println(letra);

Variáveis do tipo char são pouco usadas no dia a dia. Veremos mais a frente o uso das Strings, que usamos
constantemente, porém estas não são denidas por um tipo primitivo.

Tipos primitivos e valores.


Esses tipos de variáveis são tipos primitivos do Java: o valor que elas guardam são o real conteúdo da variável. Quando você utilizar o operador de atribuição = o valor será copiado.

int i = 5; // i recebe uma cópia do valor 5
int j = i; // j recebe uma cópia do valor de i
i = i + 1; // i vira 6, j continua 5

Aqui, i fica com o valor de 6. Mas e j? Na segunda linha, j está valendo 5. Quando i passa a valer 6, será
que j também muda de valor? Não, pois o valor de um tipo primitivo sempre é copiado.
Apesar da linha 2 fazer j = i, a partir desse momento essas variáveis não tem relação nenhuma: o que
acontece com uma, não reflete em nada com a outra.

Vimos aqui os tipos primitivos que mais aparecem. O Java tem outros, que são o byte, short,
long e float. Cada tipo possui características especiais que, para um programador avançado, podem fazer
muita diferença.

Referências:
Apostila do curso FJ-11 - Java e Orientação a Objeto. Endereço: http://www.caelum.com.br/apostila-java-orientacao-objetos/ - acessado em 06/04/2014 às 19:35:25 pm.

domingo, 6 de abril de 2014

Versões do java

As versões mais antigas do java são as versões 1.0 e 1.1 que já incorporavam muitas bibliotecas importantes como o JDBC e o java.io.

Com o Java 1.2 houve um aumento grande no tamanho da API, e foi nesse momento em que trocaram a
nomenclatura de Java para Java2, com o objetivo de diminuir a confusão que havia entre Java e Javascript.
Mas lembre-se, não há versão “Java 2.0”, o 2 foi incorporado ao nome, tornando-se Java2 1.2.

Depois vieram o Java2 1.3 e 1.4, e o Java 1.5 passou a se chamar Java 5, tanto por uma questão de marketing e porque mudanças significativas na linguagem foram incluídas. É nesse momento que o “2” do nome Java desaparece. Repare que para fins de desenvolvimento, o Java 5 ainda é referido como Java 1.5.

Hoje a última versão disponível do Java é a 8.

Comentários

Inserção de comentários em aquivos fontes java.

// - comentário de apenas uma linha
/*  */ - comentário de uma linha ou mais
/** */ - comentários java doc usados para fins de documentação de nossas aplicações.


Os comentários não são executados pelo compilado. São apenas uma forma de deixar claro para todos, o que certos trechos de códigos fazem.


Veja a imagem abaixo: