Способы получения переменной своего значения

Переменные — место хранения необходимой информации

После прочтения последних двух статей вы знаете, что такое JavaScript, что он может сделать для вас, как использовать его вместе с другими веб-технологиями и какими он обладает функциями высокого уровня. В этой статье мы перейдём к реальным основам, рассмотрим, как работать с большинством базовых блоков JavaScript — Переменными.

Необходимые навыки: Базовая компьютерная грамотность, базовое понимание HTML и CSS, понимание того, что такое JavaScript.
Цель: Ознакомиться с основами переменных в JavaScript.

Инструменты, которые вам нужны

В этой статье вам будет предложено ввести строки кода, чтобы проверить ваше понимание материала. Если вы используете браузер для настольных компьютеров, лучшим примером для ввода кода примера является консоль JavaScript вашего браузера (см. What are browser developer tools для получения дополнительной информации о том, как получить доступ к этому инструменту).

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

Что такое переменные?

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

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

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

Вам сейчас не обязательно понимать синтаксис, который мы используем (пока!), но вы должны понять идею: если бы у нас не было доступных переменных, нам пришлось бы реализовать гигантский блок кода, который проверял, какое имя было введено, а затем отображал соответствующее сообщение для этого имени. Очевидно, что это неэффективно (код намного больше, даже для четырёх вариантов), и он просто не сработает, так как вы не можете хранить все возможные варианты.

Переменные имеют смысл, и, когда вы узнаете больше о JavaScript, они начнут становиться второй натурой.

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

Заметьте: мы говорим, что переменные содержат значения. Это важное различие. Переменные не являются самими значениями; они представляют собой контейнеры для значений. Представьте, что они похожи на маленькие картонные коробки, в которых вы можете хранить вещи.

Объявление переменной

Чтобы использовать переменную, вы сначала должны её создать, или, если быть точнее, объявить переменную. Чтобы сделать это, мы вводим ключевое слово var, за которым следует имя, которое вы хотите дать своей переменной:

Здесь мы создаём две переменные myName и myAge. Попробуйте ввести эти строки сейчас в консоли вашего веб-браузера или в консоли ниже (можно открыть эту консоль в отдельной вкладке или в новом окне). После этого попробуйте создать переменную (или две) с вашими именами.

Примечание: в JavaScript все инструкции кода должны заканчиваться точкой с запятой (;) — ваш код может работать правильно для отдельных строк, но, вероятно, не будет, когда вы пишете несколько строк кода вместе. Попытайтесь превратить написание точки с запятой в привычку.

Теперь проверим, существуют ли эти значения в среде выполнения. Для этого введём только имя переменной.

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

Примечание: Не путайте переменную, которая существует, но не имеет значения, с переменной, которая вообще не существует — это разные вещи.

Присвоение значения переменной

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

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

Вы можете объявить переменную и задать ей значение одновременно:

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

Читайте также:  Балансовый способ анализа расчетов

Примечание: Если вы пишете многострочную программу JavaScript, которая объявляет и инициализирует (задаёт значение) переменную, вы можете объявить её после её инициализации, и она всё равно будет работать. Это связано с тем, что объявления переменных обычно выполняются первыми, прежде чем остальная часть кода будет выполнена. Это называется hoisting — прочитайте var hoisting для более подробной информации по этому вопросу.

Обновление переменной

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

Правила именования переменных

Вы можете назвать переменную как угодно, но есть ограничения. Как правило, вы должны придерживаться только латинских символов (0-9, a-z, A-Z) и символа подчёркивания.

  • Не рекомендуется использование других символов, потому что они могут вызывать ошибки или быть непонятными для международной аудитории.
  • Не используйте символы подчёркивания в начале имён переменных — это используется в некоторых конструкциях JavaScript для обозначения конкретных вещей.
  • Не используйте числа в начале переменных. Это недопустимо и приведёт к ошибке.
  • Общепринято придерживаться так называемый «lower camel case», где вы склеиваете несколько слов, используя строчные буквы для всего первого слова, а затем заглавные буквы последующих слов. Мы использовали это для наших имён переменных в этой статье.
  • Делайте имена переменных такими, чтобы было интуитивно понятно, какие данные они содержат. Не используйте только отдельные буквы / цифры или большие длинные фразы.
  • Переменные чувствительны к регистру, так что myage и myAge — разные переменные.
  • И последнее — вам также нужно избегать использования зарезервированных слов JavaScript в качестве имён переменных — под этим мы подразумеваем слова, которые составляют фактический синтаксис JavaScript! Таким образом, вы не можете использовать слова типа var , function , let , и for для имён переменных. Браузеры распознают их как разные элементы кода, и поэтому возникают ошибки.

Примечание: По ссылке можно найти довольно полный список зарезервированных ключевых слов: Lexical grammar — keywords.

Примеры хороших имён переменных:

Примеры плохих имён переменных:

Примеры имён переменных, которые вызовут ошибки:

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

Типы переменных

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

Числа (Numbers)

Вы можете хранить числа в переменных (целые числа, такие как 30, или десятичные числа, такие как 2.456, также называемые числами с плавающей точкой или с плавающей запятой). Вам не нужно объявлять типы переменных в JavaScript, в отличие от некоторых других языков программирования Если давать переменной значение числа,кавычки не используются:

Строки (‘Strings’)

Строки — это фрагменты текста. Когда вы даёте переменной значение строки, вам нужно обернуть её в одиночные или двойные кавычки, в противном случае JavaScript попытается проиндексировать её как другое имя переменной.

Логические (Booleans)

Booleans — истинные / ложные значения — они могут иметь два значения: true или false. Они обычно используются для проверки состояния, после чего код запускается соответствующим образом. Вот простой пример:

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

Здесь используется оператор «меньше» ( typeof() — она возвращает тип данных переменной, которую вы передаёте в неё. В первый раз, когда она вызывается, она должа возвращать строку, так как переменная myNumber содержит строку ‘500’ . Посмотрите, что она вернёт во второй раз, когда вы её вызовите.

Подведение итогов

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

Источник

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

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

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

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

Тип — это тип данных переменной, которую необходимо создать. В примере используются примитивные типы данных, рассмотренные в предыдущей статье. Однако, переменная может быть не только примитивного типа. Переменная может являться экземпляром какого-либо класса. Изучать классы мы будем в следующих статьях.

Имя или Идентификатор — любую переменную нужно как-то обозвать. А даем мы имя переменной сразу после указания типа данных. Важно! Именем переменной может быть любая последовательность букв, цифр, но имя не может начинаться с цифры! При наименовании переменной так же учитывается регистр символов. abc и ABC будут разными именами. Еще можно встретить переменные, имя которых начинается с символа валюты доллара: $
Например: double $pi = 3.14; Такое можно увидеть в авто-генерируемых участках кода. Живые люди, насколько мне известно, так не пишут.

Читайте также:  Определение погрешностей базирования при различных способах установки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Литералы

Видели, в моих примерах выше, я писал значение переменной с типом long не просто 1998 а 1998L ? Сейчас расскажу, что это за L в конце.

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

Целочисленные литералы по умолчанию создаются в виде значения типа int , и это значение можно присваивать всем целочисленным типам данных без проблем, в случае, если это значение не выходит за пределы допустимых значений (в предыдущей статье мы говорили о диапазонах значений у разных типов данных). Но что делать, если мы хотим указать целое число, которое больше пределов числа типа int ? В этом случае есть возможность создать литерал типа long просто указав в конце символ L . Я мог и не писать 1998L , потому что число 1998 вполне помещается в диапазон значений типа данных int . А теперь, я вдруг захотел присвоить переменной типа long значение, скажем, в девять миллиардов. Число не маленькое и оно выходит за пределы максимального значения типа int .

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

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

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

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

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

Читайте также:  Народный способ снизить температуру у ребенка

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

Литералы дробных чисел могут быть представлены в привычном для нас виде. Они состоят из целой и дробной части, которые разделены точкой. Например: 10.9; .

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

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

По умолчанию литералы дробных чисел имеют тип double , если хотим создать литерал типа float , нужно указать символ f или F в конце значения. Как я уже сказал, по умолчанию, литерал будет типа double , однако мы все же можем указать это явно, дописав в конце значения символ d или D . Особого смысла это иметь, конечно же, не будет.

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

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

С логическими литералами все просто, они поддерживают только два логических значения true или false .

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

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

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

Как я уже говорил, тип char целочисленный и может хранить в себе символы кодировки Unicode. Unicode — это стандарт кодировки символов, который присваивает каждому символу код, в виде положительного целочисленного значения. Поэтому, тип char не может хранить отрицательные значения. А также, над типом char можно выполнять операции сложения и вычитания. Не представляю, зачем кому-то может понадобиться выполнять арифметические операции над типом char , но знайте, Java это позволяет. Мало того, коды символов английского алфавита (и многих других), расположены в порядке возрастания. Например, символу a соответсвует код 97, символу b — код 98. На основе этого можно сортировать символы по алфавиту.

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

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

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

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

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

Про строки будет отдельная статья, через одну если быть точным. Там нам будет о чем поговорить, а пока просто имейте ввиду что «» — это строковый литерал.

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

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

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

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

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

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

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

Не так страшен черт, как его малюют. Все очень просто. Например, тип long достаточно велик чтобы поместить в себя тип int и прочие целочисленные типы данных которые меньше long .

На картинке выше, вы можете увидеть, какие типы данных вы можете преобразовать автоматически. Исходя из этого изображения, мы можем в переменную типа float поместить значение типа long . Звучит странно, давайте проверим:

Все работает. К сожалению, автоматическое преобразование не способно покрыть все потребности. Например если нужно тип int преобразовать в byte .

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

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

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

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

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

В следующей статье мы будем изучать массивы. Если переменная — это вагон, то поездом будет массив. В общем, будет опять многобукав и многомерные массивы. Всем спасибо за внимание. Учитесь старательно!

Источник

Оцените статью
Разные способы