Что такое присвоение java

Операторы назначения Java

Описание

Присвоение значения переменной кажется достаточно простым; Вы просто назначаете материал с правой стороны от ‘=’ для переменной слева. Ниже оператора 1 присваивается значение 10 переменной x, а оператор 2 создает объект String с именем name и присваивает ему значение «Amit».

Назначение может быть разных типов. Давайте обсудим каждый подробно.

Примитивное назначение:

Знак равенства (=) используется для присвоения значения переменной. Мы можем назначить примитивную переменную, используя литерал или результат выражения.

Примитивный Кастинг

Приведение позволяет преобразовывать примитивные значения из одного типа в другой. Нам нужно обеспечить приведение, когда мы пытаемся назначить примитив с более высокой точностью, например, примитив с более низкой точностью. Если мы пытаемся присвоить переменной байта (которая находится в диапазоне байтовой переменной) байтовую переменную, то компилятор сгенерирует исключение, называемое «возможный». потеря точности «. Eclipse IDE предложит решение, как показано ниже. Чтобы избежать такой проблемы, мы должны использовать приведение типов, которое будет инструктировать компилятор для преобразования типов.

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

Назначение литерала, который слишком велик для переменной

Назначение ссылочной переменной

Мы можем присвоить вновь созданный объект ссылочной переменной объекта, как показано ниже

Первая строка будет делать следующие вещи,

Вы также можете присвоить null переменную ссылки на объект, что просто означает, что переменная не ссылается на какой-либо объект. Оператор ниже создает пространство для ссылочной переменной Employee (держатель бита для ссылочного значения), но не создает фактический объект Employee.

Составные операторы присваивания

Иногда нам нужно изменить одно и то же значение переменной и переназначить его на одну и ту же ссылочную переменную. Java позволяет объединять операторы присваивания и сложения, используя сокращенный оператор. Например, предыдущее утверждение может быть записано как:

Знак + = называется оператором сложения. Другие сокращенные операторы показаны ниже таблицы

оператор название пример эквивалент
+ = Назначение дополнения I + = 5; I = I + 5
знак равно Вычитание присваивания j- = 10; J = J-10;
знак равно Умножение назначения к * = 2; K = K * 2;
знак равно Назначение отдела х / = 10; х = х / 10;
знак равно Остальное назначение A% = 4; а =% 4;

Ниже приведен пример программы, объясняющей операторы присваивания:

Резюме

Источник

Структура программы, переменные, константы, оператор присваивания

На предыдущем занятии мы с вами создали консольный проект с таким текстом программы:

Давайте изучим ее структуру подробнее. Вот это первое слово package указывает пакет, которому принадлежит данная программа. То есть, программа в данном случае находится в пакете com.company. Этот пакет вроде пространства имен языка С++ (если кто с ним знаком). Или же это можно воспринимать как некий каталог, в котором находятся файлы данного пакета. Благодаря этому разработчики, например, могут создавать классы с одинаковыми именами, расположенные в разных пакетах и при сборке большого проекта не будет происходить коллизий с их определениями. Кстати, при создании пакета com.company у нас в каталоге src был создан подкаталог com, а в нем подкаталог company и уже в этом подкаталоге находится файл Main.java с текстом программы данного пакета. И здесь сразу обратите внимание: в Java название файла должно совпадать с названием класса. Например, наш класс называется Main, поэтому и файл имеет такое же название. И отсюда следует важное следствие: в языке Java в одном файле может быть описан только один класс. Именно так все автоматически и сделала наша интегрированная среда. Что очень удобно.

Далее, второй строчкой идет определение класса. О классах мы еще подробно поговорим. Пока просто запомните, что класс задается с помощью ключевого слова class и далее идет имя этого класса – в данном случае Main. Внутри фигурных скобок мы прописываем данные класса – это его переменные и методы – это его функции. А вот это ключевое слово public означает, что класс доступен везде и всем. Это, в частности, необходимо, чтобы виртуальная машина имела к нему доступ и могла выполнить его, т.е. запустить нашу программу.

Внутри класса интегрированная среда нам автоматически прописала вот такой метод:

Это специальный метод языка Java. Виртуальная машина ищет в программе этот метод и начинает выполнение именно с него. То есть, эта функция является точкой входа в программу. С нее все начинается и когда она завершается, завершается и работа всей программы. Ее синтаксис пока просто запомните, мы всегда ее будем писать именно так.

