— Это опять я: забыл кое-что объяснить. Сейчас я расскажу тебе про переменные и адресацию памяти. Не сильно вникай, но если что-то запомнишь – уже хорошо!
— Люблю твой подход к урокам. Понял что-то – хорошо. Ничего не понял – ну и ладно.
— Насильно мил не будешь. Это же очевидно. А что, у вас не так?
— Нет. У нас другой подход: хочешь – учишь, не хочешь – учишь, но нехотя.
— М-да, какой отсталый подход к обучению. Это ж вы уйму сил и времени тратите, а результатов почти нет.
— Еще как тратим! Ладно, не будем о грустном.
— Ладно. Представь себе Excel. Все знают Excel. Страница в Exсel’е состоит из ячеек, и у каждой ячейки есть её уникальный номер (A1, A2,…B1, B2). Зная номер ячейки, всегда можно записать в неё какое-то значение или же получить значение, которое там хранится. Память компьютера устроена очень похоже.

— Пока все понятно.
— Программа и её данные во время работы хранятся в памяти. Вся память компьютера представлена в виде маленьких ячеек — байт. У каждой ячейки есть её уникальный номер — 0,1,2,3,… (нумерация начинается с нуля). Зная номер ячейки, мы можем сохранить в неё какие-то данные. Или взять их из неё. В одних ячейках хранится код программы — набор команд для процессора, в других — данные этой программы. Номер каждой ячейки также называют её адресом.
— Процессор, команды — мне профессор что-то рассказывал про это, но не очень подробно.
— Процессор – это такая штука, которая умеет исполнять команды из загруженной в память программы. Почти все команды процессора – это что-то типа «взять данные из некоторых ячеек, сделать с ними что-то, результат поместить в другие ячейки». Объединяя сотни простых команд, мы получаем сложные и полезные команды.
— И зачем мне все это?
— Когда в коде программы объявляется переменная, ей выделяется кусочек ещё не использованной памяти. Обычно это несколько байт. При объявлении переменной также нужно указать тип информации, которую программа будет хранить в ней: числа, текст, или другие данные. Для удобства каждой переменной задаётся уникальное имя.
— Т.е. переменная – это имя и тип или кусок памяти и какое-то значение?
— Все вместе. Вот посмотри на несколько примеров.
Код | Пояснение | |
---|---|---|
1 | |
Эта строчка создаст переменную по имени s с типом хранимых в ней данных — текст (String — строка).Мы не можем объявить другую переменную с таким же именем в этой же функции или классе. |
2 | |
Эта строчка создаст переменную по имени s2 с типом данных текст (строка) и сразу занесёт в неё значение "I'm Diego" . |
3 | |
Создаём переменную по имени a с типом хранимых в ней данных – целое число (Integer, сокращённо int ). |
4 | |
Создаём переменную по имени b с типом хранимых целых чисел (int ). В переменную сразу заносится значение 4 . |
— Вот тебе несколько задачек от Диего. Решай понемногу.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