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

Обновлено: 21.11.2024

(Например, информация о семейном положении: 0 = холост, 1 = женат и т. д.
информация о поле: 0 = мужчина, 1 = женщина)

    Компьютерная программа Java использует переменные для хранения информации

    Переменная в Java

Ячейка памяти может хранить число

    <УЛ> Переменная (в информатике) похожа на лист бумаги с прикрепленным к нему тегом.

    Целочисленная переменная — это переменная, которая:

    <УЛ> использует 4 последовательных байта памяти как одну 32-битную ячейку памяти

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

<УЛ> <УЛ>
  • Ключевое слово int сообщает о предложении определения переменной.
  • NameOfVariable — это идентификатор, представляющий собой имя переменной.
  • Предложение определения переменной должно заканчиваться точкой с запятой ";"
  • Поэтому имя файла UNIX, содержащего эту программу Java, должно быть: Var01.java

    Если вы скомпилируете программу, вы получите ошибку:

    <УЛ> <УЛ>
  • Операция присваивания в языке программирования Java предписывает компьютеру обновить значение, хранящееся в переменной.
    • <УЛ> Символ = используется для указания компьютеру присвоить какое-либо значение переменной

    Символ = в Java называется оператором присваивания

    Поэтому имя файла UNIX, содержащего эту программу Java, должно быть: Var02.java

    Как запустить программу:

      Целочисленные операторы — это арифметические операторы, которые манипулируют целыми значениями (работают с ними)

    Большинство целочисленных арифметических операций должны показаться вам знакомыми

      Целочисленное выражение представляет собой (допустимую) комбинацию

    <УЛ> <УЛ>
  • То, где вы определяете переменную, влияет на то, где вы можете получить доступ к информации, хранящейся в этой переменной.
  • <УЛ> <УЛ>
  • Компьютер содержит встроенную схему, которая может манипулировать представлениями целых чисел и чисел с плавающей запятой.
    • <УЛ>
    • Целое число 1 представлено внутри компьютера байтом (= 8 бит) 00000001
    • Целое число 2 представлено внутри компьютера байтом (= 8 бит) 00000010

      <УЛ> Наименьший элемент памяти в оперативной памяти компьютера — это байт (= 8 бит)

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

    Достаточно немного воображения

    ( Контекст : помните пример "ты - слово" и "ты студент"?)

      Каждое значение, хранящееся внутри программы, представляет собой (двоичное) число

      В этом курсе мы будем изучать язык программирования под названием Java

      Каждый современный язык программирования предоставляет следующие предопределенные типы данных

    <УЛ> <УЛ>
  • int : целочисленный тип
  • float : число с плавающей запятой.
  • char : буквенно-цифровой (символы) тип
  • boolean : тип логического значения
    • Напомним, что компьютер может обрабатывать 2 типа представления данных:

      Пример: как язык программирования представляет логическую информацию

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

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

    Целочисленное деление

    Если вы используете оператор деления и оба операнда являются целыми числами, происходит целочисленное деление. Это означает, что результат будет усечен до целого числа. Рассмотрим следующие примеры целочисленного деления:

    Обратите внимание, что результат не округляется до ближайшего целого числа. Часть числа после запятой просто обрезается (устанавливается в ноль). Таким образом, несмотря на то, что 10/6 равно 1,6667, оно усекается до 1.

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

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

    Оператор модуля (оператор остатка)

    Оператор модуля (%) используется для получения остатка, который получился бы, если бы вы выполнили деление между двумя операндами. Например:

    Если вы разделите 7 на 3, результатом будет 2 с остатком 1. То есть

    Поэтому результат 7%3 равен 1. Давайте рассмотрим другой пример:

    В этом случае результатом будет 0. Это потому, что 12 делится на 3 без остатка.

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

    Таким образом, результаты гораздо более предсказуемы при использовании оператора модуля с целочисленными операндами.

    Операторы отношения

    Операторы отношения необходимы для сравнения чисел. В следующей таблице показаны реляционные операторы:

    Если вы действительно были внимательны, то могли заметить, что оператор + используется двумя разными способами. Когда операнды являются числами, оператор + выполняет сложение. Однако, когда хотя бы один из операндов является строкой, оператор + выполняет конкатенацию. Это пример перегрузки операторов, ключевой особенности объектно-ориентированных языков.

    Давайте посмотрим на другой оператор печати:

    В этом случае первая часть аргумента (аргумент — это то, что находится внутри круглых скобок для функции) — это еще одна литеральная строка. Часть после оператора конкатенации является логическим выражением (x>y). Интерпретатор Java проверяет, является ли логическое выражение истинным или ложным. Затем, когда это выражение преобразуется в строку с помощью оператора конкатенации, истинное выражение будет преобразовано в строку "true". Ложное выражение будет преобразовано в строку "false". Таким образом, приведенный выше оператор будет использовать значения x и y и проверять выражение. В этом случае, поскольку x (5) больше, чем y (3), логическое выражение (x > y) истинно, поэтому оно преобразуется в строку «true». При объединении с литеральной строкой в ​​начале вывод:

    Переменные

    Почти каждая программа (за исключением очень простых) должна обрабатывать данные и/или манипулировать ими. Чтобы сделать это возможным, нам нужно использовать переменные. Переменные дают нам способ хранить значение для чего-то, а переменные дают нам способ ссылаться на это что-то.

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

    Мы уже использовали переменную примитивного типа, int. Вспомните следующую строку из программы ShowRelations.java:

    Этот оператор объявляет, что переменная x имеет тип int. Кроме того, этот оператор инициализирует x значением 5. Процессы объявления и инициализации переменной могут выполняться в двух отдельных строках. Например:

    Давайте поговорим об этих двух процессах.

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

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

    Имя переменной также важно. Это значительно упрощает использование данных в программе. Кроме того, как следует из термина «переменная», имя позволяет программе ссылаться на значение, которое может быть изменено программой.

    Именование переменных

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

    Согласно соглашению, переменные Java всегда начинаются со строчной буквы (классы начинаются с прописной буквы). Кроме того, в именах переменных, состоящих более чем из одного слова, первая буква каждого слова (кроме первой) заглавная. Например:

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

    Важные переменные примитивного типа

    В следующей таблице показаны наиболее распространенные типы примитивов.

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

    Типы ссылок

    Другой тип переменной — это ссылочный тип. Этот тип переменной также называется типом класса, потому что ссылочные типы — это объекты, созданные классами.Хотя мы пока не знаем, как создавать собственные классы, мы можем начать рассматривать пример ссылочного типа — класс String.

    Используя окно взаимодействия в DrJava, введите следующее:

    В первой строке имя переменной объявляется как строка и инициализируется значением "Bob". Во второй строке литеральная строка ("Имя есть") объединяется с именем переменной. Результат отображается в третьей строке. На первый взгляд, использование переменной String выглядит так же, как мы использовали примитивные типы, такие как int. Но, присмотревшись к этому более внимательно, мы видим, что есть некоторые различия. Имя переменной было инициализировано со значением «Боб». Это означает, что имя переменной имеет значение длиной три символа.

    Предположим, что мы инициализировали имя другим значением:

    На этот раз переменная String имеет значение длиной 15 символов. В отличие от некоторых других языков программирования (например, Pascal), тип String в Java не имеет максимального размера. Строки в Java могут быть любой длины. Это означает, что String в Java использует переменный объем памяти.

    Это отличается от примитивных типов, таких как byte или int. Переменная int всегда занимает один и тот же объем памяти (32 бита или 4 байта). Даже если сохраняемое число может уместиться всего в один байт, все 4 байта используются целым числом.

    И x, и y занимают одинаковый объем памяти (4 байта), поскольку оба они являются целыми числами. Это не относится к ссылочным типам, таким как строки.

    В этом случае имя2 (содержащее 15 букв) занимает в 5 раз больше памяти, чем имя 1 (содержащее всего 3 буквы). Причина этого в том, что для каждого символа требуется как минимум один байт памяти. Это означает, что строковые переменные могут занимать гораздо больше памяти, чем числовые типы. Таким образом, имеет смысл хранить нечисловые переменные с минимальным расходом памяти. Например, рассмотрим число 2 000 000 000 (2 триллиона). Это может быть сохранено в 4 байтах данных. Напротив, считайте String "маленьким". Эта строка имеет длину 5 символов. Если бы строка была закодирована как символы ASCII, то это заняло бы 5 байтов (больше, чем количество, необходимое для хранения числа 2 триллиона). На самом деле, более вероятно, что строка закодирована как Unicode, поэтому на самом деле потребуется целых 2 байта на символ или 10 байтов на 5 символов. Таким образом, с точки зрения стоимости памяти строки намного «дорогее», чем числа.

    Для переменных числового типа не так уж дорого иметь более чем достаточно места для хранения числа. Для типа int (32 бита) вы можете хранить числа от нуля до примерно 2 триллионов. Даже если вы храните ноль или единицу, вы все равно тратите только 3 байта. Кроме того, переменная, содержащая ноль, может изменить свое значение на 2 триллиона, поэтому она может использовать это пространство. Вы не хотели бы определять какой-то тип String, который мог бы содержать 100 символов, потому что вы бы тратили память на маленькие строки, и у вас не было бы достаточно места для хранения любых длинных строк. Это было бы либо слишком расточительно, либо слишком ограничительно. Таким образом, Java определяет String как ссылочный тип.

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

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

    Подумайте о том, что каждый примитивный тип занимает фиксированный объем памяти. Тип переменной byte содержит меньше, чем тип int, а тип int содержит меньше, чем double. Однако любая байтовая переменная занимает такой же объем памяти, как и любая другая байтовая переменная. Любая переменная int занимает такой же объем памяти, как и любая другая переменная int (независимо от фактического сохраненного числа). Ситуация отличается для ссылочных типов.

    На рисунке выше показаны три переменные ссылочного типа. Каждый ссылочный тип состоит из двух частей. Одна часть, имя, отображается в виде прямоугольника. Размер этой части не важен. Это связано с тем, что вся часть имени содержит адрес начала ячейки памяти для части значения. Другая часть, значение, отображается в виде эллипса. Думайте об этом эллипсе как о своего рода пузыре, который может расти, чтобы вместить любой объем памяти, необходимый для значения. Если вы сохраняете только небольшое значение, то пузырь будет маленьким. Если вы сохраняете большое значение, кружок увеличивается, чтобы вместить это большое значение.

    В Java любые объекты, созданные из класса, являются переменной ссылочного типа. Хотя немного сложно представить строку как объект, нетрудно заметить, что строки бывают разных размеров.Следовательно, имеет смысл, чтобы Strings был ссылочным типом, поскольку объем памяти для хранения String изменяется в соответствии со значением String.

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

    Инициализация и построение

    Все переменные (будь то примитивные или ссылочные типы) должны быть объявлены. Объявление переменной указывает тип переменных и дает переменной имя. Для переменных примитивного типа объявление переменной уже устанавливает память для хранения этой переменной. Это показано далее.

    Предположим, что вы собираетесь использовать переменную типа int с именем num1 и значением 100. Код для ее объявления и инициализации может быть следующим:

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

    Для переменной ссылочного типа процесс отличается. Простого объявления переменной ссылочного типа недостаточно для инициализации этой переменной. Должна быть создана ссылочная переменная.

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

    Эти фрагменты кода показаны на следующей диаграмме.

    В первой строке переменная animal объявлена ​​как строка. Во второй строке создается и инициализируется животное со значением «Кот». Если для животного задана строка другого размера (например, "Гиппопотам"), то размер памяти, выделенной для хранения значения, будет увеличиваться (или уменьшаться) по мере необходимости.

    Строго говоря, процесс построения включает в себя создание стрелки (указателя), соединяющей имя с ячейкой памяти. Неспособность построить ссылочную переменную приведет к "NullPointerException". Это означает, что нет указателя (стрелки) на ячейку памяти, поэтому нет возможности установить значение переменной.

    Эта концепция станет понятнее, когда мы напишем собственные простые классы. А пока просто помните, что ссылочные типы должны быть созданы до инициализации.

    Ссылочные типы должны быть созданы до того, как им будет присвоено значение. Невыполнение этого требования приведет к исключению NullPointerException.

    Оператор адреса в C также называется указателем. Этот адресный оператор обозначается «&». Этот символ & называется амперсанд. Это & используется в унарном операторе. Цель этого оператора адреса или указателя используется для возврата адреса переменной. Как только мы объявили переменную-указатель, мы должны инициализировать указатель допустимым адресом памяти; для получения адреса памяти переменной используется амперсанд. Когда мы используем символ амперсанда в качестве префикса имени переменной &, он дает адрес этой переменной. Адрес оператора используется в C, который возвращается по адресу памяти переменной. Эти адреса, возвращаемые адресом оператора, называются указателями, поскольку они «указывают» на переменную в памяти.

    Использование:

    Веб-разработка, языки программирования, тестирование программного обеспечения и другое

    1. При сканировании пользовательского ввода мы использовали оператор амперсанда.
    2. При отображении адреса переменной мы использовали оператор амперсанда.

    Почему оператор адреса используется в C?

    Адресные операторы обычно используются для двух целей:

    1. Проводить передачу параметров по ссылке, например имени.
    2. Установите значения указателя и адрес точки оператора на ячейку памяти, поскольку значением указателя является ячейка памяти или адрес памяти. Элемент данных, сохраненный в памяти.

    Пример в реальном времени

    • Если пользователь пытается найти имя «paramesh» в данных и строковой переменной с именем name, это будет выглядеть как char[]=»paramesh». Затем используется оператор адреса, чтобы узнать местоположение или адрес данных с помощью переменной «имя».

    Как работает оператор адреса в C?

    Оператор адреса, над которым работает, возвращает адрес переменной в памяти. Эти адреса, возвращаемые адресом оператора, известны как указатели, поскольку они указывают на переменную в памяти.

    Сканирование пользовательского ввода

    Код:

    scanf("%d",&имя_переменной); //сохраняет значение переменной

    Отображение адреса переменной

    Код:

    инт a=10;
    внутренний адрес=&a;

    Примеры реализации оператора адреса в C

    Ниже приведены упомянутые примеры:

    Сканирование ввода и отображения целых чисел пользователем с помощью амперсанда

    Код:

    Вывод:

    Сканирование ввода и отображения пользовательской строки с помощью амперсанда

    Код:

    Вывод:

    Адрес строковых входных имен

    Код:

    Обучение программированию на C (3 курса, 5 проектов) 3 онлайн-курса | 5 практических проектов | 34+ часа | Поддающийся проверке сертификат об окончании | Пожизненный доступ
    4,5 (8541 оценка)

    Вывод:

    Адрес адреса

    Код:

    Вывод:

    Заключение

    Оператор адреса используется для хранения адреса переменной в C. Это обозначается амперсандом (&). Это также используется для сканирования пользовательского ввода.

    Рекомендуемые статьи

    Это руководство по оператору адреса в C. Здесь мы обсуждаем введение в оператор адреса в C, почему он используется и как он работает с примерами. Вы также можете ознакомиться с другими нашими статьями по теме, чтобы узнать больше –

    (Например, информация о семейном положении: 0 = холост, 1 = женат и т. д.
    информация о поле: 0 = мужчина, 1 = женщина)

      Компьютерная программа Java использует переменные для хранения информации

      Переменная в Java

    Ячейка памяти может хранить число

      <УЛ> Переменная (в информатике) похожа на лист бумаги с прикрепленным к нему тегом.

      Значение с плавающей запятой (в десятичном формате) может быть выражено в одной из следующих форм:

    где x..x представляет собой последовательность (десятичных) цифр

      Переменная двойной точности с плавающей запятой — это переменная, которая:

      <УЛ> использует 8 последовательных байтов памяти как одну 64-битную ячейку памяти

    (я использовал переменную двойной точности с плавающей запятой, чтобы не объяснять приведение)

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

    <УЛ> <УЛ>
  • Ключевое слово double сообщает о предложении определения переменной.
  • NameOfVariable — это идентификатор, представляющий собой имя переменной.
  • Предложение определения переменной должно заканчиваться точкой с запятой ";"
  • Поэтому имя файла UNIX, содержащего эту программу Java, должно быть: Var01.java

    Если вы скомпилируете программу, вы получите ошибку:

    <УЛ> <УЛ>
  • Операция присваивания в языке программирования Java предписывает компьютеру обновить значение, хранящееся в переменной.
    • <УЛ> Символ = используется для указания компьютеру присвоить какое-либо значение переменной

    Символ = в Java называется оператором присваивания

    Поэтому имя файла UNIX, содержащего эту программу Java, должно быть: Var02.java

    Как запустить программу:

      Операторы с плавающей запятой — это арифметические операторы, которые манипулируют (действуют) значениями с плавающей запятой

      <УЛ> Оператор с плавающей запятой работает только с двумя значениями с плавающей запятой

    Все операторы с плавающей запятой (арифметические) должны показаться вам знакомыми.

      Выражение с плавающей запятой представляет собой (допустимую) комбинацию

    <УЛ> <УЛ>
  • То, где вы определяете переменную, влияет на то, где вы можете получить доступ к информации, хранящейся в этой переменной.
  • <УЛ> <УЛ>
  • Компьютер содержит встроенную схему, которая может манипулировать представлениями целых чисел и чисел с плавающей запятой.
    • <УЛ>
    • Целое число 1 представлено внутри компьютера байтом (= 8 бит) 00000001
    • Целое число 2 представлено внутри компьютера байтом (= 8 бит) 00000010

      <УЛ> Наименьший элемент памяти в оперативной памяти компьютера — это байт (= 8 бит)

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

    Достаточно немного воображения

    ( Контекст : помните пример "ты - слово" и "ты студент"?)

      Каждое значение, хранящееся внутри программы, представляет собой (двоичное) число

      В этом курсе мы будем изучать язык программирования под названием Java

      Каждый современный язык программирования предоставляет следующие предопределенные типы данных

    <УЛ> <УЛ>
  • int : целочисленный тип
  • float : число с плавающей запятой.
  • char : буквенно-цифровой (символы) тип
  • boolean : тип логического значения
    • Напомним, что компьютер может обрабатывать 2 типа представления данных:

      Пример: как язык программирования представляет логическую информацию

    Читайте также: