Comparando String, StringBuilder e StringBuffer

Fevereiro 10, 2009 at 12:03 am | In Java | Leave a Comment
Tags: , , , , , , ,

As três classes String, StringBuilder e StringBuffer são usadas para armazenar uma string, mas por tráz existem algumas diferenças. As classes StringBuilder e StringBuffer vieram para solucionar e/ou dar uma alternativa para alguns aspectos da classe String (como imutabilidade).

String

Em Java strings são objetos.
Exitem varias formas de criar um objeto String e atribuir uma string ao objeto como:

String s = new String();
s = "abc";
String s = new String("abc");

ou simplismente:

String s = "abc";

Aparentemente objetos do tipo String são como qualquer outro objeto, mas eles são imultaveis! O que significa isso? Apartir do momento em que você atribui um valor ao objeto, este valor nunca mais poderá ser modificado, isso mesmo nunca mais!! Isto é valido para o valor do objeto e não a referencia do objeto, assim a variavel de referencia poderá referenciar a outro objeto String a qualquer momento.

Exemplo[1]:

String x = "Leo";
x.concat("nardo!");
System.out.println("x = " + x); //resultado: x = Leo

Continue reading Comparando String, StringBuilder e StringBuffer…

Parte III – Menor e Maior Numero em Java

Novembro 17, 2008 at 7:01 pm | In Java | Leave a Comment
Tags: , ,

Se esta é a primeira vez que você esta escrevendo um programa em Java por favor leia as partes 1 e 2 antes de ler esta parte para que você possa instalar o compilador e aprender sobre a estrutura básica dos programas feitos em Java.

Bom só para lembrar não esqueça de salvar o arquivo .java com o mesmo nome da classe que contém o metódo main. Vou explicar o programa por partes e no final coloco todo o codigo.

Maior e Menor

Esse programa é bastante simple mas é um pouco mais complicado do que o programa da parte 2. A finalidade desse programa é armazenar 5 números e procurar qual é o menor e maior número. Vamos criar uma classe com o nome MenorMaior e vamos ter um atributo e dois métodos.

public int numero[] = new int[5];
Esse é o vetor para armazenar os 5 números.

public int getMenor() {
int menor = numero[0];
for (int i = 0; i < numero.length; i++) {
if (numero[i] < menor) {
menor = numero[i];
}
}
return menor;

}
Para obter o menor número primeiramente atribuimos o valor que esta na primeira posição do vetor para uma variável com o nome maior , depois o programa repete um loop 5 vezes comparando se o número na proxima posição do vetor é menor do que o numero já armazenado dentro da variável menor, se for menor atribua a variável menor. Para terminar retorne a variável menor número.

Continue reading Parte III – Menor e Maior Numero em Java…

Parte II – Como Escrever e Compilar Programas em Java

Novembro 12, 2008 at 7:59 pm | In Java | 3 Comments
Tags: , , , , , , , , , , , ,

Antes de começar escrever o programa crie uma pasta com o nome prog dentro do C:

Escrevendo o Programa

Para escrever nosso programa em Java vamos usar um editor de bloco de notas, se você estiver usando a Windows abra o bloco de notas.  Este programa que vamos escrever ele contém a estrutura básica de um programa feito em Java, independente da complexidade do programa temos de ter esta estrutura básica.

Digite o codigo abaixo no bloco de notas e em seguida salve-o com o mesmo nome da classe publica, cada arquivo .java deve ter apenas uma classe publica que é a classe que tem o mentodo main, mas pode ter varias outras classes não publicas. Em nosso caso salve como PrimeiroPrograma.java dentro da pasta prog.

public class PrimeiroPrograma {
public static void main(String[] args) {
System.out.println("Meu primeiro programa em Java!");
}
}

O que significa cada linha do programa?

Continue reading Parte II – Como Escrever e Compilar Programas em Java…

Parte I – Instalação do JRE e JDK

Setembro 27, 2008 at 7:30 pm | In Java | 3 Comments

A instalação do Kit de Desenvolvimento Java é bem fácil mas é uma das maiores dificuldades dos iniciantes em Java, por este motive resolvi explicar aqui para facilitar a vida dos iniciantes. A configuração do JDK é um pouco diferente dependendo do seu sistema operacional, aqui vou usar a Windows pelo fato da maioria das pessoas usarem a Windows.

Java Runtime Environment (JRE)

o JRE(Java runtime environment) é o ambiente de execução do Java, junto com ele vem a Maquina Virtual Java(JVM) que é necessario para executar os programas, essa Maquina Virtual Java é quem interpreta os `byte codes` gerados pelo compilador. Você pode também executar programas criados em Java sem utilizar a JVM criando um arquivo .exe mas fazendo isto os programas perderiam a portabilidade e isto não é algo que um programador Java quer para seu programa. Já que você vai instalar o JDK você não prescisa se preocupar com a instalação do JRE pois ele ja vem na instalação do JDK.

Instalação do JDK

O JDK é uma ferramenta gratuita fornecida pela Sun. Vamos então fazer o download e instalar.

1. Entra no endereço http://java.sun.com/javase/downloads/index.jsp
2. Clique em Download.

