Найти тему
Ну что, нашКОДим?! =)

Целочисленные типы данных

Оглавление

В Java, для хранения целочисленных значений есть целых четыре типа данных. Это byte, short, integer, long. Все эти типы данных являются знаковыми, то есть могут принимать как положительные, так и отрицательные значения.

byte smallest = 127;

short small = 32766;

int ordinary = 123456789;

Основная разница у них в том, сколько памяти они занимают. И соответственно какой диапазон значений могут принимать. От самого маленького byte размером 1 байт, и до long размером в 8 байт. Зачем и почему так сделано. Для того, что бы у программиста была возможность выбирать подходящий тип данных под конкретную задачу. К примеру, если диапазон ваших данных не превышает 50 значений, и вам необходимо пересылать эти данные большому количеству потребителей, то есть смысл использовать byte в качестве типа данных. А если вам надо хранить к примеру расстояние, то есть смысл использовать тип long . К примеру:

byte typeOfItem = 14;

long veryLong = 3_000_000_000_000_000_000L;

Стандартным типом данных для всех числовых литералов является integer . Литерал - это особый способ записи того или иного значения. По этому, для записи больших чисел которые больше, чем максимальное значение integer и вмещаются только в тип long , необходимо использовать суффикс L после числа.

long largest = 123456789123L;

Типы данных чисел с плавающей точкой.

В Java, для хранения значений чисел с плавающей точкой есть два элементарных типа данных. Это float , и double . Эти типы данных так же являются знаковыми, то есть могут принимать как положительные, так и отрицательные значения. Основное отличие этих типов в том, что они имеют разный размер в памяти, и из-за этого могут хранить разное количество знаков после запятой.

float - это тип данных одинарной точности. Может хранить без округления до 7 знаков после десятичной точки. Литералы этого типа данных обязаны заканчиваться буквой F или f .

float singlePrecision = 0.123456789f;

double - тип данных двойной точности. Может хранить без округления до 16-17 знаков после

десятичной точки. Литералы этого типа данных могут заканчиваться буквой D или d .

double doublePrecision = 0.123456789012345678;

Стандартным типом данных для всех числовых литералов с плавающей точкой, является тип данных double . По этому если вы хотите указать, что это тип float , вы просто обязаны указать суффикс F или f .

Операции / Operators

Над переменными можно проводить разные операции. Операции - это такие действия, которые некоторым образом изменяют значение переменной или выражения. Типы операций, а так же их смысл, определяются в зависимости от типа данных. К примеру операция + для целых чисел означает математическое сложение, а для строк - соединение двух строк в одну. Операция - - это вычитание одного числа от другого, или смена знака числа, а для строк она вообще не определена.

Прежде чем я продолжу, я хочу дать определение некоторым новым терминам.
Операнд - это некий объект, к примеру число, над которым применяется операция. Операндом в языке программирования может быть переменная, константа, метод, и выражение.
Унарные операции - те, которые применяются только к одному операнду. Таких операций в Java всего несколько, это, к примеру, операция смены знака числа (-2), или логического отрицания (солнечно = !дождливо).
Бинарные операции - это такие операции, которые применяются только к двум операндам. Все бинарные операции являются инфиксными, то есть такими, которые записываются между операндами. Это все остальные операции, такие как, к примеру: сложение, вычитание, сравнение, логическое ИЛИ, и прочие.
Префиксные операции - это такие унарные операции, которые ставятся перед операндом. Примеры: Операция смены знака числа, операция логического отрицания.

Все операции в Java делятся на несколько категорий: присваивания, математические, сравнения, логические, битовые, приведения типа, и другие.

Операция присваивания

Для определения значения переменной используется операция присваивания. С левой стороны задается имя переменной, с правой стороны значение. // тип, имя, присвоить, значение

int a;

a = 42;

int b = a;

float c = b + 0.42f;

Операция пример описание

=

a = 20; b = 30;

a = b = 40 + 20;

a = (b = 40) + 20;

a = a - 40 * 2;

a = Math.abs(a);

присваивание значения

переменной

*=

/=

%=

+=

-=

a *= 2; // a = a * 2;

a %= 2; // a = a % 2;

a += 2 + 3; // a = a + (2 + 3);

a -= 2 * 3; // a = a - (2 * 3);

a /= 2 + 3; // a = a / (2 + 3);

Все эти операции являются сокращением от полной записи:

a = a oper (b);

что эквивалентно

a oper= b;

Математические операции

Для всех числовых типов данных, в языке программирования Java, определены стандартные математические операции: сложение, вычитание, умножение, деление, и получения остатка от деления.

int add = 3 + 4; // сложение

int sub = 3 - 4; // вычитание

int mult = 3 * 4; // умножение

// порядок вычисления можно контролировать круглыми скобками

int mult2 = 3 + 4 * 2;

int mult3 = (3 + 4) * 2;

// целочисленное деление с усечением дробной части

int div = 7 / 3;

// деление с сохранением дробной

// части. Один из операндов должен быть числом

// (или переменной) с типом чисел с плавающей точкой.

float divF = 7 / 3.0f;

// остаток от деления

int mod = 7 % 3;

Кроме всего этого, Java поддерживает большое количество других математических действий, которые находятся в объекте Math . К примеру abs() , sin() , max() , sqrt() , floor() , и так далее.

Наука
7 млн интересуются