Η Java δεν χρησιμοποιειται διοτι ειναι πολυ αργη συγκριτικα με την C++ και ειδικα με την C. Σκεψου το καπως ετσι:
Ευκολια στο γραψιμο: C < C++ < Java
Ταχυτητα: Java < C++ < C
Οσο πιο ευκολη ειναι μια γλωσσα για τον ανθρωπο, τοσο πιο δυσκολη για την μηχανη. Βεβαια αυτος ειναι ενα πολυ απλοικος τροπος για να το περιγραψω, και μην το παιρνεις τοις μετρητοις αλλα σε γενικες γραμμες ισχυει. Γι' αυτο τα λειτουργικα συστηματα -που ειναι τεραστια προγραμματα- ειναι γραμμενα σε C, γιατι αν ηταν σε αλλη γλωσσα θα ηταν πολυ πιο αργα, και γι' αυτο οι web εφαρμογες ειναι γραμμενες σε Java, γιατι ειναι "πολυ μικρα" προγραμματα.
Παντως οσον αφορα την Java, ο καθηγητης σου εχει δικιο, κι εγω οταν ειπα σε εναν γνωστο μου -ο οποιος κανει το διδακτορικο του πανω στην Διαχειριση Πληροφοριας- οτι δεν περασα Java και οτι δεν μου αρεσει και πολυ, με εβρισε. Μου τονισε πως οπου κι αν παω θα μου ζητησουν Java και πως οχι μονο να μαθω, αλλα να μαθω πολυ καλα! Και αυτο προκειται να κανω.
Κατα τα αλλα σου προτεινω να ακολουθησεις την σειρα που κανουν και τα πανεπιστημια, δλδ C -> C++ -> Java (αφου ξερεις ηδη Java, κανε Python), δεν μπορει, κατι θα ξερουν παραπανω.
Τελος, οσον αφορα τα μαθηματικα, δεν θα ελεγα πως χρειαζονται τρελα μαθηματικα. Κυριως καλη κατανοηση της αλγεβρας (Πινακες κ.τ.λ). Αλλα αν σπουδασεις οτιδηποτε σχετικο με Computer Science, θα σου μαθουν αλγεβρα απο το πρωτο 6μηνο!

Μαθηματικα καλα χρειαζεσαι αν θελεις να ασχοληθεις με 3D γραφικα. Εκει χρειαζεσαι, μαθηματικη αναλυση, κωνικες τομες και αλλα... Με λιγα λογια, αν θελεις να γινεις 3D Game Designer ειναι απαραιτητα τα καλα μαθηματικα.