segunda-feira, 19 de outubro de 2009

Programando em C#: Cadeia de Caracteres – a classe StringBuilder

A classe String proporciona muitas funcionalidades para auxiliar no processamento de cadeias de caracteres. Entretanto uma vez criada, o conteúdo de um objeto da classe string não pode ser alterado. Quando alteramos uma string atribuindo um novo valor, isso gera uma nova string para qual a referência do objeto anterior apontará a partir de então.

As funcionalidades explicadas aqui se referem à classe StringBuilder, usada para criar cadeias de caracteres dinâmicas, ou seja, strings capazes de mudar seu conteúdo. Um objeto dessa classe pode armazenar um número específico de caracteres se esse número for extrapolado, um novo limite é estipulado para comportar os novos caracteres. Existem 6 maneiras diferentes de criar um objeto Stringbuilder, vejamos os 3 mais usados:












StringBuilder()



Cria um StringBuilder sem caracteres contidos, por padrão o tamanho máximo inicial é de 16 caracteres.



StringBuilder(int)



Cria um StringBuilder com um tamanho máximo específico, representado pelo int nos parênteses.



StringBuilder(string)


Cria um StringBuilder contendo a string especificada como parâmetro, O tamanho máximo inicial é igual a menor potência de dois maior que o número total de caracteres do parâmetro dado. Ex: se a string dada for "ato"então o tamanho máximo será de 8 caracteres, pois 2³ = 8.



Esta classe tem duas propriedades importantes, a Length e a Capacity que representam o tamanho atual do conteúdo e o valor do tamanho máximo de uma instância.

StringBuilder SBTeste = new StringBuilder("ato");

Essa linha gera uma instância de StringBuilder chamada SBTeste com as seguintes propriedades, dentre outras:

Length = 4;

Capacity = 8.

Caso desejemos aumentar a capacidade máxima de nosso objeto SBTeste, devemos usar o método EnsureCapacity(int)onde o parâmetro deve representar o número de caracteres que queremos assegurar. O tamanho máximo será acrescido da seguinte forma: caso o número especificado seja menor que o dobro do tamanho atual, o novo tamanho máximo será o número + 1, caso contrário, será o dobro do tamanho atual. Usando o exemplo anterior:

SBTeste.EnsureCapacity(10);

Após esse comando as propriedades anteriormente citadas ficam assim:

Length = 4;

Capacity = 11.

Também podemos alterar diretamente a propriedade Length:

SBTeste.Length(3);

Após esse comando, eis os valores das propriedades:

Length = 3;

Capacity = 11;

Conteúdo de SBTeste = "at"

Para explorar a principal característica dessa classe, usa-se os métodos Append e AppendFormat que permitem se adicione conteúdo a cadeia de caracteres de um StringBuilder. O método Append comporta qualquer dos tipos primitivos, vetor tipo ‘har’além das classes String e Object como parâmetro.

O método AppendFormat adiciona conteúdo a cadeia de caracteres usando um formato especificado, usando a seguinte sintaxe:

Instância.AppendFormat(stringDeFormato, string);

A string de formato é uma string que contém informação especial, usando uma notação que determina como a string será exibida. Essa informação é apresentada entre chaves, e usa a seguinte estrutura: {X[,Y][:stringDeFormato]}, onde X é o número do argumento a ser formatado (caso venha a ser mais de um, a lista inicia do zero) Y é um número opcional que indica quantos dígitos devem ser exibidos, esse número pode ser positivo ou negativo. Caso o número tenha menos dígitos que o explicitado por Y, o número será seguido de espaços, se o Y for positivo ou precedido de espaços, caso Y for negativo. O stringDeFormato fornece um formato específico para o número correspondente ao X pode ser tipo moeda, decimal, científico entre muitos outros.

Um StringBuilder possibilita inserir caracteres em qualquer posição da cadeia de caracteres através do método Insert que aceita os mesmos tipos de dados que os métodos Append, desde que antecedidos por um número inteiro que indica a posição (devendo ficar entre 0 ou mais e menos que o comprimento total da cadeia de caracteres.) onde deverá ser inserido o valor conseqüente. Ex.:

//valor anterior: "at"

SBTeste.Insert(2, "alo");

//valor atual: "aialot"