Внутри фигурных скобок располагаются инструкции языка Java: его операторы, функции и т.д. Например, у нас записана такая инструкция:

Которая означает, что мы обращаемся к классу System (он определен в стандартном пакете java.lang). В этом классе имеется объект out, реализующий поток вывода. И вызываем метод println этого объекта для вывода в консоль сообщения «Hello World!». Позже мы подробнее еще поговорим о консольном выводе. Пока просто запомните, что вот так можно выводить информацию в консоль. И после каждой конструкции всегда ставится точка с запятой.

Читайте также:  мазила или яндекс браузер что лучше

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

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

Переменные и константы

Разберем все это по порядку и посмотрим, как в Java происходит хранение данных. Для этого используется такое понятие как переменная. В самом простом случае она определяет ячейку данных, в которую можно записывать и считывать числовую информацию.

Для создания переменных в Java используется такой синтаксис:

Здесь тип переменной – это тип создаваемого хранилища, а имя – это имя, через которое можно работать с этим хранилищем. Какие существуют базовые типы переменных в Java? Они следующие:

для целочисленных чисел в диапазоне:

для целочисленных чисел в диапазоне:

для целочисленных чисел в диапазоне:

для целочисленных чисел в диапазоне:

от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807

для вещественных чисел в диапазоне:

от до

для вещественных чисел в диапазоне:

от до

для одиночного символа в кодировке UTF-16

(также можно записывать целые числа в диапазоне от 0 до 65535)

для булевых значений true и false (размер спецификацией языка строго не определен)

Именно в соответствии с первым правилом следует выбирать переменные с меньшим числом байт, если их достаточно для программирования текущей задачи. Вот почему во многих языках существует целый набор однотипных переменных.

Ну и некоторое такое не особо официальное правило – имена переменных, как правило, должны отражать суть хранимых данных.

Например, мы можем определить переменные вот так:

В первой строчке создается целочисленное хранилище с именем a. Во второй строчке создается тоже целочисленное хранилище с именем b и в него сразу записывается значение 5. Это называется начальной инициализацией переменной в момент ее объявления.

Теперь обратите внимание на имена переменных a и A – это две разные переменные, т.е. Java различает регистр букв. Далее, можно объявить через запятую сразу несколько переменных. Ну и наконец, при объявлении нескольких переменных, мы также можем сразу выполнять их инициализацию.

При инициализации вещественных переменных есть одна особенность. Если мы, например, пропишем вот такую строчку

то интегрированная среда предупредит нас об ошибке. Почему? Здесь вроде бы все верно? Дело в том, что любое числовое вещественное значение в Java представляется типом double и потому мы в этой строчке пытаемся значение типа double присвоить переменной типа float. В результате может произойти потеря информации и именно об этом и сообщает интегрированная среда. Чтобы все-таки присвоить 3,5 переменной float следует указать значение 3,5 как тип float:

Символьные типы данных можно задавать и инициализировать вот таким образом:

то есть, отдельный символ всегда указывается в апострофах (одинарных кавычках). О символьных типах данных мы подробнее поговорим когда будем разбирать строки. Соответственно булевые переменные объявляются таким образом:

Переменные в Java можно создавать в любом месте класса или функции по мере необходимости.

Если требуется вывести в консоль значение какой-либо переменной, то используется такая инструкция:

Однако, если мы напишем следующую строчку вот такую:

то интегрированная среда нам сообщит об ошибке, что переменная a должна быть проинициализирована перед выводом в консоль. Как записать значение в переменную после ее объявления мы поговорим на следующем уроке. Пока просто запомните, что прежде чем выводит значение переменной, это значение ей прежде нужно присвоить.

Наконец, константы в языке Java, задаются так:

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

то интегрированная среда нам сообщит об ошибке, что так делать нельзя, т.к. PI – это константа.

Обратите также внимание, что в Java константы принято писать заглавными буквами. Так они визуально в тексте программы отличаются от обычных переменных и программисту становится проще читать такую программу.

Ну и наконец, как в Java можно присваивать значения переменным после их объявления? Для этого в Java используется оператор присваивания. Он записывается как знак равно (=). Само присваивание значение переменной выглядит, например, так:

Здесь элементу слева от знака равенства присваивается значение, стоящее справа от него. Чтобы лучше понять смысл этого оператора рассмотрим такой пример:

