Para todos os Iniciantes, Programas + HelloWorld

Para os iniciantes:
Como a maioria dos iniciantes usam Ruidows, estou mandano os programas em ruindos…

1º acho q vc devia baixar um editor de Java… de preferencia… baixe o eclipse:

2º Você vai precisar também do SDK da java instalado, caso vc ainda não tenha… Ai vai o link do ultimo realise:
Java™ 2 SDK, Standard Edition 1.4.2_03 : http://192.18.97.52/ECom/EComTicketServlet/BEGINjsecom16b.sun.com-a244%3A4041e341%3A403d695eedb4486e/-2147483648/300999735/1/420266/420122/300999735/2ts+/westCoastFSEND/j2sdk-1.4.2_03-oth-JPR/j2sdk-1.4.2_03-oth-JPR:3/j2sdk-1_4_2_03-windows-i586-p.exe

bom e por fim vc tem q entender como funciona um código java…
vou escrever aqui um exemplo de uma Objeto HelloWorld… um pouco mais avançado…

Arquivo HelloWorld.java

//sempre q tiver // no código indica que é um comentário...

/** 
 * também são comentários este tipo de trecho,
 * geralmente usado para documentar a classe.
 *
 * bom aqui eu estou criando um objeto HelloWorld q é publico
 * , ou seja, qualquer objeto poderá usa-lo.
 */
public class HelloWorld {

   /** 
	*   bom aqui eu defino um field, em outras linguagens 
	*   é comumente chamado de variável
	*   este objeto é de propriedade do objeto HelloWorld e é privado,
	*   sendo assim ninguem poderá acessa-lo, só o próprio HelloWorld.
	*/
   private String msg = null;
   
   /**
    * Método getMessage, que aqui é usado para retornar a mensagem
    * que está gravada dentro do field privado msg. ele retorna de
    * forma segura o valor da mensagem, verificando se este ainda 
    * está nulo, se estiver, muda seu valor para "Hello World!"
    * e então o retorna
    * 
    * @return retorna a message do HelloWorld
    */
   public String getMessage() {
   	  //Nome que este if não tem {} isso ocorre pq ele só tem um 
   	  //argumento dentro, não precisando assim abrir e fechar as
   	  //chaves.
   	  //nestes casos, muitas vezes se escreve assim:
   	  //if (msg == null) setMessage();
   	  //em 1 linha só.
   	  //este método verifica se o valor da msg ainda está nulo, 
   	  //sendo isso verdade ele chama o método setMessage() para
   	  //dar valor a msg, isto é feito por segurança, para não
   	  //passar um valor nulo.
      if (msg == null)
	     setMessage();
      
      //aqui ele irá retornar o valor contigo em msg que pertence
      //a este objeto. o operador this, indica que está se tratando
      //de um field q é do objeto e não do método, veremos isso 
      //no método setMessage(String msg) 
      return this.msg;
   }
   
   /**
    * Seta a mensagem passada através de msg, como sendo a messagem
    * deste objeto. No caso de msg estar nulo, xamará o método
    * setMessage().
    * @param msg mensagem a ser gravada pelo objeto.
    */
   public void setMessage(String msg) {
   	  //note aqui que o teste if msg == null é feito para a o 
   	  //field do método setMessage(String msg) e não para aquele
   	  //do objeto, definido lá em cima com: 
   	  //private String msg = null;
   	  //quando há 2 nomes de fields iguais, ele irá usar o field
   	  //do método, para chamar o field do objeto vc terá que usar
   	  //o operador this.
   	  //Então aqui eu testo se msg é null é se for, eu uso o método
   	  //setMessage() ou seja, se o cara passar msg = null, é o mesmo
   	  //de ter chamado o método setMessage(), sendo assim, esse dois
   	  //métodos seguintes tem o mesmo efeito:
   	  //setMessage(), setMessage(null)
   	  if (msg == null) {
   	     setMessage();
   	  //no caso de msg não estar nulo, o objeto irá guardalo em 
   	  //seu field privado, usando para isto o operador this.msg
   	  //para falar a classe q se trata do field exteno, sendo igual
   	  //ao field passado neste método.
   	  } else {
	     this.msg = msg;
   	  }
   }
   
   /**
    * método que seta o valor da msg como Hello World, pos
    * nenhum argumento foi passado para escolher que mensagem 
    * passar
    */
   public void setMessage(){
      //define msg do objeto
   	  this.msg = "Hello World!";
   }
   
   /**
    * cria um objeto hello world com a mensagem padrão definida
    * em setMessage().
    */
   public HelloWorld() {
      setMessage();
   }
   
