Does that mean that when I entered "java program.class" it was searching for a class named program.class and would have run a file names program.class.class if it found it in the classpath? Can a class have a period in the name. I don't think so, but I am not sure.
No, class names can't contain dots or most other special characters; google for "JLS" (the Java Language Specification) if you're interested in the gory details.
"java program.class" would actually look for a class called "class" that's part of a package called "program" - the dot serves as separator between package names (and between package name and class name). Those details can be found in the Java Tutorial:
http://java.sun.com/docs/books/tutorial/java/package/index.html (which
you should bookmark if you haven't done so yet, it's a good introductory source for all kinds of things Java).