Sams "in 31 days" books are always good, but tbh you couldn't go wrong with just looking at the java.sun.com tutorials, looking through the api and then using other java tutorial pages on the web to get started.
I'd say that you don't have to have a hardcore programming background to get allong with java, as it's quite simple, but of course some sort of programming experience will make the laerning process much easier.