Java/Типы данных: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 8:
# Логический - <tt>boolean</tt>
 
=
=== Целочисленные типы ===
 
Целочисленные типы различаются между собой только диапазонами возможных значений, например, для хранения номера элемента в таблице Менделеева пока хватит переменной типа <tt>byte</tt>.
{| class="wikitable"
|-
! Тип !! Размер (бит) !! Диапазон
|-
| <tt>byte</tt> || 8 бит || от -128 до 127
|-
| <tt>short</tt> || 16 бит || от -32768 до 32767
|-
| <tt>char</tt> || 16 бит || беззнаковое целое число, представляющее собой символ UTF-16 (буквы и цифры)
|-
| <tt>int</tt> || 32 бит || от -2147483648 до 2147483647
|-
| <tt>long</tt> || 64 бит || от -9223372036854775808 до 9223372036854775807
|}
 
Пример использования целочисленных типов:
<source lang="java">
public class IntegralTypes {
public static void main(String[] args) {
byte b = 216; // Вот тут будет ошибка, т.к. у нас диапазон от -128 до 127!
short s = 1123;
int i = 64536;
long l = 2147483648L; // Постфикс l или L обозначает литералы типа long
System.out.println(i);
System.out.println(b);
System.out.println(s);
System.out.println(l);
}
}
</source>
 
Символы тоже относят к целочисленным типам из-за особенностей представления в памяти и традиций.
<source lang="java">
public class Characters {
public static void main(String[] args) {
char a = 'a', b, c = 'c';
b = (char) ((a + c) / 2); // Можно складывать, вычитать, делить и умножать
// Но из-за особенностей арифметики Java результат приходится приводить к типу char явно
System.out.println(b); // Выведет символ 'b'
}
}
</source>
 
=== Типы с плавающей точкой ===