Vetores

Oii. Eu fiz um código para um exercício e gostaria de saber se está correto ou não. Eu usei 5 valores para ser mais fácil de eu ver se está correto ou não
Leia um vetor de 40 posições e acumule os valores do primeiro elemento no segundo, deste no terceiro e assim por diante. Ao final, escreva o vetor obtido

package arrays;
import java.util.Scanner;
public class ex8 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int a[] = new int[5];
int a1 = 0;
int a2 = 0;

for (int i = 0; i < a.length; i++) {
		System.out.println("Digite um valor");
		a[i] = s.nextInt();
		if (i == 0) {
			int aux = a[0];
			a[0] = aux;
		} else {
			a[i] = a[i] + a[i - 1];
		}

	}
	for (int i = 0; i < a.length; i++) {
		System.out.println(a[i]);
	}
}

O que exatamente está acontecendo nessas duas instruções?

Ariadne, seu código está perfeito, funciona direitinho. Testei aqui com os valores 1, 2, 3, 4, e 5 e funcionou, pois o resultado foi o vetor resultante possuir os valores:
1
3
6
10
15

Você pode até deletar essa linha a[0] = aux que funciona da mesma forma.

Antes de testar sua solução fiz meu próprio algorítmo assim:

package vetorAcumulante;

import java.util.Scanner;

public class VetorAcumulante
{
	public static void main(String[] args)
	{
		Scanner s = new Scanner(System.in);
		int a[] = new int[5];
		int valor;
		
		for(int i = 0; i < a.length; i++)
		{
			System.out.println("Digite um valor:");
			valor = s.nextInt();
			
			if(i == 0)
			{
				a[i] = valor;
			}
			else
			{
				a[i] = valor + a[i - 1];
			}
		}
		
		for(int i = 0; i < a.length; i++)
		{
			System.out.println(a[i]);
		}
	}
}

Dê uma olhada nesse código acima e veja que também é uma solução.
Caso tenha alguma dúvida, pode perguntar aqui.
Abraços!