É também possível remover caracteres livremente da cadeia de caracteres de um StringBuilder com o método Remove informando a posição de onde a remoção deve começar (onde o início da cadeia de caracteres é 0) a quantidade de caracteres que deve ser retirada a seguir.

//valor anterior: "aialot"

SBTeste.Remove(4, 3);

//valor atual: "aia"

Outra possibilidade interessante é a substituição de porções da cadeia de caracteres através do método Replace informando a parte qual se quer substituir e pelo que:

//valor anterior: "aia"

SBTeste.Remove("a", "aiada");

//valor atual: "gataiada"

Faremos uma pequena pausa no assunto Cadeia de Caracteres (Strings) para fazer algumas considerações mais básicas, necessárias para o melhor entendimento de explicações futuras, e então retomaremos falando da estrutura (struct) Char e de expressões regulares.



quarta-feira, 23 de setembro de 2009

Programando em C#: Cadeia de Caracteres – a classe String

Com a massificação dos computadores em todas as atividades do dia a dia é normal que nossos programas tenham que apresentar resultados de forma compreensível às pessoas. Normalmente isso é feito através de mensagens escritas, ou seja, seqüências de caracteres encadeados. Popularmente chamadas strings.

Algumas linguagens de programação têm as strings como tipos primitivos, o que não acontece no C#. Nesse caso, String é uma classe.

Você sabe o que é uma classe?

Classe é uma estrutura de dados que contêm informações e/ou executam funções.

Posteriormente, entraremos nos detalhes da dinâmica dos itens que compõem uma classe.

Existem diversas maneiras referenciar a uma string:

Descrevendo seu conteúdo entre aspas duplas (String Literal) ou utilizando o identificador do objeto especificado (referência string).

Exemplo:

String cadeia = new string();

String cadeia2 = "outra string";

String cadeia3 = "mais " + cadeia2;

String cadeia4 = new string("istringui");


 

Você também pode usar um vetor do tipo char para definir uma string:


 

Char[] cadeiaChar = new char[10];

cadeiaChar = {'f','r','e','e','s','t','y','l','e','s'};

String cadeia5 = new string(cadeiaChar, 0, 4);

Deste modo a string receberá a partir da posição 0, 4 caracteres do vetor definido acima. O resultado será a string "free".


 

String cadeia6 = new string('X', 6);

Deste modo a string receberá o caractere X 6 vezes. O resultado será uma string assim: "XXXXXX"

Uma vez criado a string, este (e qualquer outro, na verdade) objeto dispõe de várias propriedades e funcionalidades (também chamadas Métodos) que auxiliam no uso e manipulação do mesmo.

O uso dos métodos faz-se através da fórmula: nomedastring.metodo(argumento(s)).

Essa formula vem de um padrão de nomenclatura chamado notação em pontos. Nem todo método necessita de argumentos, nesse caso os parênteses aparecem vazios. Para usar as propriedades a sintaxe é string.propriedade.


 

Exemplo:

cadeia5.Length;

Essa propriedade informa o tamanho (a quantidade de caracteres) da string cadeia5. No exemplo, cadeia5.Length é igual a 5.

Outros métodos bastante usados da classe string:

Equals(string) (lê-se Íquous)

Compara as strings quanto ao conteúdo e retorna True caso sejam idênticas, ou False caso contrário.

CompareTo(string) (lê-se compérr chu)

Compara as strings quanto ao conteúdo e retorna 1 caso a string comparada seja "menor", -1 caso essa string seja "maior" e 0 caso as strings sejam idênticas.

StartsWith(string)

Retorna True caso a string inicia com a string especificada nos parênteses, False caso contrário.

EndsWith(string) 

Retorna True caso a string termina com a string especificada nos parênteses, False caso contrário.

IndexOf(char ou string, [int], [int])

Retorna o Índice da primeira ocorrência da string indicada no primeiro parâmetro, a partir da posição indicada pelo segundo argumento, o terceiro argumento indica quantas posições pesquisar após o inicio da pesquisa. Caso não haja ocorrência, retorna o valor -1.

IndexOfAny(char[] ou string[], [int], [int])

Retorna o Índice da primeira ocorrência de qualquer um dos elementos do vetor dado, a partir da posição [da string] indicada pelo segundo argumento, o terceiro argumento indica quantas posições pesquisar após o inicio da pesquisa. Caso não haja ocorrência, retorna o valor -1.

