Базовые типы

Базовые типы


Их в Java 8:
  • boolean;
  • целочисленные: byte, char, short, int, long;
  • вещественные: float, double.

Кроме того, есть ключевое слово void — в java оно типом не является и может использоваться только перед именем функции, указывая, что она ничего не возвращает.

boolean —  true/false, 
byte — -128..127 (1 байт), 
char — 0..65536 (2 байта), 
short — -32768..32767 (2 байта).
int  можно запихать числа до 2 с небольшим миллиардов (4 байта), 
long — до 9*1018 (8 байт).
float - 4 байта
double - 8 байт

Как вы видите, единственный беззнаковый тип — char. В нём хранятся символы, причём сразу в Unicode.

Все эти типы передаются исключительно по значению
byte x = 100;
byte y = 100;
int i = x + y;

вы получите именно 200, а не что-то ещё — переменные будут автоматически приведены к нужному типу. 
Есть несколько способов задавать значение целочисленным переменным, например:

byte a;
a = 1_2; //12, _ не влияет ни на что
a = 07;  //восмирично
a = 0x7; //hex
a = 0b1; //двоично
a = 'a'; //по коду символа
double b = 10_1E3; // экспоненциальное представление 

Эти типы называются базовыми или примитивными, они не могут быть унаследованы, да и вообще не являются объектами в Java. Никакой информации о сущности такого типа кроме его значения мы получить не можем. 

Операции с базовыми типами


Что мы можем с ними делать?
  • присваивать значение через =;
  • сравнивать через == и != (не-равно).

Для всех кроме boolean (но даже для char):
  • инкремент/декремент через ++ / --;
  • увеличивать/уменьшать/умножать/делить очевидными способами (деление — /);
  • находить остаток от деления через %;
  • (кроме float/double) сдвигать используя >> и <<;
  • (кроме float/double) применять двоичную логику через &, |, ^ (xor), ~ (не) .

Для boolean — &&, ||, ^, ! (не).





Оригинал: http://habrahabr.ru/post/49582/

Комментариев нет:

Отправить комментарий