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:





Primeiro Programa em Java o famoso "Hello World".

Vamos compilar nosso primeiro programa em java.

O programa que vamos fazer exibira na tela a sequencia de caracteres "Hello World". O famoso Olá mundo.

Abra o notepad++ e vamos começar.

Digite o seguinte código:




Salve o código:
No meu caso irei salvar na Área de trabalho mesmo.



Abra o prompt de comando.




Vá para o diretório onde você salvou o arquivo fonte use o comanda CD (Change Directory).




Vamos compilar o arquivo fonte digite: Javac HelloWorld.java.




Agora vamos executar o nosso programa.

Antes vamos limpar a tela do prompt. Digite CLS.





Agora digite o seguinte comando no prompt:

java HelloWorld

Não digite nenhuma extensão no final do comando.




Esta será a saída no nosso programa:




Entendendo o código:

class - define uma nova classe todo programa em java deve está contido em uma classe.
{} - define um bloco de código.
public static void main(String[] args) - é o ponto de partido ou seja por onde sua aplicação vai começar. Todo programa deve ter um método main(), para ser executado.
System.out.println("") - exibe o texto que estiver entre aspas na tela.


Baixe o arquivo fonte neste link:
https://mega.co.nz/#!GBVTHLQJ!TpN7rm5TfRTJZZPlxNZEQ1gS_7dAMVtTMjKC50Vy4xI




Máquina Virtual

Em algumas linguagens de programação como o C/C++ e Pascal. Tínhamos a seguinte situação ao compilarmos o código fonte:

Arquivo fonte compilando em linguagem C/C++












Neste exemplo o código fonte é compilado para um código de maquina que seria executado para a plataforma onde foi compilado e sistema operacional. Algumas vezes o código fonte era escrito visando uma unica plataforma.

Este código executável( binário), será capaz de conversar apenas com o sistema especifico para o qual foi compilado ou seja poderá ser executado apenas nesse sistema operacional.

Execução de binário feito para OS especifico.


Com isso pode-se ver como será complicado se quisermos que no executável(binário) seja executado em diferentes sistemas operacionais. Teríamos que compilar uma vez para Windows, outra para Linux, Mac Os e assim por diante.
Muitas vezes suas aplicações vão utilizar bibliotecas, que poderão não existir em outros sistemas operacionais. Que é o caso da biblioteca utilizada para criar interfaces gráficas no Windows a qual em sistemas Linux é totalmente diferente, pôs o Linux tem a sua própria biblioteca para criação de interfaces.

Então surge a grande pergunta:

Como criar então uma aplicação que rode de forma parecida nos
dois sistemas operacionais?

Precisamos reescrever um mesmo pedaço da aplicação para diferentes sistemas operacionais, já que eles não são compatíveis.

Java utiliza do conceito de máquina virtual, onde existe, entre o sistema operacional e a aplicação, uma
camada extra responsável por “traduzir” - mas não apenas isso - o que sua aplicação deseja fazer para as
respectivas chamadas do sistema operacional onde ela está rodando no momento:


Conceito de maquina virtual.


Dessa maneira se abrirmos uma janela no Linux é a mesma no Windows. Nisto ganhamos independência de sistema operacional.  Ou, melhor ainda, independência de plataforma em geral: não é preciso se preocupar em qual sistema operacional sua aplicação está rodando, nem em que tipo de máquina, configurações, etc.

Sua aplicação sempre conversara com a maquina virtual, que por sua vez conversara com o sistema operacional nunca conversando diretamente com o sistema operacional.

A JVM (Java VirtualMachine) é a maquina virtual java.

A maquina virtual possui um conceito bem mais amplo do que a de um mero interpretador. O nome virtual já sugere tudo, maquina virtual "computador de mentira": possui tudo que um computador possui.
Em outras palavras, ela é responsável por gerenciar memória, threads, a pilha de execução, etc.

Essa característica é interessante: como tudo passa pela JVM, ela pode tirar métricas, decidir onde é melhor
alocar a memória, entre outros. Uma JVM isola totalmente a aplicação do sistema operacional. Se uma JVM termina abruptamente, só as aplicações que estavam rodando nela irão terminar: isso não afetará outras JVMs que estejam rodando no mesmo computador, nem afetará o sistema operacional.

Essa camada de isolamento também é interessante quando pensamos em um servidor que não pode se sujeitar a rodar código que possa interferir na boa execução de outras aplicações.
Essa camada, a máquina virtual, não entende código java, ela entende um código de máquina específico.
Esse código de máquina é gerado por um compilador java, como o javac, e é conhecido por “bytecode”, pois existem menos de 256 códigos de operação dessa linguagem, e cada “opcode” gasta um byte. O compilador Java gera esse bytecode que, diferente das linguagens sem máquina virtual, vai servir para diferentes sistemas operacionais, já que ele vai ser “traduzido” pela JVM.

E é dai que vem o grande slogan que a Sun usava para o Java, já que você não precisa reescrever partes da sua aplicação toda vez que quiser mudar de sistema operacional.

Slogan do JAVA feito pela SUM.
















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.

Universidade XTI - Curso de Java 7. Endereço: https://www.youtube.com/user/ricardolopescosta - acessado em 06/04/2014 às 19:39:25 pm.

quinta-feira, 3 de abril de 2014

O que é Java?



Para entender a plataforma java e seu sucesso, sabe um pouco da sua historia é essencial. Pense na década de 1990.

Quais eram os seus maiores problemas?

  •  ponteiros?
  •  gerenciamento de memória?
  •  organização?
  •  falta de bibliotecas?
  • ter de reescrever parte do código ao mudar de sistema operacional?
  • custo financeiro de usar a tecnologia?

A linguagem de programação java veio no intuito de resolve esses problemas, viam a tempos atormentando o usuários de outras linguagens de programação. Alguns desses problemas foram particularmente atacados porque uma das grandes motivações para a criação da plataforma Java era de que essa linguagem fosse usada em pequenos dispositivos, como tvs, videocassetes, aspiradores, liquidicadores e outros. Apesar disso a linguagem teve seu lançamento focado no uso em clientes web (browsers) para rodar pequenas aplicações (applets). Hoje em dia esse não é o grande mercado do Java: apesar de ter sido idealizado com um propósito e lançado com outro, o Java ganhou destaque no lado do servidor.
O Java foi criado pela antiga Sun Microsystems e mantida através de um comitê (http://www.jcp.org) . Seu
site principal era o java.sun.com, e java.com um site mais institucional, voltado ao consumidor de produtos
e usuários leigos, não desenvolvedores. A Sun foi comprada pela Oracle em 2009, muitas URLs e nomes
tem sido trocados para režfletir a marca da Oracle. 

Visite a página principal do Java é: http://www.oracle.com/technetwork/java/.


Historia do Java 


A Sun criou um time (conhecido como Green Team) para desenvolver inovações tecnológicas em 1992. Esse time foi liderado por James Gosling, considerado o pai do Java. O time voltou com a ideia de criar um
interpretador (ou máquina virtual, falaremos o que é isso mais a tarde) para pequenos dispositivos, facilitando a reescrita de soŸftware para aparelhos eletrônicos, como vídeo cassete, televisão e aparelhos de
TV a cabo.
A ideia não deu certo. Tentaram fechar diversos contratos com grandes fabricantes de eletrônicos, como
Panasonic, mas não houve êxito devido ao conflito de interesses e custos. Hoje, sabemos que o Java domina o mercado de aplicações para celulares com mais de 2.5 bilhões de dispositivos compatíveis, porém em 1994 ainda era muito cedo para isso.
Com o advento da web, a Sun percebeu que poderia utilizar a ideia criada em 1992 para rodar pequenas
aplicações dentro do browser. A semelhança era que na internet havia uma grande quantidade de sistemas
operacionais e browsers, e com isso seria grande vantagem poder programar numa única linguagem, independente da plataforma. Foi aí que o Java 1.1 foi lançado: focado em transformar o browser de apenas
um cliente magro (thin client ou terminal burro) em uma aplicação que possa também realizar operações
avançadas, e não apenas renderizar html.
Os applets deixaram de ser o foco da Sun, e nem a Oracle nunca teve interesse. Nota-se que o java foi criado com um objetivo em mente, foi lançado com outro, porém no final de contas acabou decolando no desenvolvimento de aplicações do lado do servidor.
Java FX vem atualmente, tentando dar força para o Java não só no desktop mas como aplicações ricas na web, mas muitos não acreditam que haja espaço para tal, considerando o destino de tecnologias como Adobe Flex e MicrosoftŸ Silverlight.

Veja este vídeo super curioso sobre a historia do java: http://tinyurl.com/histjava.

No ano de 2009 a Oracle compra a Sun, fortalecendo a marca.
Em 2014 surge a versão 8 do Java trazendo mudanças interessantes e poderosas na linguagem.



















Referências:

Apostila do curso FJ-11Java e Orientação a Objeto. Endereço: http://www.caelum.com.br/apostila-java-orientacao-objetos/ visitado em 03/04/2014 às 20:35:25 pm.