Переменная Java — это часть памяти, которая может содержать значение данных, она имеет тип данных.
Переменные обычно используются для хранения информации, необходимой вашей Java-программе для выполнения своей работы. Это может быть информация любого типа, от текстов, кодов(например, кодов стран, кодов валют и т. д.) До цифр, временных результатов многоступенчатых расчетов и т. д.
В приведенном ниже примере кода метод main() содержит объявление единственной целочисленной переменной с именем number. Значение сначала устанавливается равным 10, а затем добавляется 20.
public class MyClass {
public static void main(String[] args) {
int number = 10;
number = number + 20;
}
}
Типы переменных Java
В Java есть 4 типа переменных:
- Нестатические поля;
- Статические поля;
- Локальные;
- параметры.
- Нестатическое поле — это переменная, которая принадлежит объекту. Объекты сохраняют свое внутреннее состояние в нестатических полях. Нестатические поля также называются переменными экземпляра, поскольку они принадлежат экземплярам(объектам) класса.
- Статическое поле — это переменная, которая принадлежит классу. Статическое поле имеет одинаковое значение для всех объектов, которые обращаются к нему. Статические поля также называются переменными класса.
- Локальная переменная — это переменная, объявленная внутри метода. Она доступна только внутри метода, который ее объявил.
- Параметр — это переменная, которая передается методу при вызове метода. Параметры также доступны только внутри метода, который их объявляет, хотя им присваивается значение при вызове метода.
Объявление переменной Java
Как именно объявляется переменная, зависит от типа(нестатическая, статическая, локальная, параметр).
Вот стандартный код как объявить переменную в Java:
type name ;
Вместо слова type вы пишете тип данных. Аналогично, вместо слова name вы пишете имя.
Вот пример с именем myVariable типа int.
int myVariable;
Вот примеры инициализации всех примитивных типов данных в Java:
byte myByte; short myShort; char myChar; int myInt; long myLong; float myFloat; double myDouble;
Объявление типов объектов:
Byte myByte; Short myShort; Character myChar; Integer myInt; Long myLong; Float myFloat; Double myDouble; String myString;
Обратите внимание на заглавную первую букву типов объектов.
Когда переменная указывает на объект, она называется «ссылкой» на объект.
Назначение
Присвоение значения переменной следует этому шаблону:
variableName = value ;
Вот три конкретных примера, которые присваивают значения трем различным переменным с разными типами данных:
myByte = 127; myFloat = 199.99; myString = "This is a text";
Первая строка назначает байтовое значение 127 байтовой переменной с именем myByte. Вторая строка присваивает значение с плавающей точкой 199.99 переменной с плавающей точкой с именем myFloat. Третья строка присваивает значение String(текст), это текст String с именем myString.
Вы также можете присвоить значение уже тогда, когда она объявлена. Вот как это делается:
byte myByte = 127; float myFloat = 199.99; String myString = "string value";
Чтение
Вы можете прочитать значение переменной, написав ее имя везде, где она может быть использованы в коде. Например, в качестве правой части присваивания, в качестве параметра для вызова метода или внутри арифметического выражения. Например:
float myFloat1 = 199.99; float myFloat2 = myFloat1; // right hand side value in assignment float myFloat3 = myFloat2 + 123.45; // as part of arithmetic expression System.out.println(myFloat3); // as parameter in method call.
Правила и соглашения среди разработчиков
Существует несколько правил и соглашений, касающихся именования переменных:
- Имена чувствительны к регистру. Имя money не совпадает с Money или MONEY.
- Должны начинаться с буквы или символа $ или _.
- После первого символа, имя также может содержать цифры(помимо букв, символа $ и символа _).
- Не могут быть равны зарезервированным ключевым словам в Java. Например, слова int или for являются зарезервированными.
Вот несколько допустимых примеров имен:
myvar myVar MYVAR _myVar $myVar myVar1 myVar_1
Есть также несколько соглашений по именованию. Этим соглашениям нет необходимости следовать. Однако многие разработчики привыкли к этим соглашениям. Поэтому им будет проще читать ваш код, если вы будете следовать им, и вам будет легче читать код других разработчиков. Соглашения:
- Пишутся в нижнем регистре.
- Если состоят из нескольких слов, каждое слово после первого слова имеет свою первую букву, написанную в верхнем регистре. Например, variableName или bigApple.
- Даже если это разрешено, не начинайте с $ или _.
- Статические конечные поля(константы) имеют имена в верхнем регистре, обычно с использованием _ для разделения слов в имени. Например, EXCHANGE_RATE или COEFFICIENT.
Вывод
Из Java 10 можно заставить компилятор вывести тип локальной переменной, посмотрев, какой фактический тип назначен при объявлении. Это усовершенствование ограничено локальными переменными, индексами в циклах for-each и объявленными в циклах for.
Чтобы увидеть, как работает вывод такого типа, сначала приведем пример:
String myVar = "A string!";
В Java 10 больше нет необходимости указывать тип при объявлении, если тип можно вывести из значения, присвоенного переменной.
var myVar = "A string!";
Обратите внимание на ключевое слово var, используемое перед именем вместо типа String. Из присвоенного значения компилятор может видеть, что тип переменной должен быть String, поэтому вам не нужно писать это явно.
Вот еще примеров:
var list = new ArrayList(); var myNum = new Integer(123); var myClassObj = new MyClass();
