1
resposta

[Sugestão] Loja de Roupas

Segue meu code:

public class LojaRoupas {
    static void main(String[] args) {
        int [] valores = {10,20,30,40,50};

        int soma = 0;// aqui é colocado esse "soma" porque
        // o resultado da soma ele tem que colocar dentro de algo

        for (Integer n : valores) {
           soma += n.intValue();
           // o "+=" ele adiciona

        }
        System.out.println("Soma total é:"+ soma);

    }
}

Confesso que ainda não tinha visto o Integer por aqui.

1 resposta

Olá, Guilherme! Como vai?

Excelente prática! Como Analista de Suporte, você sabe que entender como o computador armazena e processa dados é fundamental para resolver problemas.

Sua lógica está correta, e o uso desse "algo" para guardar o resultado é o que chamamos na programação de Acumulador.


Desvendando o Integer e o intValue()

É muito comum essa confusão no início! No Java, existe uma diferença importante entre o tipo primitivo int e a sua classe "embrulho" (Wrapper), o Integer.

  • int (Primitivo): É apenas um valor numérico simples. É rápido e ocupa pouco espaço na memória.
  • Integer (Objeto): É uma classe que "embrulha" o int. Como é um objeto, ele possui métodos (como o seu intValue()) e pode ser usado em listas mais complexas (como ArrayList).

Uma curiosidade: O Autoboxing

No Java moderno, você nem precisaria usar o .intValue(). O Java faz o que chamamos de Unboxing automático. O seu código poderia ser escrito de forma ainda mais direta:

for (int n : valores) {
    soma += n; // O Java entende que você quer somar o valor numérico
}

Dica de ouro para o dia a dia

Como você usou um Enhanced For Loop (também conhecido como for-each), o seu código ficou muito limpo e legível. Essa é a forma preferida de percorrer coleções quando você não precisa saber a posição (o índice) de cada elemento, apenas o valor dele.

Parabéns pela curiosidade em pesquisar sobre o Integer. É esse tipo de detalhe técnico que separa quem apenas "copia código" de quem realmente entende o que está acontecendo por baixo do capô da JVM!

Espero que possa ter lhe ajudado!

Uma pergunta: Se essa loja de roupas decidisse dar um desconto de 10% no valor total apenas se a soma passasse de 100 reais, onde você colocaria essa verificação no seu código? Dentro ou fora do laço for?