Java has two main data types: primitive data types like int and float which were discussed in a powerpoint, and objects which are non-primitive types like String. While String is commonly used like a data type, it is actually an object in Java rather than a primitive data type.