LastIndexOf(char ou String,[int] ,[int]) 

Retorna o Índice da última ocorrência da string indicada no primeiro parâmetro, a partir da posição indicada pelo segundo argumento, o terceiro argumento indica quantas posições pesquisar após o inicio da pesquisa. Caso não haja ocorrência, retorna o valor -1.

LastIndexOfAny(char[] ou string[], [int],[int]) 

Retorna o Índice da última ocorrência de qualquer um dos elementos do vetor dado, a partir da posição [da string] indicada pelo segundo argumento, o terceiro argumento indica quantas posições pesquisar após o inicio da pesquisa. Caso não haja ocorrência, retorna o valor -1.

Substring(int, [int]) (lê-se sâb string)

Retorna uma nova string resultante da leitura da string a partir do índice indicado no primeiro argumento, como número de caracteres indicado no segundo argumento. Caso não seja especificado, a substing seguirá até o fim da string original.

Concat(string, string) 

Une duas strings distintas gerando uma terceira. Não modifica as strings envolvidas.

ToLower () (lê-se chu láuer)

Passa os caracteres alfabéticos para a Caixa baixa.

ToUpper() (lê-se chu Ãpâr)

Passa os caracteres alfabéticos para a Caixa alta.

Replace(char, char) (lê-se rripleice)

Substitui caracteres entro da string.

Trim() 

Remove espaços brancos no início e no final de uma string

ToString() 

Retorna o conteúdo da string.


 

É bom lembrar que no caso dos métodos LastIndexOf e LastIndexOfAny usando 3 argumentos, o valor que representa início da pesquisa deve ser maior que o número que determinará o fim, tendo em vista que as pesquisas são iniciadas do fim para o começo da string.

Há muito mais sobre strings para se discutir, no próximo post continuaremos agora acerca da classe StringBuilder.


 

 

quarta-feira, 1 de julho de 2009

Aprimorando o inglês

Por Adriano

Quer aprimorar o inglês?
Acesse o site da BBC e comece agora:

http://www.bbc.co.uk/portuguese/learningenglish/


OK!!!

sábado, 9 de maio de 2009

XNA 3.0 Colisões

Por adriano

Uma das coisas mais importantes na hora de se desenvolver um jogo é ter controle sobre as colisões que o personagem fará, pois devido a elas são executadas ações que dão vida ao game. Neste artigo vou apresentar duas formas de colisões: entre objetos e com a tela.

Colisão entre objetos

Crie a textura que será um personagem na tela
Texture2D textura;
Crie uma posição para sua textura na tela
Vector2 posicao = new Vector2(50,50);
Crie a textura que o personagem colidirá
Texture2D Inimigo;
Crie a posição desta textura
Vector2 posi_inimigo = new Vector2(150, 150);

//No método load carregue as texturas como nos artigos anteriores
//inserindo uma imagem e atribuindo uma textura
textura = Content.Load…
Inimigo = Content.Load...

//É neste Método abaixo que vamos realizar a colisão
protected override void Update(GameTime gameTime)
{
//Faça um controle da movimentação de seu personagem como nos artigos anteriores
Teclado = new keyboard.GetState()
if (teclado.IsKeyDown(Keys.Up))
{
//velocidade do objeto
posicao.Y -= 2;
}
//E assim por diante. . .
//Depois insira o código abaixo que checa a colisão



}//Fim do Update

No método Draw exiba as texturas na tela como nos artigos anteriores
//...
SpriteBatch.begin();
SpriteBatch.Draw(textura, posicao, Color.White);
SpriteBatch.Draw(inimigo, posi_inimigo, Color.White);
SpriteBatch.end();

Agora é só apertar F5 e conferir o resultado

Colisão com a tela
Acrescente este código ao anterior
protected override void Initialize()
{
//Fixando o tamanho da tela
graphics.PreferredBackBufferWidth = 400;
graphics.PreferredBackBufferHeight = 400;
}



//Aperte F5 novamente e confira!!!

Uma vídeo aula sobre este assunto ficará disponível em breve.
Valeu!!! Até a próxima...

segunda-feira, 20 de abril de 2009

ZEEBO – o console canarinho

Por Adriano

