
Pequena pausa para homenagear o grande browser Firefox! Foto de dois pandas vermelhos gêmeos, de quatro semanas. Fonte: UOL
Ah, você sabia que a raposa do Firefox (Firefox = raposa de fogo) na verdade é um panda vermelho?
Quarta-feira, 8 de Julho de 2009
Firefox Twin!
Terça-feira, 30 de Junho de 2009
Eclipse Galileo
Saiu recentemente (mais exatamente no dia 24 de Junho) a mais nova versão do Eclipse, o Eclipse Galileo, ou Eclipse 3.5! Ainda não testei, não sei o que vem de novo nessa versão, mas você pode encontrar mais detalhes no site EclipseSource (em inglês).
Downloads: Eclipse
TheMadJava
Quinta-feira, 25 de Junho de 2009
Classes e Interfaces
Voltando um pouco para o básico do Java, Classes, Objetos e Interfaces.
Classe é o mais básico do Java. Segundo a wikipedia:
Classe representa um conjunto de objetos com características afins. Uma classe define o comportamento dos objetos, através de métodos, e quais estados ele é capaz de manter, através de atributos.
Por exemplo, "pessoa" seria uma classe. A pessoa pode ter um nome, uma altura, uma profissão. Esses são os atributos da pessoa, e seriam as variáveis de instância da classe pessoa, ou seja, cada pessoa teria um nome diferente, uma altura diferente, etc. Uma instância da Classe Pessoa, ou seja, um Objeto do tipo Pessoa, teria que definir valores específicos para cada um desses atributos. Por exemplo, um objeto do tipo Pessoa tem nome João, altura 1.70, profissão engenheiro.
Classes também possuem métodos. Métodos representam ações, algo que a classe pode executar. Por exemplo, nossa classe pessoa pode andar, falar, e trabalhar.
A interface é definida como uma classe, mas não possui variáveis de instância e nem implementação de métodos. Ela possui apenas constantes e métodos abstratos. Segundo o wikipedia:
Interface é um contrato entre a classe e o mundo externo. Quando uma classe implementa uma interface, ela está comprometida a fornecer o comportamento publicado pela interface.
Uma classe implementa uma interface, ou seja, ela deve possuir todos os métodos definidos pela interface, e implementar funcionalidades na mesma. Uma interface seria por exemplo comunicante, e poderia ter funções como falar, gritar, etc.
interface Comunicante {
void falar ();
void gritar ();
//outras funções
}class Pessoa implements Comunicante{
String nome;
double altura;
String profissao;
void andar () { /*Codigo de andar*/ }
void trabalhar () { /*codigo de trabalhar*/ }
//Implementações de Comunicante
void falar () { /*Codigo de falar*/ }
void gritar () { /*Codigo de gritar*/ }
}
Tipos de Variáveis
Olá novamente! Falarei um pouco sobre definição de variáveis.
No post anterior falei sobre os tipos primitivos e algumas classes básicas, e hoje falarei como declará-las. A primeira coisa que é preciso saber é que existem diversos tipos de variáveis: locais, de instância e de classe.
Variáveis de classe, ou variáveis estáticas, são aquelas marcadas com o modificador static. Essas variáveis são únicas para a classe, e a mesma para qualquer objeto que você venha a criar. As variáveis estáticas são declaradas dentro das classes e antes de qualquer método:
class UmaClasseQualquer {
static int variavelEstatica;
}Variáveis de instância são específicas de objetos e existem enquanto o objeto existir. São declaradas como as variáveis estáticas, porém não possuem o modificador static:
class UmaClasseQualquer {
int variavelDeInstancia;
}Variáveis locais são variáveis criadas dentro de um método ou bloco de código. Elas existem somente durante a execução do método ou do bloco, não sendo acessíveis fora do mesmo:
class UmaClasseQualquer {
void metodoQualquer () {
int variavelLocal = 0;
if (true) {
int variavelLocalDoIf = 0;
}
}
}Note no código acima que a variável variavelLocalDoIf não pode ser acessada fora do IF, existindo apenas dentro do mesmo.
Primitivos e Classes Básicas
Depois de um tempo, volto a postar, hoje falando de primitivos e classes básicas do Java.
Java possui oito tipos de primitivos, sendo: char, boolean, byte, short, int, long, double e float. O uso deles depende do seu objetivo, basicamente.
Os primitivos byte, short, int e long representam inteiros sinalizados, ou seja, com positivos e negativos. Java não possui primitivos não-sinalizados. Já double e float representam números reais, com casas decimais, também sinalizados. Abaixo temos uma tabela com o range e tamanho dos primitivos:
| Tipo | Bits | Bytes | Mínimo | Máximo |
|---|---|---|---|---|
| byte | 8 | 1 | -27 | 27-1 |
| short | 16 | 2 | -215 | 215-1 |
| int | 32 | 4 | -231 | 231-1 |
| long | 64 | 8 | -263 | 263-1 |
| float | 32 | 4 | N/A | N/A |
| double | 64 | 8 | N/A | N/A |
O char representa um caracter unicode, de 16 bits. Essa característica do char do java permite que ele represente caracteres do mundo todo, desde os normais do alfabeto até caracteres especiais do japão, por exemplo.
O boolean pode ter dois valores, true (verdadeiro) ou false (falso). Ao contrário de algumas outras linguagens, onde um inteiro pode ser usado como um boolean, Java só aceita uma variável do tipo boolean para testes de condição.
Deixando os primitivos de lado e já falando de objetos e classes, duas classes que você usará bastante serão Strings e arrays. Strings são objetos imutáveis, usadas basicamente para guardar e manipular texto, como fazer buscas, substituir caracteres, comparação, etc. Falarei mais de strings em futuros posts. Arrays são conjuntos de primitivos ou objetos, também imutáveis (não se pode mudar o tamanho de um array, mas é possível alterar os objetos que ele contém), usados para armazenar um grupo de objetos ou primitivos. Falarei mais sobre dois em outros posts.
Nos próximos posts falarei sobre declaração e manipulação de objetos e primitivos, fique ligado.
Quarta-feira, 4 de Março de 2009
Problemas no IRPF 2009
Olá a todos,
Mudando um pouco de enfoque, mas ainda falando de Java, e tentando ser um pouco menos técnico. Hoje tentei instalar o programa do IRPF 2009 (que aliás é feito em Java) no meu Windows XP, e não é minha surpresa que ao abrir o programa ele apareceu assim:
Traduzindo, em vez de aparecer a tela do programa, para que eu pudesse fazer meu sofrido IRPF, a tela apareceu como um TV mal sintonizada! Mas a solução é simples (e estranha, mas tudo bem), e falarei para vocês.
O que ocorre é que, de alguma maneira, o IRPF não funciona em algumas versões mais novas do Java 6 (1.6.0_11, 1.6.0_12, etc), e não sei se isso acontece em todos os computadores ou não. Mas para consertar, basta desinstalar a versão nova e instalar uma mais antiga, e pronto!
Instalei o Java 6 Update 3, e o programa rodou perfeitamente! Para baixar é só clicar AQUI, e instalar. O link é direto do site da Sun. Não se esqueça de desinstalar a versão anterior indo em Iniciar -> Painel de Controle -> Adicionar ou Remover Programas, e desinstalar a versão antiga de seu programa Java.
Teve outros problemas? Tem uma solução melhor? Deixe seus comentários!
Quinta-feira, 22 de Janeiro de 2009
Hello World Usando Eclipse
Olá!
Agora algumas modificações simples do post anterior para utilizar o Eclipse no seu Hello World. A criação do Hello World no Eclipse é muito simples, principalmente porque o Eclipse já cria todo o corpo da classe para você. Então vamos ao passo a passo.
Primeiramente, presumo que você já tenha o Eclipse "instalado" (na verdade, é só extrair o conteúdo baixado do site no seu computador). Se não, veja nesse post como é simples. Agora, execute o Eclipse e escolha o caminho para o workspace. O workspace é, como diz a palavra, seu "espaço de trabalho". É aonde ficam armazenados as configurações do Eclipse e geralmente seus projetos.
Para criar um novo projeto, vá em File -> New -> Java Project. Em "Project Name", digite o nome do seu projeto, no nosso caso pode ser "HelloWorld", ou outro de sua preferência. Caso você esteja usando o mesmo workspace que nosso post anterior, o Eclipse irá avisar que já existe um projeto com esse nome, então é só escolher outro. O resto é só deixar como está. Agora é só apertar Finish e seu projeto estará criado, com a estrutura de arquivos utilizada pelo Eclipse. Para criar uma classe, vá na pasta "src", clique com o botão direito, e vá em New -> Class. Digite em Package o nome do pacote (no nosso caso, hello), e em Name o nome da classe (HelloWorld). Marque a opção "public static void main (String[] args) e vá em Finish. O eclipse irá criar algo do tipo:
package hello;
public class HelloWorld {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
Se você comparar com nosso post anterior, verá que o código gerado é praticamente tudo que precisamos, só falta o print. Um modo fácil de digitar o print é escrever "syso" e apertar ctrl+espaço, que o Eclipse completa para você. Então insira no lugar do TODO:
System.out.println("Hello World!");Para rodar seu código, botão direito na classe HelloWorld, Run As -> Java Application, e você verá o resultado no Console:
Hello World!
E é só isso! O Eclipse faz muito do trabalho que precisamos fazer utilizando apenas linhas de comando e o bloco de notas. Obrigado pela atenção, e até o próximo post!
