Why are you using a string? You should always assume a double when dealing with grades. Just make a double array or even better an ArrayList.
returns a primitive double containing the value of the string:
"Returns a new double initialized to the value represented by the specified String, as performed by the valueOf method of class Double."
returns a Double instance, if already cached, you'll get the same cached instance.
"Returns a Double instance representing the specified double value. If a new Double instance is not required, this method should generally be used in preference to the constructor Double(double), as this method is likely to yield significantly better space and time performance by caching frequently requested values."
To avoid the overhead of creating a new Double object instance, you should normally use valueOf