0

Controle de fluxo em java

Tomando em conta que o processador executa uma instrução após a outra quando executa um programa podemos inferir que o programa fecha após a execução da última instrução. Certo? Claro que sim.

E se quisermos que o nosso programa termine antes da última instrução, ou que ele fique repetido a execução de certas instruções finita ou infinitamente? Como faremos? Calma! As instruções de controle de fluxo surgiram exactamente para resolver este nosso problema.

Do While
Executa um bloco de instruções enquanto uma condição for verdadeira. Esta instrução é usada da seguinte da seguinte forma:

//Faça enquanto
do{
//Instrucao1;
//Instrucao2;
//Instrucaon;
}while (condicao);


//Um exemplo prático
class exemp{
 public static void main(String args[]){

  //Declara um variavel do tipo inteiro e inicializa com valor 2
  int x=2;

     //Imprime os numero (2,4,6,8,10,12);
  do{
  System.out.println(x+2);

  x=x+2;
  }while(x<=10);

 }

}


Fazendo uma simples análise podemos descobrir que usando a instrução (do while) o bloco de instruções é executado e só depois verificada a condição. E se quisermos verificar a condição e depois executar o bloco de instruções? Usamos o (while)

While sem Do
Faz exactamente o mesmo que o (Do While), a diferença reside no facto de o While sem Do verificar a condição e só depois executar o bloco de instruções. Esta instrução é usada da seguinte forma:

//Enquanto a codicao for verdadeira
while(condicao){
//Instrucao1;
//Instrucao2;
//Instrucaon;
}

//Um exemplo prático
class exemp{

 public static void main(String args[]){

  //Declara um variavel do tipo inteiro e inicializa com valor 2
  int x=2;

     //Imprime os numero (2,4,6,8,10,12);
  while(x<=10){
  System.out.println(x+2);
  x=x+2;
     }

 }
}



O ciclo for

O ciclo FOR foi desenhado para autoincrementar uma ou mais variàveis. O que é incrementar? Muito simples: Lembra do exemplo anterior? Quando nós escrevemos a instrução (x=x+2), estávamos incrementando duas unidades na variàvel x. Ja percebeu não é? Continuando, inicializa uma ou mais variàveis (define o valor inicial), autoincrementa tais variàveis e executa um bloco de intruções mediante uma codição.

A sua estrutura é nada mais, nada menos que:

for(inicializacao;condicao;incremento){
//Instrucao1;
//Instrucao2;
//Instrucaon;
}

Vamos implementar o nosso exemplo usando o ciclo for:


//Exemplo do ciclo for
class exemp{


 public static void main(String args[]){

  //Declara um variavel do tipo inteiro
  int x;

      //Imprime os numero (2,4,6,8,10,12) usando o ciclo for;
     for(x=2;x<=10;x=x+2){
   
     System.out.println(x+2);
 
     }

 }

}


CONTINUA...






0

Arrays Uni e Bi-dimensionais em java

Arrays

O problema:
Imagine que nós estejamos escrevendo um sistema de cadastro de estudantes, onde serão inseridos apenas seus nomes. No início sabe-se que serão cadastrados apenas 3 estudantes e escrevemos:

A solução

//Bela tentativa
String estudante1;
String estudante2;
String estudante3;
Tudo certo até agora, mas, se o número de estudantes aumenta para 15? Será que vamos escrever quinze linhas daquelas? Não, é ai onde entram os arrays, eles agrupam dados do mesmo tipo numa única variàvel, uma variàvel indexada, ou seja, onde cada elemento contém um índice.

Para resolver o nosso problema, nós seríamos obrigados a declarar um array uni-dimensional de Strings. O que é isso de uni-dimensional? Isso simplesmente quer dizer que o nosso array tem apenas uma coluna, ou seja, um array é uma tabela. Vamos então declarar uma "tabela" de uma coluna:

//Array de uma coluna [Uni-dimensional]
String[] estudantes = new String[15];


Acabamos de resolver o problema dos 15 estudantes. Se quiséssemos declarar um array de 15 valores inteiros nós faríamos o seguinte:


