Java – Introdução à linguagem

Após a introdução realizada no nosso primeiro artigo a introduzir a linguagem Java, que pode ser consultado aqui, iremos assumir que o leitor nesta fase já tem o NetBeans ou outro IDE que prefira com o seu primeiro projecto criado! Caso não se verifique, aconselhamos que dê uma rápida vista de olhos ao artigo anterior acima mencionado.

Introdução

 

Os comentários são muito úteis uma vez que, após escrever código, mais tarde o programador pode não se recordar o que faz aquela função/variável ou outra coisa qualquer ou até mesmo se passar o código a outra pessoa, os comentários facilitam a entender o que está escrito. Existem 2 tipos de comentário possível:

  • // – Se colocar duas barras poderá escrever um comentário por linha
  • /*  */ – Poderá escrever um comentário dentro das duas tags, por múltiplas linhas

Exemplo:

public class PrimeiroProjeto {
    // Isto é a minha função main
    public static void main(String[] args) {
        /*
            Estou dentro da função main
            System.out.println() serve para escrever output
            "Olá Mundo" é a string que vai ser escrita
        */
        System.out.println("Olá Mundo");
    }    
}

As variáveis, como nas demais linguagens, são utilizadas para guardar valores. Existem vários tipos de variáveis, sendo que os principais podem ser considerados os seguintes:

  • Inteiro – Guarda valores inteiros
  • Float – Guarda valores reais (exemplo: 0.5)
  • String – Guarda cadeia de caracteres
public class PrimeiroProjeto {
    // Isto é a minha função main    
    public static void main(String[] args) {
        /*
            Estou dentro da função main
            System.out.println() serve para escrever output
            "Olá Mundo" é a string que vai ser escrita
            
            String ola_mundo é a variável que contem a mensagem que quero escrever para output
        */
        String ola_mundo = "Olá Mundo";
        System.out.println(ola_mundo);
    }    
}

As funções são muito utilizadas em Java, principalmente para produzir um código mais limpo. À semelhança de muitas outras linguagens, cada função é responsável por processar o código, enviando para fora o respectivo resultado. Para obter o resulta, é necessário dizer à função qual o tipo de resultado que ela irá retornar. No exemplo em baixo pode ver que existe um “int soma()” que indica que esta função irá devolver um valor do tipo Inteiro. Para devolver um valor real, por exemplo, seria “float soma()”.

public class PrimeiroProjeto {
    public static int soma(int a, int b){
        return a + b;
    }
    public static void main(String[] args) {
        int somatorio = soma(1, 2);
        System.out.println(somatorio);
    }    
}

Introdução às classes

Para que se possa introduzir um conceito novo e muito útil em Java, vamos proceder à explicação das classes. A classe que contém a função main deverá ter sempre código limpo. Quero com isto dizer que deverá ter a declaração da classe main e, poucas mais linhas de código. Agora o leitor pergunta-se, então como faço eu a soma como no exercício anterior?

A resposta é bem simples. No nosso dia-a-dia, que ferramenta costumamos usar para fazer contas? Uma calculadora… Então, porque não criar uma classe com o nome “Calculadora” que vai ser responsável por realizar qualquer conta? Deverá então criar uma classe “Calculadora” como a seguir se demonstra:

criar classe

Dentro da classe calculadora, o código será:

public class Calculadora {
   
   // Esta é a minha função para somar 
   public int soma(int a, int b){
       return a + b;
   }
   // Esta é a minha função para subtrair
   public int subtrai(int a, int b){
       return a - b;
   }    
}

Como é possível verificar, esta calculadora tem duas funcionalidades. Somar e subtrair. Mas, como testá-la?

De volta à classe principal do projecto criado, que é a que contém a função “main”, devemos realizar o seguinte:

public class PrimeiroProjeto {
    
    public static void main(String[] args) {
        /* 
            Criar a minha calculadora dentro da classe main
            vamos criar um objeto do tipo Calculadora que se chama aMinhaCalculadora
        */
        Calculadora aMinhaCalculadora = new Calculadora();
        // vamos à aMinhaCalculadora e chamamos a função soma. Ela devolve um inteiro
        int somatorio = aMinhaCalculadora.soma(1, 2);
        // vamos à aMinhaCalculadora e chamamos a função subtrai. Ela devolve um inteiro
        int subtrair = aMinhaCalculadora.subtrai(1, 2);
        System.out.println("Soma: " + somatorio);
        System.out.println("Subtração: " + subtrair);
    }    
}

Note-se o leitor que quando criámos a classe “Calculadora”, tal como fazemos para declarar uma variável do tipo Inteiro, também podemos declarar uma variável do tipo Calculadora:

int somatorio;
Calculadora aMinhaCalculadora = new Calculadora();

A grande diferença é que para instanciar a classe “Calculadora” precisamos de acrescentar o “new Calculadora()”.

Se o leitor correr o código, irá obter os valores da soma e da subtracção!

Desafio

Acha que entendeu o exercício acima? Então o Tech em Portugues desafia o leitor a completar a classe Calculadora com a multiplicação e a divisão. Deixamos o seguinte template a ser usado e a função para dividir para o leitor pensar (se entendeu os tipos de variáveis, vai reparar que se usar 1 a dividir por 2, o resultado a devolver é 0.5. Como é que podemos retornar um valor que não é inteiro?

public class Calculadora {
   
   // Esta é a minha função para somar 
   public int soma(int a, int b){
       return a + b;
   }
   // Esta é a minha função para subtrair
   public int subtrai(int a, int b){
       return a - b;
   }    
   
   public int multiplica(int a, int b){
       // Coloque aqui o código para multiplicar
   }
   
   /*
        Não esquecer a função para dividir
   */
}

Para dúvidas e questões não hesitem em deixar o vosso comentário!

Fonte das imagens