ZEEBO é o nome do console da empresa brasileira de jogos eletrônicos TECTOY em parceria com a QUALCOMM, ele possui um diferencial muito interessante com relação aos seus concorrentes, o sistema de venda de jogos. Possui um chip de internet 3G que será usado para que os jogadores baixem os títulos para dentro de seus consoles, ou seja, não possui leitores de CDs ou DVDS, muito menos BLUE RAY. Ele custará por volta de R$450,00 e seus títulos entre R$ 9,90 e R$ 29,90. O designer é inspirado no fenômeno NINTENDO Wii, o controle é plugado via USB e possui um leitor de cartão SD. O game tem a intenção de se espalhar pelos países emergentes (Brasil, China, Índia, México) e depois nos tradicionais consumidores dos EUA, Japão e Europa.

Vantagens:
-É um console “Brazuca”, todos os jogos virão com a opção em português.
-O mercado nacional ganha uma forma de fortalecer os títulos produzidos no Brasil.
-Com sua forma de comercializar games por uma loja virtual evita a pirataria de games e fortalece a indústria.
-Empresas como a EA, CAPCOM, NANCO, IP já produzem títulos para o console.

Desvantagens:
-Mesmo utilizando uma tecnologia pré-fabricada ele já começa atrás de consoles como PS2, pois possui gráficos inferiores (semelhantes ao PS1).

Dúvidas:
-Quem você prefere comprar, o PS2 (R$599,00) ou ZEEBO (R$450,00)?
-Existirão programadores de jogos para ZEEBO?
-Haverá títulos de qualidade?

Veja o vídeo sobre o assunto:
clique aqui
Site Oficial:
clique aqui
Quem desejar programar para esta plataforma:
clique aqui

sábado, 11 de abril de 2009

Empacotando jogos em XNA 3.0

Por Adriano

Ao empacotar seu jogo em XNA você protege seu código fonte, caso queira distribuí-lo. São gerados dois arquivos: um é o executável e o outro uma pasta que conterá a parte gráfica entre outros.

Para o jogo rodar em outro computador, este deve possuir o XNA FRAMEWORK (na versão na qual o jogo foi desenvolvido).

-. NET FRAMEWORK (NA VERSÂO ATUAL)

- XNA FRAMEWORK REDIST (na versão na qual o jogo foi desenvolvido).

- DIRECTX (ultima versão)

- Placa de vídeo com suporte a Pixel shader 2.0(ou na versão na qual o jogo foi desenvolvido).

Como gerar o executável?

- Para desenvolver com XNA é necessário o Visual Studio 2008 ou 2005 Express.

Para desenvolvimento no XBOX 360:
- Além dos itens relacionados à cima também será necessário possuir uma conta ativa no XNA Creators Club.

Feito isto, será gerada uma pasta com um arquivo de extensão ccgame no qual você executará diretamente seu jogo e poderá distribuí-lo junto com a pasta dos arquivos dele.

Veja como proceder:
Quando estiver com o projeto pronto basta apenas clicar no botão abaixo:

Será gerada a pasta abaixo dento do diretório: bin/x86/Debug.

Você verá que seu projeto ficou duas vezes mais leve.



Este tipo de arquivo também é usado para competições de XNA.

Valeu! Até a próxima.

quarta-feira, 25 de março de 2009

Biblioteca de coleções

Por Adriano
Namespace System.Collections

ArrayList
Seus elementos possuem métodos específicos, não é necessário possuir um tamanho predefinido.

Int[] códigos = {1,2,43};
ArrayList Listagem = new ArrayList(códigos);
Listagem.remove(43);
Listagem.add(1);
Int i = (int) Listagem;

Stack (Pilha)
Seu tamanho não precisa ser predefinido e seus elementos também possuem métodos específicos para serem manipulados. Os últimos elementos inseridos (pelo método Push) são os primeiros a serem retornados (Método Pop), semelhante a uma pilha de pratos.

Push (Método para inserir na pilha)
Pop (Método para remover)

Stack pilha = new Stack ();
Pilha.push(“Pratos”);
Pilha.push(“Pratos azuis”);
Response.write(pilha.pop());

Queue(Fila)
Semelhante a pilha, porém trabalha de forma contrária. O método Dequeue retorna os primeiros elementos inseridos pelo método Queue. Como de fosse uma fila de banco.

Queue fila = new Queue ();
Fila.enqueue(“Cliente1”);

