Java для начинающих. Урок 11: Массивы в Java.

preview_player
Показать описание

На этом уроке мы знакомимся с массивами в Java.

Рекомендации по теме
Комментарии
Автор

На самом деле есть разница в создании строки:
String s = "Hello";
String s1 = new String("Hello");
а именно в способе хранения в памяти. В первом случае строка заносится в специально выделенную область памяти для хранения строк - пул строк. Перед этим проверяя нет ли там точно такой же строки, если есть - ссылка s будет указывать на эту строку, если нет, то эта строка туда заносится. Во втором случае она принудительно создает объект строки вне пула строк, и под каждую строку, созданную таким образом, будет выделяться область в памяти, даже если содержимое строк эквивалентно.

alexandrsh
Автор

*Миллион благодарностей, прям миллион! Когда начал изучать тему массивов, не чего не понимал, проходил курс на JavaRush и выполнял задачки по этой теме, но делал я это по инерции, для меня эта вся тема была непробиваема в мою пульку, тогда я смотрел твой ролик, но я не понимал, сейчас решил снова посмотреть, и я прозрел. Теперь как орехи щелкаю эту тему. Ребята вам совет, просто практикуйтесь, практикуйтесь, практикуйтесь и смотрите ролики, не понятно один раз, ещё раз практикуйтесь, и опять смотрите видео*

giddyshow
Автор

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

ИльяИ-фч
Автор

Пожалуйста, разработайте домашние задания для всех ваших уроков ! Это поможет закрепить материал! =)

kitchenblock
Автор

Одно маленькое уточнение по поводу создания новой строки через присваивание и через new: они не абсолютно равноценны. Есть один нюансик для продвинутых ;)
Опишу его, вдруг кому будет полезно.
Если мы (или не мы) где-то ранее в программе создавали ту же строку "Hello", то она записывается в так называемый пул строк - это особая область памяти, где хранятся используемые программой строки. Если мы создаем еще одну строку "Hello" через присваивание, то этой переменной дается ссылка на уже имеющуюся строку в пуле строк. То есть теоретически может быть много строковых переменных, которые будут ссылаться на одну и ту же строку - читай "одну и ту же ссылку на область в памяти".
Чтобы гарантированно создать новую строку, нужно использовать ключевое слово new

MikeStarman
Автор

Чувак, огромное спасибо. Всё Очень подробно в твоих видосах, всё по полочкам !!!

СоглаевПавел
Автор

Отличные уроки! Все доступно и понятно! Спасибо.

Жизньвчастномдоме-нх
Автор

Обратите на это внимани:


String s = "Hello";
String s1 = new String("Hello");
String s2 = "Hello";
System.out.println(s==s1); //false
Для s1 выделена отдельная ячейка памяти
System.out.println(s==s2); //true s и s2 ссылаются на одну и ту же ячейку, отличную от s1

alexr
Автор

Кое-кто только что спас мою оценку по информатике))). Спасибо огромное!

alisakrass
Автор

Howdy. Зачем нужно бросать второй цикл для вывода на консоль элементов массива? Все ж работает и в одном цикле.
for (int i=0; i<numbers.length;i++ )
{
numbers [i]=i*10;
System.out.println(numbers [i]);
}

yauhenizakhno
Автор

Ты лучший, я просто на сайтах типа ява раш читал статейки и не оч догонял, а тут на лету схватываю
Большое спасибо😊

mikhailochkaev
Автор

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

danielriabenkui
Автор

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

prodaction
Автор

Когда автор произнес "пульты управления" у меня сразу же возникла ассоциация с книгой "Head first Java" ))))

MaxBondarenko
Автор

в уроке было дублирование кода)
его можно избежать, используя цикл фор с двойным условием:

int i, j;


for (j=0, i = 0; (i < numbers.length) && (j < numbers.length); i++, j++) {

numbers[i] = i * 2;

}
}
}

sabatr
Автор

На самом деле этой информации за 11 уроков ( ну я еще другие источники смотрел, но нацелен на данный плейлист ) хватает, чтобы создавать прототипы маленьких программ. Вот сейчас я написал блок в 100 строк кода/тк в методах и объектах не волоку особо, просто подразбиваю на интуитивно понятные части, которые потом можно будет завернуть копипастой/ оптимизировал его, придумал второй вариант функционала, начал его писать. Причем изначально все выглядит так: повторяешь за автором уроков, думаешь: нихуя не понятно, попробую просто слова поменять. Смотришь на то, что что-то не так работает ( возвращаясь к теме про свичи, оказалось они сравнивают строки только по длине ). Находишь вариант решения, шевелишь извилинами и думаешь где ты мог бы применить данную технологию, пишешь используя все 11 тем, что-то не работает ( возвращаясь к теме про свичичи ) ) фиксишь - это, понимаешь какое свичи говно, меняешь свичи на ifelse, понимаешь, что в случае с краткими инструкциями лучше писать if()code; рефакторишь и оптимизируешь код на с 110 до 80 символов. Тк используется более адекватный вариант проверки условий: сносишь половину переменных и распределяешь больше функций на каждую из. Получаешь прототип, который уже не выглядит как говно, да с многомерными массивами и ForEach он будет еще пизже, равно как и с остальными темами. Выложить его я не могу, т.к. я хочу его допилить, но в целом я заметил, что если правильно и интуитивно понятно составлять блоки и подблоки и понимать что программа должна делать, то при прохождении новой темы, не составит труда какой то блок или подблок перевести на новый инструмент.

ЖеняСергеев-гу
Автор

Спасибо! Очень подробно и доходчиво. Супер!!!

dmytrohelbak
Автор

после урока 11 я умею:
Создать массив из пяти простых чисел. Ничего в него не вносить. Распечатать значение первой и последней ячейки массива 
Создать массив и построчно присваивать значение каждой ячейке (какие-то пять цифр)
Создать массив и в фигурных скобках написать значения его ячеек (на видео 13:20)
Создать массив из пяти цифр с 10 до 15 с помощью for и вывести их значения. В условии i растет до того как не станет почти равна длине массива

Mariam_PinkLotus
Автор

я просто скажу, что у вас приятная подача материала
всеъ.

АлексейДогачев
Автор

Кстати могу дать вам немного инфы, лично я после этого 10 урока сделал анкету опроную с регистрацией для закреплнения материала и вам советую вы конечно полную регистрацию сделать не сможем но можно сделать так что типо там выданные данные и мы проверяем их на правильность, потому что мы еще не знаем как проверять в почте на наличие символа собаки или это надо делать через очень трудный пендель, в будущем можно выучить эту библиотеку или метод а так пока что сделать только это switch and for не используются там а все остальное смотря как вы будете делать

RimuSanLinux