Simplificação de Exercício Java

Então, eu montei este algoritmo com a ajuda de uma amigo mais experiente.
O objeto neste exercício é, de 3 números fornecidos pelo usuário, mostrar o maior e o menor deles.
Eu não tenho uma lógica muito boa e queria ver algum outro método mais simplificado e pelo menos se puderem explicando ao menos um pouco o passo à passo.

import java.util.Scanner;

public class Atividade1 {

    public static void main(String[] args) {
     
        int[] vetor  = new int[3];
        
        Scanner teclado = new Scanner(System.in);
        
        for (int i = 0; i < vetor.length; i++) {
            System.out.print("Digite o " + (i+1) + "º número: ");
                vetor[i] = teclado.nextInt();
        }
        
        int menor = Integer.MAX_VALUE;
        for (int i = 0; i < vetor.length; i++) {
            if(vetor[i] < menor) {
                menor = vetor[i];
            }
        }
        
        System.out.println("O menor valor é: " + menor);
        
        int maior = Integer.MIN_VALUE;
        for (int i = 0; i < vetor.length; i++) {
            if (vetor[i] > maior) {
                maior = vetor[i];
            }
        }
        
        System.out.println("O maior valor é: " + maior);
        
        }
    }
/*
* Importação da classe Scanner
*/
import java.util.Scanner;

/*
*	Declaração da classe Atividade1
*/
public class Atividade1 {
	/*
	* Declaração do método main.
	* O método principal é semelhante à função principal em C e C ++; é o ponto de entrada para o 
	* seu aplicativo e, posteriormente, invocará todos os outros métodos exigidos pelo seu programa.
	*/
	public static void main(String[] args){
		/*
		* Declaração de um vetor inteiro de 3 posições
		*/
        int[] vetor  = new int[3];
        
		/*
		* Instanciação da classe Scanner
		*/
        Scanner teclado = new Scanner(System.in);
        
		/*
		* Estrutura de repetição for
		* for(inicialização de variável local; teste; incremento da variável local)
		*/
        for(int i = 0; i < vetor.length; i++){
            System.out.print("Digite o " + (i+1) + "º número: ");
				/*
				* Expressão de atribuição do dado inteiro lido por meio do scanner ao vetor
				*/
                vetor[i] = teclado.nextInt();
        }
        
		/*
		* Define a variável inteira menor com o maior valor inteiro possível
		*/
        int menor = Integer.MAX_VALUE;
        for(int i = 0; i < vetor.length; i++){
			/*
			* Testa se o valor atual do vetor é menor que o valor da variável menor. Caso seja, 
			* atribui o valor do vetor à variável menor.
			*/
            if(vetor[i] < menor){
                menor = vetor[i];
            }
        }
        
        System.out.println("O menor valor é: " + menor);
        
		/*
		* Define a variável inteira maior com o menor valor inteiro possível
		*/
        int maior = Integer.MIN_VALUE;
        for(int i = 0; i < vetor.length; i++){
			/*
			* Testa se o valor atual do vetor é maior que o valor da variável maior. Caso seja, 
			* atribui o valor do vetor à variável maior.
			*/
            if (vetor[i] > maior) {
                maior = vetor[i];
            }
        }
        
        System.out.println("O maior valor é: " + maior);
    }
}

1 - Integer.MAX_VALUE: A constant holding the maximum value an int can have, 2^(31)-1.

“Uma constante que mantém o valor máximo que um inteiro pode assumir, ou seja, 2^(31)-1 ‘Dois elevado a trigésima primeira potência menos 1’ = 2.147.483.647”

2 - Integer.MIN_VALUE;: A constant holding the minimum value an int can have, -2^31.

“Uma constante que mantém o valor mínimo que um inteiro pode assumir, ou seja, -2^31 ‘Menos dois elevado a trigésima primeira potência’ = -2.147.483.648”

1 curtida