Типы данных в java

View more categories:

1- Обзор видов данных

Любой язык программирования имеет набор вида данных, виды данных являются базовыми, и они довольно похожи для всех языков. Все виды данных созданы из bit, поэтому я представляю отдельную статью про историю  bit и byte. Мой совет вам прочитать ее перед тем, как продолжить с данной статьей.
Java имеет 2 вида данных:
  • Примитивные виды данных (Primitive Data Types)
  • Ссылочные виды данных (Reference Types)
Существует 8 видов примитивных данных(Primitive Data type) это: boolean, byte, char, short, int, long, float, double.
Вид данных Значение по умолчанию Размер
boolean false 1 bit
char '\u0000' 2 byte
byte 0 1 byte
short 0 2 byte
int 0 4 byte
long 0L 8 byte
float 0.0f 4 byte
double 0.0d 8 byte
  • Вид logic: boolean.
  • Целочисленные виды (integer): byte, short, char, int, long.
  • Виды реальных чисел (real number) (Так же называются плавающей запятой (floating point)): float, double.
Виды ссылок, это объекты созданные с помощью Constructor классов.

2- byte

1 byte это 8 bit расположенных последовательно друг с другом в памяти компьютера. Каждый  bit это бинарное число 0 или 1. Java с названием  "byte" для целочисленного вида (integer) с малым диапазоном (Размер 1 byte).
Первый  bit в ряди состоящей из 8 bit со значением 0 или 1.
  • Если это 0, Java считает его + (Представляет положительные числа)
  • Если это 1, Java считает его - (Представляет отрицательные числа)
Со следующими 7 bit вы можете представить число от 0 до127. Отсюда вы можете дедуктировать вид  byte в Java с диапазоном [-127, 127].
Но подождите, он должен быть [-128, 127], почему?

Почему наименьшее число вида byte в Java является -128?

Если по правилам первый  bit имеет значение 0 эквивалентное знаку +, значение 1 эквивалентное знаку -, то у нас есть 2 способа для представления числа 0 (Смотрите изображение).
Поэтому двоиная последовательность  "1 0 0 0 0 0 0" должна быть рассмотрена, как наименьшее число вида данных byte в  Java, она представляет  -128.

3- boolean

boolean является самым простым видом данных, имеет размер 1 bit. Имеет 2 значения это  true и false.
Значение по умолчанию для вида  boolean это  false.
// Объявить переменнуюю с названием 'valid', вида boolean.
// Она будет иметь значение false (По умолчанию).
boolean valid;


// Объявить переменнуюю с названием 'active', вида boolean.
// Значение true.
boolean active = true;

4- char

Несмотря на то, что  "char" является 4 первыми символами слова  "Character" (Символ), но вид  char в Java используется для хранения целыъ неотрицательных чисел (Non-negative integers) с размером 2 byte. Он так же используется для представления одного символа  Unicode, потому что каждый символ соответствует определенному числу (Данное число понимается как код символа).
Потому что  char является целым неотрицательным числом, размер 2 byte, поэтому его диапазон это [0, 2*16-1]  ( [0, 65535] ).
Когда  char понимается как символ  Unicode, наименьший символ является  '\u0000' (Код 0), и наибольший символ является  '\uffff' (Код 65535).

Что такое символ Unicode?

  • TODO

5- short

short это вид данных для представления целого числа 2 byte (16 bit), включая целое отрицательное число.
  • Наименьшим значением является -32,768 (-2^15) и наибольшим значением является 32,767 (2^15 -1).
  • Значением по умолчанию является 0.
** Примечание: Смотрите больше объяснение для определения положительного или отрицательного числа в части вида данных byte.

6- int

Вид данных  int используется для представления целого числа с размером 4 byte (32 bit).
  • Наименьшее значение: -2,147,483,648 (-2^31)
  • Наибольшее значение: 2,147,483,647 (2^31 -1)
  • Значение по умолчанию 0.
В  Java, вид данных  int считается видом значения пол умолчанию для целых чисел. Поэтому, если вы напишете число  100, Java создаст   4 byte регион в памяти для хранения. А если вы хотите, чтобы Java создал  8 byte регион памяти для хранения числа 100, вам нузно написать 100L. ( long является целым числом вида  8 byte, представленный в нижней части).
int a = 100;

7- long

Вид данных long используется для представления целых чисел с размером до 8 byte (64 bit).
  • Наименьшее значение это -9,223,372,036,854,775,808.(-2^63)
  • Наибольшее значение это 9,223,372,036,854,775,807. (2^63 -1)
  • Данный вид используется когда нужен диапазон значений шире чем int.
  • Значением по умолчанию является 0L.
// You need to add 'L' immediately after 100
// so that Java creates an 8 byte memory area to store 100
long a = 100L;

8- float

Вид данных  float используется для представления реальных чисел (real number) с размером 4 byte (32 bit).

  • Наименьшее значение: -3.4028235 x 10^38
  • Наибольшее значение: 3.4028235 x 10^38
  • Значение по умолчанию 0.0f
Пример:
float value = 2.5f;

9- double

Вид данных  double используется для представления реальных чисел (real number) с размером 8 byte (64 bit). Это вид по умолчанию для вида реальных чисел.
  • Наименьшее значение: -1.7976931348623157 x 10^308
  • Наибольшее значение:  1.7976931348623157 x 10^308
  • Значение по умолчанию 0.0d
Пример:
double a = 2.5d;

// Так как double является видом по умолчанию для реальных чисел,
// Вы можете написать кратко:
double b = 2.5;

10- Ссылочный вид (Reference Type)

В  Java вид данных создается с помощью комбинации примитивных видов, которые называются ссылочным видом (Reference type). Наиболее распространенный ссылчный вид который используется это  String, он является комбинацией символов.
Ссылочные виды созданы на основании класса. Класс (class) похож на план (blueprint) для определения ссылочного вида.
class Address  {
    String address;
    String cityName;
}

class Student {

   String fullName;

   int age;

   Address address;  
   
}

View more categories: