Java vs. C++

excerpted from "Java Software Solutions" by Lewis & Loftus
Appendix I, pp. 609-614

Java versus C++: Primitive types
Java C++
Two type categories. Various type categories.
All nonprimitive types are objects. Separate types for structs, unions, enums, and arrays.
All numeric types are signed. Signed and unsigned numeric types.
All primitive types are a fixed size for all platforms. Primitive type size varies by platform.
16-bit Unicode characters. 8-bit ASCII characters.
Boolean data type primitive. No explicit boolean data type.
Conditions must be boolean expressions. Integer results are interpreted as boolean conditions.
Variables are automatically initialized. No automatic initialization of variables.