GrabDuck

Основы программирования на Java

:

Последнее обновление: 30.10.2015

Одной из основных особенностей Java является то, что данный язык является строго типизированным. А это значит, что каждая переменная представляет определенный тип и данный тип строго определен.

Итак, рассмотрим систему встроенных базовых типов данных, которая используется для создания переменных в Java. А она представлена следующими типами.

  • boolean: хранит значение true или false

  • byte: хранит целое число от -128 до 127 и занимает 1 байт

  • short: хранит целое число от -32768 до 32767 и занимает 2 байта

  • int: хранит целое число от -2147483648 до 2147483647 и занимает 4 байта

  • long: хранит целое число от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 и занимает 8 байт

  • float: хранит число с плавающей точкой от -3.4*1038 до 3.4*1038 и занимает 4 байта

  • double: хранит число с плавающей точкой от ±4.9*10-324 до ±1.8*10308 и занимает 8 байт

  • char: хранит одиночный символ в кодировке Unicode и занимает 2 байта, поэтому диапазон хранимых значений от 0 до 65536

Объявление переменных

Переменные объявляются следующим образом: тип_данных имя_переменной. Например, int x;. В этом выражении мы объявляем переменную x типа int. То есть x будет хранить некоторое число не больше 4 байт.

В качестве имени переменной может выступать любое произвольное название, которое удовлетворяет следующим требованиям:

  • имя может содержать любые алфавитно-цифровые символы, а также знак подчеркивания, при этом первый символ в имени не должен быть цифрой

  • в имени не должно быть знаков пунктуации и пробелов

  • имя не может быть ключевым словом языка Java

Кроме того, при объявлении и последующем использовании надо учитывать, что Java - регистрозависимый язык, поэтому следующие объявления int num; и int NUM; будут представлять две разных переменных.

Объявив переменную, мы можем тут же присвоить ее значение или инициализировать ее. Инициализация переменных представляет присвоение переменной начального значения, например: int x=10;. Если мы не проинициализируем переменную до ее использования, то мы можем получить ошибку, например, в следующем случае:

int x;
System.out.println(x);

Некоторые варианты объявления переменных:

boolean active = true;
int x;
int y=10;
byte num = 50;
char c='s';
double d = 1.5;
int a=4;
int z=a+5;

Работа с разными системами счисления целых чисел

Как правило, значения для целочисленных переменных задаются в десятичной системе счисления, однако мы можем применять и другие системы исчисления. Например:

int num111 = 0x6F; // 16-тиричная система, число 111
int num8 = 010; // 8-ричная система, число 8
int num13 = 0b1101; // 2-ичная система, число 13

Для задания шестнадцатеричного значения после символов 0x указывается число в шестнадцатеричном формате. Таким же образом восьмеричное значение указывается после символа 0, а двоичное значение - после символов 0b.

Использование суффиксов

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

float fl = 30.6f;
double db = 30.6;

И хотя в данном случае обе переменных имеют практически одно значения, но эти значения будут по-разному рассматриваться и будут занимать разное место в памяти.

Символы и строки

В качестве значения переменная символьного типа получает одиночный символ, заключенный в ординарные кавычки: char ch='e';. Кроме того, переменной символьного типа также можно присвоить целочисленное значение от 0 до 65536. В этом случае переменная опять же будет хранить символ, а целочисленное значение будет указывать на номер символа в таблице символов Unicode. Например:

char ch=102; // символ 'f'
System.out.println(ch);

Еще одной формой задания символьных переменных является шестнадцатеричная форма: переменная получает значение в шестнадцатеричной форме, которое следует после символов "\u". Например, char ch='\u0066'; опять же будет хранить символ 'f'.

Символьные переменные не стоит путать со строковыми, 'a' не идентично "a". Строковые переменные представляют объект String, который в отличие от char или int не является примитивным типов в Java:

String hello = "Hellow...";
System.out.println(hello);

Константы

Переменные можно объявить один раз в программе и затем несколько раз присваивать им различные значения:

int num=5;
num=57;
num=89;

Но в Java также имеются константы. В отличие от переменных константам можно присвоить значение только один раз. Константа объявляется также, как и переменная, только вначале идет ключевое слово final:

final int num=5;
num=57; // так мы уже не можем написать, так как num - константа

Константы позволяют задать такие переменные, которые не должны больше изменяться. Например, если у нас есть переменная для хранения числа pi, то мы можем объявить ее константой, так как ее значение постоянно.