Added: 1 year ago
From: ytkach
Views: 7,579
Sort by time | Sort by thread (beta)

Link to this comment:

Share to:

All Comments (25)

Sign In or Sign Up now to post a comment!
  • В целом хорошие уроки, кроме этого. Ибо в нем зашкаливает количество ошибок. Кроме описанных выше, добавлю:

    1) автор утверждает, что можно создать и проинициализировать массив лишь из элементов примитивных типов либо String - это не верно, нечего не мешает мне создать Object mass[] = {new Object(), new Object()}. Как и с любыми другими типами.

    2) автор говорит, что конструкция вида if(elem = 1) таит в себе потенциальные баги - это не верно, компилятор java просто не пропустит такую запись.

  • Мде...все класнсо, только мне новичку ничерта не понятно. Судя по комментариям проблема в моих нулевых знанях в java :)

  • 1. Спасибо за труды! 2. Писать => в Яве нельзя. Нужно >= Или я ошибаюсь? 3. То что int "немножко" больше чем byte - это от души, повеселило. Но всё равно спасибо! 

  • Конструкция while бывает двух видов. Первый, который был показан в видео. Второй, do { } while();. Разница в том, что если условие не выполняется в первом случае то, он игнорирует полностью тело цикла. Во-втором случае, хотя бы один раз мы попадём в тело цикла.

  • 42:20 Автор слишком быстро говорит, но мало по делу. Вторая конструкция означает foreach - для каждого. Задача цикла перебрать элементы всего массива. Что касается первой конструкции, автор забыл сказать про ключевое слово continue. brake - игнорирует все операции которые идут следом за ним и выходит полностью из цикла. continue - останавливает текущую итерацию (повтор) игнорируя также операции после себя и переходит в начало цикла со следующего значения.

  • в конструкции switch не нужно указывать brake, если в секции case используется return. Видимо забыли сказать.

  • Комментарии существуют в трёх видах. Автор забыл сказать про самый главный вид комментариев - документирование /** указываются параметры @param, @return и т.д. */. Разница в том, что блочные комментарии игнорируются компилятором, а документирование класса описывает класс. Это то, что необходимо программисту клиенту, чтобы разобраться с классом.

  • По присваиванию, я бы добавил информацию. Примитивные типы содержат в себе данные. Так, например, если int a = 5, int b; b = a; a = 3; то, смена переменной a никак не влияет на переменную b. Результат a =3, b = 5; С объектами по-другому. Если взять два разных объекта Apple a = new Apple(); и Orange o = new Orange(); и присвоить o = a; то, переменная o будет ссылаться на один и тот же объект с переменной a. Объект Orange() потеряется в памяти, пока его не убёрет сборщик мусора.

  • Кстати, ещё один ляп автора. Дело не в приоритетности! Во всех языках программирования действия происходят слева направо. Просто постфиксная форма инкремента, повторюсь, сначала ВЫДАЁТСЯ ЗНАЧЕНИЕ (т.е. тройки), а затем происходит действие (т.е. увеличение b на единицу).

  • @17:20 Существует две формы записи инкремента и декремента.

    Префиксная ++i или --i;

    Постфиксная i++ или i--;

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

    Про какой приоритет говорит автор, я не понимаю. :)

  • по таймеру @8:11. Не инициализированная переменная объекта получает значение по умолчанию null. Странно, что автор это опровергает. Только что проверил:

    class Test { private String s; Test() { System.out.println(s) }

    }

    public class Sample { public static void main(String[] args) { Test t = new Test();

     }

    }

    результат будет s = null Странно, что лектор это отрицает.

  • В полях класса переменные примитивного типа автоматически инициализируются и получают значение по умолчанию. int i получит значение ноль. boolean b получит значение false. Если переменная объявлена в теле класса то, она должна быть обязательно проинициализирована, иначе компилятор выдаст ошибку. Если переменная типа объекта объявлена как final в полях класса то, она должна быть тоже проинициализирована в конструкторе класса. Иначе, компилятор выдаст ошибку.

    Thinking in Java Bruce Eckel.

  • "2 делить на 7 остаток от деления получается там 5 или сколько то так" 2%7=2, но вообще учитывая что там ++а было, выйдет 3%7=3. По моему остаток от деления в программировании штука очень удобная и часто используемая.

    А вообще уроки хорошие=)

  • добавьте видео в плейлист Урок 2, а то все как-то не слишком систематизировано ;)

  • @s3t0fu Это видео содержит урок полностью, поэтому я не добавлял его в плейлист. Последние уроки также заливались целиком, поэтому для них нету плейлиста.

  • @ytkach по этому их проблематично найти

  • @s3t0fu 

  • Хороший урок, правда, в примере про цикл в стиле Java 5 допущена ошибка. Запись

    for (int elem: arr) {  System.out.println(arr[i]);

    }

    приведет к ошибке, так как про переменную i цикл ничего не знает. Правильный вариант:

    for (int elem: arr) { System.out.println(elem);

    }

  • @Roosya Правильно подмечено! Спасибо! :) Копипаст меня подвел :)

  • Браво! Снимаю шляпу! Все очень классно и доступно. Правда если бы я "Философию Java" не прочитал мне пришлось бы очень долго разжовывать, так как много терминологии.

    В любом случае, это самый самый классный курс Джава из всех что я видел когда либо!

  • В плеере ютюба можно сразу ползунок переместить туда, куда надо и он будет грузить тольк оттуда. :)

  • хорошо когда длинный. плохо когда очень длинный.

    если не можешь весь ролик посмотреть за 1 раз и нужно посмотреть "а чем же все там закончилось? :)"- приходится грузить весь ролик.

  • Согласен. Но мне только недавно разрешили делать один большой ролик :) Спасибо, youtube :)

  • хорошо когда один длинный ролик)

Loading...
Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more