I had two courses of introduction which were pre-reqs to take that my senior year. These courses were in BASIC. While not the best, they got the job done.
It is merely a standardized test, with an accompanying standardized curriculum. How schools decide to teach that curriculum is up to them.
For example, I had to take two semesters of Java before I could take the AP/IB CS class; however, my high school currently allows students to enter AP CS (material unique to International Baccalaureate pushed back to an independent study) straight from Honors Algebra II.
My youngest sister is taking the AP CS exam next month, and I was helping her study a few weeks ago. The first question she asked me (she's taken a semester and a half of AP CS at this point) was: what's the difference between an Array and an ArrayList?
To explain this, I had to go into: primitives, objects, and references; auto-boxing and un-boxing; generics; memory allocation and garbage collection; the different APIs (one uses length, another uses size)...
About 80% of her textbook was stuff like this. Details of the Java language that have very little to do with learning Computer Science. Only about 20% of her textbook as devoted to "algorithms".
For many people this is essential. My young cousin changed his mind about pursuing CS in college because his HS course work focused too much on tedious details. He was not able to perceive what high-level programs are capable of doing and the power programming as a medium of creative expression. Its a big shame.
I'd much rather the course be taught in a language more amenable to teaching computer science (Python, perhaps?). But if it must be Java, better some CS education than none at all.