Buenas PatAs, ten en cuenta que la entrega es sobre arrays unidimensionales, he corregido el título porque habías puesto unidimensionables

Ejercicio 1 correcto
Ejercicio 2 correcto
La observación //Se condiciona i<2 porque el ejercicio indica arrays de 2 elementos. Lo correcto es condicionar con (nombre_del_array.length) es adecuada, en realidad podrías haber declarado una variable numeroDeAlumnos = 2 y eso usarlo como índice, de ese modo podrías variar el funcionamiento del programa para que funcione con el número de alumnos que definieras en esa línea, sin tener que cambiar otras cosas.
Otra observación: yo hubiera puesto los nombres de los arrays en singular, es decir en lugar de
String[] alumnos = new String[2];
double[] notas = new double[2];
String[] alumno = new String[2];
double[] nota = new double[2];
Así podrías decir nota[1] vale 5.77 en lugar de notas[1] vale 5.77 Esto no tiene importancia pero es en general bueno usar nombres en singular cuando sea posible
Salu2