Primitve Types

A decent description of the concept of types can be found in the Java Tutorial

A cheesy comparison of the types follows

booleantrue or false (1 bit) 
charUnicode character (16 bit)  
byteInteger (8 bit) 
shortInteger (16 bit)  
intInteger (32 bit)    
longInteger (64 bit)        
floatDecimal (32 bit)    
doubleDecimal (64 bit)        

Note that double and long are twice as large as types found in other languages (Visual C++ long is only 32 bits) so working with large types will be memory intensive and usually processor intensive. However during simple calculations it should be noted that Java defaults to integers for int literals and double for decimal literals