List(Lista)
Semelhante ao ArrayList, porém permite apenas a inserção de um tipo predefinido.

Lista.add (52);
Response.write(Lista.count);

Dictionary(Chave e Valor).

Semelhante a List, porém permite o uso de uma chave ‘Chave’ de um tipo predefinido, para referenciar um valor do tipo ‘Valor’.

// Dictionary string(chave)/string(valor)
dicionario.Add(“Nome”, “sobrenome”);
dicionario.Add(“José”, “Silva”);

dicionario.Remove(“José”);

Response.Write(dicionario [“Nome”]);

terça-feira, 10 de março de 2009

Array(Vetores) & Enumeradores

Por Adriano

Array(Vetores)

Array é uma variável que permite o armazenamento de um bloco de um tipo particular de variáveis (int, string, object, bool...) na memória.
No C# os Arrays são indexados a partir de zero (0).
Não podem ter seu tamanho alterado depois de instanciados.

Declarar um Array:
int[] VetorDeInteiros;

Instanciando arrays:
int[] codigos = new int[6];

Preenchendo array
nomes[0] = “Maria”;

Unidimensionais: array com uma chave.
int[] codigos = new int[6];
codigos[0] = 3;

Multidimensionais:
int[,] codigos = new int[3,3];
codigos[0,0] = 10;

Enumeradores


A função principal de um enumerador é agrupar valores com o mesmo sentido.

enum TipoFuncionario
{
Atendente,
Gerente,
Auxiliar,
Cozinheiro
}

//... Em um evento
// Instanciando
TipoFuncionario tpFuncionario = TipoDiretor. Gerente;

// Imprime ‘Comercial’
Response.Write(tpFuncionario);

terça-feira, 3 de março de 2009

Movendo um objeto na tela

Por Adriano

A classe principal do jogo é esta:
Obs.: Crie um novo projeto e insira o código em negrito

namespace Game1
{

public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;

//A figura
Texture2D textura;
//A posição da figura na tela
Vector2 posicao = new Vector2(50, 50);
// Controle do objeto utilizando do teclado
KeyboardState teclado;
// Velocidade do objeto
float velocidade = 3.0f;

public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
}

protected override void Initialize()
{
base.Initialize();
}

protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);

//inserindo uma imagem e atribuindo uma textura
textura = Content.Load(Texture2D) ("figura");
}

protected override void UnloadContent()
{

}

protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();

// Declaração o teclado
teclado = Keyboard.GetState();
// A tecla UP
if (teclado.IsKeyDown(Keys.Up))
{
//velocidade do objeto
posicao.Y -= velocidade;
}
// A tecla DOWN
if (teclado.IsKeyDown(Keys.Down))
{
//velocidade do objeto
posicao.Y += velocidade;
}
// A tecla LEFT
if (teclado.IsKeyDown(Keys.Left))
{
//velocidade do objeto
posicao.X -= velocidade;
}
// A tecla RIGHT
if (teclado.IsKeyDown(Keys.Right))
{
//velocidade do objeto
posicao.X += velocidade;
}

base.Update(gameTime);
}
protected override void Draw(GameTime gameTime)
{
graphics.GraphicsDevice.Clear(Color.CornflowerBlue);

//Exibindo na tela
spriteBatch.Begin();
spriteBatch.Draw(textura, posicao, Color.White);
spriteBatch.End();

base.Draw(gameTime);
}
}
}

Veja como é simples mover um objeto na tela, agora é só apertar F5 para executar.
Confira a vídeo aula 2 de Xna que aborda este assunto no link Materiais, ao lado.

quarta-feira, 25 de fevereiro de 2009

XNA 3.0: Inserindo um objeto na tela

Por Adriano

Crie um novo projeto e insira os códigos em negrito
namespace Game1
{

public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;

//A figura que será exibida na tela
Texture2D textura;
//A posição da figura na tela
Vector2 posicao = new Vector2(50, 50);

public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
}

protected override void Initialize()
{
base.Initialize();
}

protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);

// imagem do projeto atribuída a textura
textura = Content.Load(texture2d)("figura");
}

protected override void UnloadContent()
{

}

protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
}
base.Update(gameTime);
}
protected override void Draw(GameTime gameTime)
{
graphics.GraphicsDevice.Clear(Color.CornflowerBlue);

//Exibindo o resultado na tela
spriteBatch.Begin();
spriteBatch.Draw(textura, posicao, Color.White);
spriteBatch.End();

base.Draw(gameTime);
}
}
}
_____________________________________________
Agora vamos adicionar imagens ao projeto:

Clique com o botão direito do mouse no projeto, surgirá um menu flutuante vá até Existing Item.

Surgirá uma caixa de diálogo, busque em qualquer lugar da máquina a figura que você criou e então a selecione e clique em Add.

A imagem deve ficar no diretório Content, caso isso não ocorra arraste-a para lá.

Agora é só executar o projeto: RUN

Obs.: Você pode conferir a vídeo-aula de XNA 3.0 no link MATERIAIS ao lado.
Elas estão sem audio nas aulas iniciais, mas terão nas de nivel avançado.


domingo, 15 de fevereiro de 2009

Célula na Imagine Cup



Game Development

A Célula FreeStyle está na Imagine Cup 2009, concorrendo na categoria de desenvolvimento de games com a engine XNA Game Studio 3.0 e Visual Studio 2005. O objetivo é desenvolver um jogo que possa ser executado em Windows e XBOX 360 com o tema “Imagine um mundo onde a tecnologia ajude a solucionar os problemas mais complexos que enfrentamos atualmente”. A competição é dividida em três etapas sendo a ultima (Final) realizada no Egito. Esta é uma chance dos estudantes desenvolverem seus próprios jogos e trocarem idéias com programadores do mundo todo.

Para mais informações:

http://imaginecup.com


A célula esta sendo representada por: Adriano Francisco da Silva
Universitário: Informática/UERJ e Química/IFRJ
Técnico em informática/Colégio Pedro II

sábado, 31 de janeiro de 2009

Cartilha Esclarecedora sobre a Lei do Estágio

O Ministério do Trabalho e Emprego torna pública a Cartilha Esclarecedora sobre a Lei do Estágio com o objetivo de orientar estudantes e instituições de ensino públicos e particulares a respeito das inovações trazidas pela Lei do Estágio, criada para proporcionar aos jovens estudantes brasileiros os instrumentos que facilitem sua passagem do ambiente escolar para o mundo do trabalho. Este documento pretende auxiliar o jovem estudante a caminharem com segurança na carreira profissional escolhida e despertar nas empresas brasileiras a consciência de sua responsabilidade social e das vantagens ao acolher o estagiário para formarem suas equipes de colaboradores.

Você pode baixar aqui.

domingo, 25 de janeiro de 2009

Java para iniciantes - 2

Java para iniciantes - por Thiago Macedo Lima

Olá pessoal eu estou aí de novo para nosso segundo artigo de Java para iniciantes. Bem hoje eu irei mostrar um exemplo prático (e clássico) de qualquer linguagem o Hello World.

Mas para esse exemplo você deve utilizar um editor de texto simples como Note Pad. No meu caso utilizarei do Note Pad++ que possui uma opção de Linguagem que é só marcar em Java que as palavras reservadas do Java iram se colorir para melhor visualização.

Vamos lá então nesse para esse exemplo comece criando uma pasta em "Meus Documentos" e coloque o nome de Hello World. Após isso então abra o seu Editor de Texto e digite o seguinte código:

public class HelloWorld
{

public static void
main(String args[])
{


System.out.println(
"Hello World");


}



}


Bem esse código a principio para quem nunca programou em Java pode parecer estranho porém não devemos nos preocupar com todo o código o importante é saber que public static void main(String args[]) é o inicio do programa e System.out.println(
"Hello World"); está imprimindo na tela Hello World.

Após ter escrito o código acima salve esse arquivo com o HelloWorld e escreva a extensão .java com isso fica HelloWorld.java.

Nessa parte é que se deve ter cuidado por que quando for salvar o arquivo Java, ele deve possuir o mesmo nome que está escrito até as letras maiusculas e minusculas em public class nesse caso "HelloWorld", só lembrando que não é importante agora saber o por que do nome public class.

Agora salve o arquivo dentro da pasta Hello World que foi criada em "Meus Documentos". Logo após isso vá em Iniciar> Executar... > digite cmd, agora dentro do MS-DOS localize a pasta Hello World dentro de "Meus Documentos".