   /**
    * cria um objeto hello world com a mensagem passada através
    * de msg
    * @param msg mensagem a ser gravada no objeto.
    */
   public HelloWorld(String msg) {
   	  setMessage(msg);
   }
   
   /*
    * Estes 2 últimos comandos são construtores da classe, ou 
    * seja, as manerais de criar um objeto HelloWorld, no outro
    * objeto Main, nós usaremos 2 objeto HelloWorld, para
    * exemplificar
    */
}

Arquivo Main.java

/**
 * está classe ira funcionar como um programa
 * do tipo console, que irá ter saida de textos
 * para rodalo use o comando
 * java Main
 * 
 * etando está classe e a classe HelloWorld dentro da pasta
 * da makina virtual java, existe outras maneiras de rodar
 * este programa...
 */
public class Main {
   //para uma classe ser utilizada como um programa
   //ela deverá ter um método: 
   //public static void main(String[] args)
   //ou seja, um método main publico q é estatico,
   //e pode ser xamado com uma array de strings.
   // método statico, é aquele que pode ser executado
   //sem q vc crie o objeto, você ode xamalo através
   //do nome da classe, exemplo: MinhaClasse.metodoStatico();
   
   /**
    * esté é o método que xama o plicativo, ou seja, se você
    * deseja criar um programa é por aqui q vc deve comessar.
    * 
    * ele é definido como void, pq o método não tem nenhum
    * retorno, como publico pois qualquer um deve conseguir 
    * rodar o programa, e como statico pq não deve ser 
    * necessário criar uma classe para xamar o programa.
    * 
    * o String[] args é para vc poder passar argumentos para
    * o programa, um xemplo de programa q usa isso é o format
    * format C: /s 
    * neste comando vc chama o programa format, e passa a ele
    * os argumentos "C:" , "/s", da mesma forma funciona para
    * java, voccê pode passa argumentos para o método main,
    * que roda o programa. o 1º argumento ficará em args[0]
    * e assim por diante.
    */
   public static void main(String[] args) {
   	  //cria um objeto que fará o comprimento em englês
   	  //lembrando lá da classe HelloWorld, quando nenhuma
   	  //msg é passada, ele cria um objeto com a messagem
   	  //Hello World, ou seja, para um HelloWorld englês é
   	  //só manter a original.
   	  HelloWorld comprimentadorEngles = new HelloWorld();
   	  
   	  //cria um objeto que guarda a messagem "Olá mundo!".
   	  //Pois o construtor HelloWorld("Olá Mundo!") irá 
   	  //chamar o método setMessage("Olá Mundo!").
   	  HelloWorld comprimentadorBrasileiro = new HelloWorld("Olá Mundo!");
   	  
   	  //arqui eu crio uma string com a mensagem orla mundi.
   	  String latim = "Orla Mundi!";
   	  //Outra maneira de criar um objeto HelloWorld.
   	  HelloWorld comprimentadorLatino = new HelloWorld(latim);
   	  
   	  //bom agora vamos imprimir as mensagens para ver o
   	  //resultado.
   	  //Usando o método System.out.println(Strign msg);  
   	  //que imprime uma mensagem na saida padrão.
   	  
   	  //Imprime a mensagem de comprimento do Englês.
   	  System.out.println(comprimentadorEngles.getMessage());
   	  
      //Imprime a mensagem de comprimento do Brasileiro.
      System.out.println(comprimentadorBrasileiro.getMessage());
      
      //Imprime a mensagem de comprimento do Latino.
      System.out.println(comprimentadorLatino.getMessage());
   }
   
   //espero que vc tenha entendido... =]
}

A saida do programa ficará assim:

Hello World!
Olá Mundo!
Orla Mundi!

Ps.: descurpa os erro de portuga… é assim mesmo…

Bom, depois de vc criar os 2 arquivo, ponha ele dentro da pasta q tem os arquivos executaveis do java (existe outra forma de fazer isso, mas estamos no começo) C:\j2sdk1.4.2_03\bin … entaum digite no console…

1º javac HelloWorld.java
2º javac Main.java

ai ele vai cria as classes…

ai para vc rodar a classe main… digite

java Main [/code]

Oi

Grande Another-X, coloquei este teu post como anúnico para ficar mais visível e chamativo, visto que o exemplo ficou muito legal.

Algum problema???

T+

[quote=“jeveaux”]Oi

Grande Another-X, coloquei este teu post como anúnico para ficar mais visível e chamativo, visto que o exemplo ficou muito legal.

Algum problema???

T+[/quote]

Nenhum problema, agradeço muito :lol:

a intenção é ajudar :twisted:

Abraços

bem, e para aqueles q acharem o helloworld do Another-X muito extenso e detalhado… hehehe, ai ta o helloworld mais basico q existe!