//Array que armazena 15 valores inteiros
int[] = new valores[15;


Para obter ou definir o nome de um dos estudantes do sistema, temos que mecionar o nome do array e entre parentesêis rectos colocar o índice.

O menor índice de um array é 0 (zero) e o maior índice é a [dimensão do array]-1, ou seja, 15-1=14. 

//Para aceder ao nome de primeiro estudante faríamos:
estudante[0];
//Para aceder ao nome do ultimo estudante:
estudante[14];


Arrays Bi-dimensionais

Imagine que depois de alterarmos o nosso sistema para cadastrar os 15 estudantes (nomes) surja a necessidade de incluir as nacionalidades dos mesmos.

Voce deve estar pensando o seguinte:
Vamos declarar um segundo array com o nome nacionalidadess do tipo String:


//errado
String[] nacionalidades= new String[15];


A sua ideia não é irracional, faz sentido sim, mas, ficaria mais prático termos apenas um array. Por isso existem também os bi-dimensionais, ou seja, com mais de uma coluna. Colo resolver o nosso problema:

//Um array bi-dimensional
String[][] estudantes= new String[15][2];


Com esta simples linha resolvemos o nosso probleminha. Este array tem duas colunas. A coluna dos nomes e a dos apelidos, ou seja, é um array 15x2. 15 Linhas e 2 colunas.

Desenhe uma tabela de 15 linhas e 2 colunas em um papel para poder perceber...
  • A primeira coluna é do nome do estudante..
  • A segunda coluna é da nacionalidade do estudante

//Para ceder aos dados de um estudante vamos usar a regra:
estudante[linha][coluna];


Temos que ter em vonta que o Nome do estudantes está na primeira coluna (0) e a nacionalidade na segunda coluna (1), ou seja, o nome do primeiro estudante está na primeira linha e na primeira coluna:

//Nome do primeiro estudante
estudante[0][0];
//O primeiro zero indica a linha da tabela (array), sabemos que cada estudante tem a sua linha. O segundo zero indica a primeira coluna.

//Para obter nome de qualquer estudante devemos usar a regra:
estudante[indice_do_estudante][0];

//Para obter nacionalidade de qualquer estudante devemos usar a regra:
estudante[indice_do_estudante][1];

//Nacionalidade do primeiro estudante
estudante[0][1];


Nao se esqueça que o maior índice de um array é igual à dimensao-1. 

 Inicialização de arrays

Iniciarlizar é definir um valor inicial.

Vamos definir umas pequenas regras para nao nos perdermos:
Cada par de chavetas {} dentro de um único par de chavetas, separados por vírguas é uma Linha (Array bi-dimensional).
Cada Valor dentro de um único par de chavetas, separados por vírgulas é uma Linha (Array uni-dimensional).


//Para inicializar um array uni-dimensional podemos usar a seguinte maneira:
//Ném precisamos dizer quantas colunas e linhas tem, ele automaticamente define.
String[] estudantes={"Mario","Eben","Justino","Jose"};

//Para inicializar um array bi-dimensional podemos usar a seguinte via:
//Dentro das chavetas temos
String[][] estudantes= {{"Mario","Junior"},{"Eben","Zavala"},{"Justino","Langa"},{"Jose","Paulino"}};


Referências:
http://www.devmedia.com.br/matrizes-vetores-em-java-parte-3/21573
http://www.java2s.com/Code/Java/Collections-Data-Structure/Javaprogramtodemonstratemultidimensionalarrays.htm



Existe algo mais fácil? Claro que não! Continue lendo nossos artigos.
Os Beginners.


2

Compilando e executando programas em JAVA

Quando se programa é importante testarmos o  que estamos programado. Neste artigo vou dar algumas dicas sobre como compilar e executar um programa em linguagem JAVA para usuàrios do Windows.


Você vai precisar do JDK (Kit de desenvolvimento em Java). Se tiver em seu computador instale-o e se não tiver ou não souber como instalar, dê uma olhada nesta dica:
http://blogdocaze.com.br/2011/02/24/tutorial-como-instalar-e-configurar-o-java-jdk-no-windows/




Já instalou? Muito bem. Agora você vai precisar de uma ferramenta para digitar o seu código e compilar.
A Oracle disponibiliza um IDE (Ambiente de desenvolvimento Integrado) de nome NetBeans, muito bom e ao mesmo tempo péssimo para iniciantes. Se você sente que precisa familiarizar-se ainda com o JAVA comece usando o IDE mais simples que puder. Por mim compilaríamos e executaríamos os programas pela linha de comandos, mas, para não deixar as coisas um pouco pesadas para você, vamos usar um IDE chamado Geany. Pode baixar seguido o seguinte link:




http://www.baixaki.com.br/download/geany.htm


7,80 MB




Faça download e siga os seguintes passos:


1. Execute o ficheiro baixado

 

























Clique em "Next"































Clique em "I Agree"































Clique em "Next"


 














Clique em "Next"

















Clique em "Install"















Clique em "Finish".


Uma vez aberto o Geany, clique no menu File>New( with template)>main.java conforme mostra a imagem seguinte:



Antes de mais nada, clique no botão save da barra de ferramentas


O nome do ficheiro deve ser exemplo.java
































Apague todo conteudo do ficheiro e escreva as seguintes linhas:
/*Escrito por Mario Junior */ 
//TopBeginner

public class exemplo {
	
	public static void main (String args[]) {
		
		System.out.println("Nao foi tao dificil assim!");
		
	}
}


Volte a clicar o botão save e de seguida clique no botão compile 

 e de seguida execute 





Espero que tenhas o seguinte resultado:



    Já é um bom começo!

0

Princípios Básicos da Linguagem JAVA Parte II

"Não se pode fingir para a nossa própria mente. Não tente enganá-la."
Mário Júnior


Declaração de variàveis

Uma variàvel é nome ao qual são atribuídos valores, tal nome armazena seus dados na memória. Cada tipo de dados ocupa um determinado espaço na memória. Quando declaramos uma variàvel informamos automaticamente quanto espaço ela precisa. Como assim? O tipo de dados é que armazena essa informação, nós só precisamos dar nome à nossa variàvel.
Primeiro escrevemos o tipo de dados e depois o nome da variàvel. Se quisermos declarar uma variàvel do tipo inteiro fazemos assim:
O nome da nossa variàvel é idade, do tipo int. Se quiséssemos declarar uma variàvel real faríamos:
//Declarando variàvel do tipo primitivo
tipo_de_dados_primitivo nome_da_variavel;



//Declarando uma variàvel real com precisão simples
float altura;


Preste muita atenção nesta frase: Os tipos primitivos não têm construtores. Por quê? Porque não são objectos. Lembre-se que qualquer classe que voce escrever passa a fazer parte do conjunto dos tipos de dados (Object). Como faríamos para declarar uma variàvel do tipo Object? Na verdade, uma variàvel nunca é do tipo objecto, ela simplesmente aponta para um Objecto, então volto a fazer a pergunta: Como faríamos para declarar uma variàvel que aponta para um Objecto? Primeiro escrevemos o nome da tipo de dados, nesse caso, o nome da classe e depois o nome da variàvel;

//Como declarar uma variavel de um tipo Object
tipo_de_dados nome_da_variavel;

Vamos escrever uma simples classe:

public class Carro{

}
....

Declarando uma variàvel que aponta para um objecto carro:

Carro bmw;
/*Quando fazemos isto, a nossa variàvel aponta para um objecto que não existe(nulo).
Nós simplesmente criàmos o nome de uma variàvel que deve apontar para um objecto 
do tipo Carro e que ainda não apontou. 
Para fazermos a nossa variàvel bmw apontar para um objecto Carro temos que usar 
o sinal de igualdade e informar o Carro para o qual a variàvel deve apontar, 
neste caso, um novo carro:*/

//Corregindo temos:
Carro bmw = new Carro();


A palavra reservada new indica que estamos criando um novo objecto. O método Carro() é o construtor que foi criado automaticamente pela linguagem, poderíamos ter escrito o nosso próprio Construtor. Acabamos de construir um Objecto do tipo Carro e uma variàvel que aponta para tal Objecto. Não me diga que é difícil por favor... Acabamos de o fazer...

Uma String
String é uma cadeia de caracteres, ou seja, um agrupamento de variàveis do tipo char (Tipo primitivo), mas, String é um tipo Object em Java. Não entedeu ainda? 'I' é um char, "ISTO" é uma string. Acho que agora sim. Como provar que String é do tipo Object? Muito simples: provando que tem um construtor:

//Uma String unsando um dos construtores da classe
String str= new String("Beginner");

Desta maneira nós declaramos uma variàvel de nome str, que aponta para um Objecto do tipo String. Poderíamos tê-lo feito da seguinte maneira:
//Uma string sem construtor
String str="Beginner";


Calma ai! O que é isso? Com certeza, foi isso que passou pela sua cabeça. Eu já te explico: Lembra quando eu disse que 'I' é um caractere (char) e "ISTO" é uma cadeia de caracteres, então, "ISTO" é uma string não é? A variàvel str aponta para a String "Beginner". Voltando ao exemplo do carro, o que fizemos agora, é o mesmo que fazer:

//Um exemplo do mesmo tipo
Carro chaser = new Carro();
Carro mark2 = chaser; 


Estamos igualando duas variàveis que apontam para dados do mesmo tipo, ou melhor, para o mesmo Objecto. Percebeu agora? Acho que sim.


Visibilidade de uma variàvel
Se a variàvel for declarada dentro de um método, ela só é visível para esse método. Importa referir que quando declara-se uma variàvel dentro de um método não se pode colocar um modificador de acesso porque automaticamente essa variàvel será privada.

A visibilidade de uma variàvel dentro de uma classe depende do modificador de acesso. O modificador de acesso define quem pode e quem não pode aceder à classe. Por enquanto vamos considerar o modificador public e o modificador private. Quando usamos o modificador public em uma varivel dentro de uma classe estamos dizendo que tal variavel estará visível para outras classes, podendo fazer alterações directas. Quando usamos o modificador private em uma variàvel dentro de uma classe estamos exactamente dizendo o contrário.



1

Princípios Básicos da Linguagem JAVA Parte I

JAVA é uma linguagem de programação orientada a objectos proveniente da Linguagem C++ também oriantada a objectos. A (POO) Programação Orientada a Objectos tem um simples pressuposto: Tudo no mundo é um objecto. Os objectos possuem propriedades e estados, por exemplo: Um carro pode acelerar e travar, pode ter ou não um farol. Existem objectos que surgem a partir de outros, herdando suas características, o que dá-se o nome de Herança, em POO. Um exemplo prático são as pessoas, nascem herdando características como (boca,pernas, braços, etc). Existem casos em que a pessoa tem 21 dedos. A estes casos dá-se o nome de especialização. A Orientação Objectos facilita a modelação de softwares, ao contrário da programação estruturada (Pascal, C).


Em POO os objectos são construídos a partir de classes. Eu disse, construídos porque toda a classe tem um método chamado construtor. Este método é que constrói o objecto para nós. Faz sentido, afinal, não podemos construir algo sem sabermos que material será necessário para tal. os construtores informam-nos sobre o material necessário para construirmos o objecto. Podem existir vários meios de se construir uma mesma coisa, ou seja, vários construtores para uma mesma classe.

Você deve estar pensado:
sempre que eu escrever uma classe, terei que escrever o construtor.


Não precisa. Se você não escrever o construtor, a linguagem java cria um constutor sem parâmetros(requisitos) para sí automaticamente, assim, voce pode criar objectos usando a instrução:

 
Nome_da_classe nome_da_variave;
Um exemplo prático são as String's. Veja o seguinte exemplo:


String nome_completo;


Basta escrever o nome da classe e o nome da variàvel, nós construímos um objecto com o nome da variàvel, ou seja, de acordo com o exemplo ateriormente apresentado, nome_completo é um objecto do tipo String.


Ja que falamos de construtores, por quê não deixar um pouco mais claro o que é um construtor? Vamos a isso.


Um construtor é um método público sem retorno com o nome da classe onde ele foi escrito. Mais adiante eu darei um exemplo claro.


Um programa em Java


Em linguagem Java, só é programa, aquela classe que tiver um método chamado main com a seguinte estrutura:


public static void main(String args[]){


}



Este método não tem retorno de valor, ou seja, o retorno é void.


Se não percebe o que é um método, vou tentar esclarecer-lhe:
Método é aquilo que em linguagem pascal chamamos de procedimentos e funções. Em java um método com retorno void, corresponde a um procedimento em pascal, um método com qualquer outro tipo de retorno corresponde a uma função em pascal.


Toda aquela classe que contiver este método, é um programa. Por quê? Boa pergunta. Na verdade, em linguagem Java, quando um programa é executado, a linguagem procura pelo método main e executa todas as instruções nele contidas. Quando as instruções acabam, o programa termina (se for o caso). Se não contiver o método main, significa que não é um programa.

Tipos Primitivos 
A liguagem Java possui os seguintes tipos primitivos/Tipos valor:

  • Inteiros: byte(8 bits), short(16 bits), int(32 bits) e long(64 bits);
  • Ponto Flutuante: float(32 bits) e double(64 bits);
  • Caracteres: char (16 bits unsigned integer);
  • Booleano: boolean (true e false);
Tipos Object
Esta é a lista infinita de tipos Object da liguagem java:
  • String;
  • Qualquer classe que voce criar;
Case sensitive
A liguagem Java é sensível a maiúsculas e minúsculas, ou seja, em liguagem java, mario é diferente de Mario, que também é diferente de mariO e de maRio. Preste muita atenção para nao escrever Main no lugar de main.


Instrução de Saída de dados
Existem várias instruções para saída de dasos em java, mas, vou apenas mostrar como usar uma instrução

//primeira instrucao
System.out.print(String);
//segunda instrucao
System.out.println(String);



Se quisermos imprimir o texto "bem-vindo ao Java" podemos assim o fazer:

System.out.print("bem-vindo ao Java");
System.out.println("bem-vindo ao Java");



Qual será a diferença?
Quando usamos a primeira instrução, o texto é escrito na consola e o cursor permanece na mesma linha, enquanto que quando usamos a segunda instrução, o cursor passa para a linha seguinte.


Estrutura básica de uma classe

[<modificador_de_acesso>] class <nome_da_classe>{


}

  • O modificador de acesso é opcional e será explicado em futuros artigos do blogue.
  • class - é uma palavra reservada da linguagem JAVA.
  • O nome da classe deve obedecer às regras para a criação de identificadores em java:
  1. não pode ser uma palavra-reservada (palavra-chave);
  2. não pode ser true nem false - literais que representam os tipos lógicos (booleanos);
  3. não pode ser null - literal que represanta o tipo nulo;
  4. não pode conter espaços em brancos ou outros caracteres de formatação;
  5. deve ser a combinação de uma ou mais letras e dígitos UNICODE-16. Por exemplo, no alfabeto latino, teríamos:
    • letras de A a Z (de \u0041 a \u005a);
    • letras de a a z (de \u0061 a \u007a);
    • sublinha _ (\u005f);
    • cifrão $ (\u0024);
    • dígitos de 0 a 9 (de \u0030 a \u0039).
Observação 01: caracteres compostos (acentuados)
{ e } são delimitadores de blocos, o que em pascal chamaríamos de begin e end.

A nossa primeira Classe

class Primeira{

}
Esta é uma simples classe.

O nosso primeiro programa
class Programa{

public static void main(String args[]){

  System.out.println("Nunca fizeste algo tao facil na vida");  
  }

}
Este programa simplesmente exibe a mensagem "Nunca fizeste algo tao facil na vida". Fique a espera do próximo artigo, até a próxima, colegas & amigos.




Referências
http://www.di.ufpe.br/~java/verao/aula2/aula2.html
http://www.devmedia.com.br/conceitos-da-linguagem-java/5341
http://pt.wikibooks.org/wiki/Java/Identificadores