Para quem não possui noção de DOS eu mostrar os comandos básicos para achar a pasta através da linha de comando.

dir - lista todas as diretórios (pastas) e arquivos do diretório que se está no momento.
cd.. - volta um diretório anterior.
cd [nome do diretório] - vai para o diretório escolhido.

Bem agora após ter achado entrado na pasta Hello World digite o seguinte código:

javac HelloWorld.java

Essa linha de comando irá compilar o arquivo HelloWorld.java e gerará um arquivo chamado HelloWorld.class

Agora digite o seguinte código:

java HelloWorld

O resultado a ser apresentado deverá ser este abaixo:


Bem esse é o final do meu artigo que basicamente abrangeu como compilar e executar um programa em Java. Até esse momento eu não entrei em detalhes sobre várias coisas que eu fiz, mas isso concerteza é necessário para os próximos artigos em que eu começarei a tratar dá sintaxe do Java.

Até o próximo artigo.



Frase do Dia
"Já dizia o meu pai o homem deve ter duas coisas limpas na vida: o nome e a cueca "



sexta-feira, 23 de janeiro de 2009

Java para iniciantes - 1

Java para iniciantes- por Thiago Macedo Lima


Bem hoje estarei começando uma série de artigos sobre o Java para iniciantes e a medida do possível irei avançando. Bem essa primeira serie de artigos irá mostrar a sintaxe básica do Java passando para Orientação a objetos e assim por diante.


Simplesmente eu nas minhas séries de artigos sinceramente não pretendo passar detalhes técnicos sobre o Java e nem o porquê de ele ter se tornado uma grande linguagem mas a minha idéia é passar mas a parte de programação mesmo. Os detalhes técnicos serão citados a medida que houver necessidade. Bem paremos de conversa e vamos lá. Antes de aprender a programar em Java deve-se primeiro baixar a ferramenta básica do Java.


Aqui eu irei mostrar a instalação no Windows XP.


O Framework básico para se utilizar o Java é a JDK ( Java Development Kit ) entre no site da SUN neste link http://java.sun.com/j2se/ e procure a mais nova versão do J2SE 5.0 JDK.


Este é o kit de desenvolvimento Java, este kit consiste em um compilador (javac), uma ferramenta de execução (java), uma ferramenta para geração de documentação (javadoc), um conjunto de bibliotecas prontas para o uso e etc.


Procure por um arquivo que possua este nome ou parecido dependendo se for uma nova versão: Windows Off-line Installation, Multi-language (jdk-1_6_5-Windows-i586.exe, 43.93 MB). De um duplo sobre o arquivo e instale-o normalmente seguindo o "Next" normalmente.


Após a instalação é hora de configurar a CLASSPATH para que o possa rodar os programas.


Siga os seguintes passos abaixo:


Clique com o botão direito do mouse sobre 'MEU COMPUTADOR", agora clique em Propriedades você verá a tela abaixo:



Vá agora na aba avançado e clique em variaveis de ambiente verá a tela abaixo:




Agora clique em "NOVA", depois em Nome da variável escreva o nome PATH e em Valor da variável coloque o endereço do diretório onde está instalado a JDK no meu caso é C:\Arquivos de programas\Java\jdk1.6.0_05.



Clique em Ok e de novo clique em "Nova" e em Nome da variável escreva CLASSPATH com Valor da variável digite somente (.).


Após essa instalação e configuração devemos fazer um teste para saber se etá tudo OK, vá em Iniciar > Executar... > e digite cmd você entrará na tela do MS-DOS > Agora digite java -version


Deverá aparecer como na tela abaixo:



Bem isso realmente é o básico para que se possa rodar uma aplicação Java no seu computador.

Aqui está dois fóruns muito interessantes para quem quer saber mais sobre Java.

http://www.guj.com.br/index.jsp

http://www.javafree.com.br/index.jf

Bem hoje eu iniciei a minha série de artigos de Java. Essa série é especialmente para pessoas que já tiveram contato com alguma linguagem de programação mais não conhecem as partícularidades da linguagem, por isso não falarei sobre lógica de programação.



Frase do Dia

"Qualquer semelhança entre eu e um doutor é mera coincidencia"

Doutor Horácio Energúmeno- Wood Woodpecker


Até o próximo artigo!!!