[code]public class HelloWorld {

public static void main( String args[] )
{
System.out.println( “Hello world!” );
}

}[/code]

:mrgreen:

Ai pessoal, como o Another-X falou em seu post, existe outra maneira de compilar os programas para isso vc precisa configurar o Java em sua máquina. Para saber como entre em nossa FAQ e confira.

http://www.portaljava.com/home/modules.php?name=FAQ&myfaq=yes&id_cat=13&categories=Como+Instalar+o+Java+em+sua+M�quina!

Até mais!

Galera esse post ficou maneiro somente assim, poderá diminuir um pouco de perguntas do tipo iniciantes relaciondo a este tema( visto que não são poucas);

Bom Dia!!!

Ae Another!!! Valew pela preocupação!!1
Post muito bom o seu!!!
PARABÉNS cara!!!

Agente se ve por aqui e pelo MIRC faloww :smiley:

Abraço

[quote=“RaLpH”]Bom Dia!!!

Ae Another!!! Valew pela preocupação!!1
Post muito bom o seu!!!
PARABÉNS cara!!!

Agente se ve por aqui e pelo MIRC faloww :smiley:

Abraço[/quote]

issa ae Ralph … no mIRC to sempre no canal #portalJava
rede brasNet

^^

Ae pessoal,

achei legal a ideia de ter colocado esse hello world para o pessoal q esta iniciando ai. Acho q deveria ser colocados mais exemplos de programas dakeles q todo mundo tem q fazer…hehehe

vlw

muito boa a ideia, e jah aproveitando, vo bota a explicacao pra outra duvida muito comum: sobre os .exe e .jar

eh o seguinte, ateh tem como compilar pra .exe, mas alem do programa ficar com mais de 10MB (pq o JRE fica incluso no aplicativo), o programa perde toda a portabilidade, q eh a principal vantagem de Java, por isso o ideal eh compilar pra .jar

pra compilar pra .jar leiam esse tutorial escrito pelo jeveaux: http://www.portaljava.com.br/home/modules.php?name=Content&pa=showpage&pid=7

Você falou que está mandando os programas para “ruindows”, existe alguma diferença para rodar em LINUX :?:

pedpano, o código fonte em si não tem diferença alguma de plataforma para plataforma… O que foi referenciado “para windows” são os softwares (IDE e J2SE) que ele utilizou como exemplo e inclusive adicionou os link’s…

Mas sem problema algum vc pode utilizar este código no Linux ou Unix :wink:

Abraços,

seguinte… o código que está no exemplo roda em qualquer sistema operacional… como foi dito ai em cima…

A ide do eclipse… tb tem ela para todos os sistemas operacionais… só q ela difere um pouco de sistema a sistema… creio q os motivos são o statrt do aplicativo … visto q ele é feito em java… portanto é portavel…

mas no windows ele tem um .exe para iniciar o programa…

Agora o J2SE q é preciso pra rodar os programas… tem um pra cada plataforma… esse dai é o q vc precisa pra fazer os aplicativos em java… e pra rodalos tb…

Não sei se é uma pergunta muito idiota, mas eu ainda não intendi o que é IDE… rsrs. :?

rogoni, a IDE é aquela aplicação q tu usa pra escrever teu código java… q te ajuda a desenvolver o teu programa, te informando se vc digitou algo errado, te dando detalhes de APIs, entre outras facilidades… exemplos são o NetBeans e o Eclipse, q são umas das IDEs mais completas q conheço. Tb existem muitas outras, mais simples e fáceis de se usar no começo… como o JCreator. :smiley:

Puts!!! É isso?!..rrss
Ae Matheus, valeu pela explicação, é que conheci Java esse ano e ainda estou aprendendo como funciona e suas ferramentas de trabalho, por enquanto eu uso o NotePad pra elaborar alguns programinhas simples de aprendizagem… rsrs

…jóia! aos poucos tu vai começar a fazer programinhas mais complexos e vai sentir a necessidade de alguma IDE, eu pessoalmente vou de NetBeans, mas essa semana tomei um pau pra colocar um arquivo .jar no classpath dele pro programa compilar e acabei escrevendo o programa no “vi” (editor simples do linux) e compilando com o classpath externo do sistema mesmo…, fiquei louco… até agora não consegui usar meu .jar no projeto no NetBeans. :?

:smiley: [color=“olive”][color=brown][/color] quero agradecer pelo programa helloword, pq pra mim vai ser de maior valia, pois estou engatinhando em java, bjs! :wink: [/list]

Legal Cleo,

seja muito bem vinda aqui! e precisando estamos aqui pra te ajudar a crescer! =)

cya!!

opa! eu tb to ajudando viu! olha meu avatar ai! heheaheahea :lol: