Only Java 6 comes on Snow Leopard. I copied Java 5 and Java 1.4.2 over from my Leopard backup. Java 5 works fine. I haven't tried 1.4.2 (and probably won't need to). I put them in /usr/local. Anything in /usr/local should be left alone/preserved by any Mac OS X update. The downside is they don't show up in Java Preferences, even though I created the appropriate soft links in /System/Library/Frameworks/JavaVM.framework/Versions. You can instead move them to the Versions directory, but you might need to add them back after a system update.
The 10.6.1 update did not step on any older jdks I had in the Versions directory. I had them there originally and only recently moved them to /usr/local