Целочисленный тип:
byte - 1 байт. (-2^7..2^7-1)
short - 2 байта (-2^15..2^15-1)
int - 4 байта (-2^31..2^31-1)
long - 8 байт (-2^63..2^64-1)
Вещественный тип:
float - 4 байт
double - 8 байт //предпочтительней
Что значит "плавающая точка". Если число представляет собой 0.ХХХ, то дробная часть будет значительно более точной, нежели целочисленная. Если же XXXXXXXXX.0 (то бишь много целых, мало дробных), то вся точность сосредоточится на целочисленной части.
Сравнение вещественных чисел.
Их нельзя сравнивать знаком > или <. Сравнение происходит с точностью до какого либо Е (эпсилон).
double a, b;
Math.abs(a-b) < E; // a == b
a - b > E; // a > b
Логический тип:
boolean - занимает 1 байт, но хранит 1 бит. Принимает значение только true или false (0 и 1 не прокатят).
Это примитивные типы данных. Примитивные типы передаются по копии. Объекты же передаются по копии ссылки.