Здесь справа текущее значение i сначала увеличивается на 1, становится равным 2, и после этого результат присваивается снова этой же переменной. В результате переменная увеличивает свое значение на 1. Видите разницу между математическим знаком равенства и оператором присваивания? С математической точки зрения такое равенство выполняться не может, но с точки зрения оператора присваивания никаких проблем!

Также не имеет смысла запись вида

так как константе 20 нельзя присвоить какое-либо значение.

Наконец, рассмотрим два таких примера:

Здесь присвоение a=b работает без каких-либо замечаний, но вот на b=a интегрированная среда ругается и говорит, что возможна потеря данных, т.к. тип short меньше типа int. Чтобы все-таки такое присвоение стало возможным, нужно сделать приведение типа переменной a к типу short в момент присваивания, то есть, записать это в таком виде:

Этим мы скажем компилятору, что да, мы знаем что делаем и хотим переменную int овского типа присвоить переменной типа short.

Здесь также имеем дело с разными типами данных, но в отличие от предыдущего примера, здесь будет почти всегда происходить потеря данных, т.к. целочисленная переменная не может содержать дробную часть числа. Что же произойдет с дробной частью? Она будет попросту отброшена. Обратите внимание, произойдет не округление числа, а просто отбрасывание дробной части. Давайте выведем переменную var_i в консоль и убедимся в этом:

Вот так работает оператор присваивания и вот так присваиваются значения переменным в Java.

На этом мы завершим наше занятие. Из него вы должны себе представлять в целом начальную структуру программы на Java и знать как объявлять переменные и константы и как работает оператор присваивания.

Видео по теме

#1 Установка пакетов и первый запуск программы

#2 Структура программы, переменные, константы, оператор присваивания

#3 Консольный ввод/вывод, импорт пакетов

#4 Арифметические операции

#5 Условные операторы if и switch

#6 Операторы циклов while, for, do while

#7 Массивы, обработка элементов массива

#8 (часть 1) Строки в Java, методы класса String

#9 Битовые операции И, ИЛИ, НЕ, XOR

#10 Методы, их перегрузка и рекурсия

© 2021 Частичное или полное копирование информации с данного сайта для распространения на других ресурсах, в том числе и бумажных, строго запрещено. Все тексты и изображения являются собственностью сайта

Источник

Как присвоить значение переменной в Java?

Пример №1

Допустим, мы хотим присвоить переменной k типа int значение 10. Очень легко это делается! Причём можно это сделать 2 способами:

Способ №1

Если Вы попробуете запустить этот код на своём компьютере, то в консоли Вы увидите следующее:

Комментарии:

В данном примере мы сначала объявили переменную k типа int вот в этой строчке

Затем в другой строчке присвоили значение 10 переменной k.

Как Вы уже поняли из примера, знак = это операция присваивания. Она всегда отрабатывает справа-налево:

Значение 10 присваивается переменной k

Способ №2

Если Вы попробуете запустить этот код на своём компьютере, то в консоли Вы увидите следующее:

Комментарии:

Как видите, в этом примере мы объявили переменную k типа int и присвоили ей значение в 1 строчку

Ну, вот. Теперь Вы знаете, что:

Что такое инициализация переменной?

Источник

Java Core для самых маленьких. Часть 3. Переменные

В предыдущей статье мы говорили о типах данных, а теперь поговорим о вытекающей из этого теме, о переменных.

На скриншоте выше продемонстрирован пример создания переменных.

Давайте сразу научимся давать имена переменным правильно. Существует документ Java Code Conventions. В нем указаны правила к написанию кода на Java. Нужно это для того, что бы Java код в разных проектах был написан в едином стиле. Таким образом, новоприбывший на проект программист не будет отвлекаться на новый стиль кода, ведь он будет оформлен так же, как и на других проектах. Эти правила работают и при нейминге переменных.

Итак, переменные принято называть в lowerCamelCase стиле. Сейчас покажу как хорошо, а как плохо:

Вот было значение 1998, а на следующей строке стало 2000. А вот с константой так не получится. Константа гарантирует, что ее значение не изменится на протяжении всего времени выполнения программы. Как создать константу? Очень просто:

Нужно всего лишь дописать ключевое слово final перед типом данных переменной. Для простоты понимания, мы как бы «финализируем» значение переменной и говорим, что это значение конечное.

Обратим внимание на имя константы. Когда мы даем имя константе, то должны делать это в стиле SCREAMING_SNAKE_CASE. Давайте исправим мой код:

В целом, вас никогда не погладят по головке за правильный нейминг в коде. Подразумевается, что это нечто естественное при написании кода. Как правила этикета у людей. А вот если вы будете называть ваши переменные и константы абы как, получите незамедлительного леща.

Инициализация переменных

У всех переменных из моих примеров уже было присвоено начальное значение. Процесс присвоения начального значения называется инициализацией переменной. И не обязательно инициализировать переменную во время ее объявления. Java позволяет сделать это и позже.

Во-первых, можно объявлять переменные через запятую (если они одинакового типа):

При этом, смотрите, мы можем некоторые из них инициализировать прямо во время объявления. А теперь инициализируем оставшиеся:

Для инициализации переменных типа char я использовал цепочку присваиваний. Да, и так тоже можно. Хотя используется очень редко.
Если мы попытаемся провести какую-то операция с переменной, у которой нет значения, то получим ошибку.

Оператор присваивания

Литералы

В Java постоянные значения задаются литеральным представлением. Простым языком, при помощи определенных символов мы можем указывать тип данных. Вот например, при работе с целочисленными литералами нам не нужны никакие литералы. Мы просто пишем число 1998; и Java понимает, что это целочисленное значение.

Так, что еще за символы подчеркивания в значении переменной? Это всего-навсего декор. С JDK 7 допустимо указывать знаки подчеркивания, для разбиения больших чисел на разряды, для удобства чтения.

В вышеописанных примерах были литералы для целочисленных десятичных значений. А еще мы можем присвоить целому числу литерал в виде восьмеричного значения. Для этого вам нужно добавить в самом начале значения 0. Но в таком случае, логично, что это значение не сможет содержать цифры 8 и 9, поскольку они выходят за пределы восьмеричной системы счисления.

Мало того, еще мы можем использовать литерал шестнадцатеричных значений. Такие значения обозначают с начальным 0x или 0X, а цифры в пределах от 10 до 15 заменяются символами ABCDEF английского алфавита.

С JDK 7 есть возможность указывать целочисленные литералы в двоичном виде. Для этого вначале значения нужно указать 0b или 0B и соответственно в значениях можно использовать только цифры 0 и 1. В реальности, вам навряд ли понадобятся литералы шестнадцатеричных, восьмеричного или двоичных значений. Однако, знать о них нужно.

Литералы дробных чисел

Но существует и экспоненциальная форма записи этих чисел в виде 2.34e12;

Где число после символа ‘e’ обозначает степень 10-ти. Простыми словами, мы записали 2 целых и 34 сотых умноженное на 10 в 12 степени.

Как и в случае с целочисленными значениями, литералы с плавающей точкой поддерживают нижнее подчеркивание начиная с JDK 7.

Логические литералы

Символьные литералы

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

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

А вот если символ нельзя ввести непосредственно с клавиатуры, то для ввода таких символов используют ряд управляющих последовательностей. Например, символ переноса строки ‘\n’. Существуют последовательности, которые существуют для ввода значений в восьмеричной и шестнадцатеричной форме. Например, мы захотели ввести букву tu катаканы смайлик: . Берем и пишем:

В данной таблице вы можете посмотреть наиболее используемые последовательности символов:

Когда-то давно, я писал статью про экранирование символом. Настоятельно рекомендую прочитать, как дополнительный материал. Узнаете много интересного.

Строковый литерал

Можно заключить последовательность символов в двойные кавычки и получить так называемую строку.

Динамическая инициализация

Пару слов о таком термине как динамическая инициализация. Ничего сложного, только звучит страшно.

Переменную можно инициализировать другой переменной. Также, допускается инициализация переменной результатом какого-то выражения.

Главное, чтобы тип данных выражения / инициализирующей переменной совпадал с типом данных целевой переменной.

Преобразование и приведение типов

Знаю, вы уже подустали, сделали массу перерывов и подходов. Обещаю, это последняя тема в этой статье.

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

Чтобы выполнить преобразование двух несовместимых типов данных, нужно воспользоваться приведением типов. Это явное преобразование одного типа в другой. И выглядит это вот так:

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

Подводим итоги

В этой статье мы поговорили о многих важных вещах. Узнали, как создавать переменные и константы в Java, и чем они отличаются. Узнали о способах инициализации переменных. Разобрались с тем, что такое литералы и какие они бывают. А так же выполнили преобразование и приведение типов данных.

Скажем спасибо Егору за предоставленный материал.

Источник

Читайте также:  Что такое энергоэффективный дом
Образовательный портал