download
3. Em Platform selecione Windows e em Language selecione Multi-language.
4. Marque a opção I agree to the Java SE Development Kit 6 License Agreement.
5. Clique Continue.
6. Clique em jdk-6u7-windows-i586-p.exe abaixo de Windows Offline Installation.


Continue reading Parte I – Instalação do JRE e JDK…

XIII Maratona de Programação

Setembro 21, 2008 at 3:04 am | In Maratona | 4 Comments

Neste sábado aconteceu a XIII Maratona de Programação um evento realizado pela SBC(sociedade brasileira de computação) e que pela primeira teve sede em Goiânia organizado pelo Instituto de Informática da UFG. Estavam presentes os melhores programadores de três universidades conceituadas de Goiás. As universidades que competiram foram: UCG, UFG e UEG. Cada universidade tinha direito de ter três grupos, cada grupo com três pessoas. A UCG pela primeira vez participando da maratona se deu bem conseguindo ficar em segundo lugar, a UFG ficou em primeiro, resolvendo apenas um problema a mais que o grupo da UCG e por ultimo ficou a UEG que resolveu apenas um problema.

Antes da competição as 10:00hrs da manha teve o warm-up com apenas dois problemas, um dos grupos da UCG conseguiu resolver os dois problemas primeiro e ficou em primeiro lugar no warm-up, seguido por um grupo da UFG. De meio dia as 14:00hrs os grupos foram liberados para almoço, das 14:00hrs as 19:00hrs foi a maratona official. Na maratona eles deram 10 problemas e quem conseguisse responder mais problemas em menos tempo ficava em primeiro lugar. A UFG começou disparado na frente mas depois a UCG conseguiu empatar mas por fim a UFG conseguiu resolver um problema a mais que a UCG e acabou ficando em primeiro lugar.

A maratona teve um clima descontraído com muita competição mas com muita festa dos grupos, pricipalmente quando conseguiam resolver algum problema. No final cada participante recebeu um certificado de participação da maratona.

Agora é preparar mais para ficarmos em primeiro lugar o ano que vem!

Programação Dinâmica

Setembro 8, 2008 at 11:33 pm | In Algoritmos | 1 Comment

Programadores muitas das vezes dão de cara com alguns problemas que devem ser resolvidos com uma solução melhor. A solução de um problema já pode até existir mas pode não ser a melhor ou a mais rápida solução possível, várias companhias estão interessadas em pessoas que conseguem desenvolver algoritmos que aumente a velocidade de execução dos programas.  Se uma companhia qualquer tiver um programa de grande importância que é usado diariamente por vários de seus clientes e o algoritmos que está por trás executa em tempo exponencial, essa companhia com certeza pagará bem por um algoritmo que execute em tempo polinômial. Então procure aprender Programação Dinâmica pra não passar fome! (nem tanto neh…)

Programação Dinâmica muita das vezes é mal interpretado por muitas pessoas pensando que é o nome de um algoritmo, mas na realidade é o nome de uma técnica de programação avançada que você pode usar para escrever um bom algoritmo. Programação dinâmica no começo parece mágica pois conseguimos ver o que está acontecendo mas não sabemos como fazer até aplicarmos a técnica em alguns exemplos. Existem dois tipos de programação dinâmica: (bottom-up) resolve os problemas de pequena dimensão e guarda as soluções; solução de um problema é obtida combinando as de problemas de menor dimensão ou (top-down/divisão e conquista) o problema é partido em subproblemas que se resolvem separadamente; solução obtida por combinação das soluções.

Exemplo: Abaixo está um figura de como seria calcular o n-ésimo numero fibonacci sem a técnica de programação dinâmica, nessa figura seria o n seria 6.

Note que exite grupos de problemas que já foram resolvidos mas que seram calculados novamente. O sub-problema F4 esta sendo calculado do lado esquerdo e direito da árvore. O F3, F2 e F1 também estão sendo recalculados, isto é traduzido para perca de tempo.

Algoritmo usando programação dinâmica (botton-up):

Qualquer dúvida ou se você quizer o algoritmo do top-down
deixe um comentário.

Google Chrome Chegou!

Setembro 7, 2008 at 3:13 am | In Navegador | Leave a Comment

O google como sempre com suas novidades, então um novo navegador é novidade? Pode parecer apenas mais um navegador para complicar a vida das pessoas que criam paginas de internet, pois cada navegador tem os seus proprios padrões e uma pagina que aparece de um jeito em um navegador geralmente aparece de outro jeito em outro navegador.

Google Chrome nasceu pela ideia de que os navegadores que usamos hoje foram criados na época em que a web suportava apenas paginas simples com texto e imagens. Hoje a web suporta aplicações web que podem interagir com o usuario, então baseado nessa ideia o Google descidiu criar um novo navegador do zero para poder atender essa nova geração que estamos vivendo. Uma das coisas que surgiu foi tratar cada aba como um processo diferente, se uma pagina travar isso não vai afetar o restante das paginas.

O Chrome é um navegador que ainda esta em fase de teste então ainda existem varios bugs como ao digitar :% no campo de endereço dependendo da versão que voce tem o navegador vai travar e fechar, mas eles ja consertaram isso. Ele é algo que promete mas o tempo dira se é realmente tão bom assim para as aplicações web.

Para fazer o download entre no site oficial do Chrome: http://www.google.com/chrome

Blog no WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.