Уроки Java для начинающих | #8 - Циклы (For, While, Do while)
ฝัง
- เผยแพร่เมื่อ 3 ธ.ค. 2016
- 1) Урок на сайте itProger: itproger.com/course/java/8
В этом уроке мы с вами изучим циклы в языке Java. Мы научимся использовать циклы For, While, Do while, а также рассмотрим операторы continue, break и return.
✔ Основной сайт: itproger.com/
✔ -------------
Вступай в группу Вк - prog_life
Группа FaceBook - goo.gl/XW0aaP
Instagram: / gosha_dudar
Telegram: t.me/itProger_official
Страничка Twitter - / goshadudar
- Уроки от #GoshaDudar 👨🏼💻
- Все уроки по хештегу #GoshaJava
ГЛАВНЫЕ ОТЛИЧИЯ ЦИКЛОВ:
FOR = КОГДА ТЕБЕ ИЗВЕСТНО КОЛИЧЕСТВО ПРОГОНОВ ( РАЗ )
WHILE = КОГДА НЕ ИЗВЕСТНО! (например цикл будет гонять пока человек не нажмет какую ту клавишу)
DO WHILE = то жк что и WHILE только он ВСЕГДА прогонит 1 раз НЕСМОТРЯ НА УСЛОВИЯ.
*while* - цикл с предусловием. Сначала проверяется условие, а потом выполняется код.
*do while* - цикл с постусловием. Сначала выполняется код, а потом проверяется условие.
Не обязательно. Первый аргумент for выполняется один раз. Второй аргумент цикла может содержать любое условие, и выполняется пока true. Третий аргумент выполняется каждый такт цикла. То есть for с пустым первым и третьим аргументом это while)
for (int i = 0; i < 10; i ++) {
System.out.println (i)
} почему первое значение выводится 0 ? Ведь мы объявили переменную i = 0, потом сразу же увеличили её на единицу и только потом вывели выражением System.out.println. Поидее первое значение должно быть 1
@@oleg12395 нее - System.out.println по сути чтобы ты вообще видел че выйдет) ты не присвоил переменной сразу же единицу - это уже цикл делает начиная от нуля - ведь переменная имеет значение 0
@@oleg12395 потому что переменная увеличивается после выполнения тела цикла.
Моя жизнь и поступки как do{ }while()
Сперва делаю, потом думаю)
ахахаахах, топ комент)))
System.out.print("ЖИЗА");
Стало интересно, какими горячими клавишами происходит преобразование строк в комментарии, может кому-то тоже будет:
Ctrl + / комментирует все выделенные строки, но каждую по отдельности, в стиле // (Работает в английской раскладке. Если в русской, то свернёт в троеточие.)
На MAC OS, соответственно, не Ctrl + /, а Cmd + /.
Раскомментирование аналогично.
Для таких людей, как ты, в раю отдельные места
Спасибо!)
Спасибо вам большое, всех благ вам!!!
Может быть дело в фамилии!!!
Спасибо огромное!
Спасибо) Для меня подача материала - лучшая, все основное без воды, все, что нужно при первых касаниях к языку) Спасибо)
Гоша спасибо что ты есть и все это объясняешь .... класс
хорошо объясняешь друг, спасибо
Всем привет, начал с восьмого урока, здорово, думаю что просмотрю с первого🙂
спасибо за классные уроки
Спасибо за урок. Лайк.
Спасибо за урок!!! У меня все получилось
Да реально очень хорошо объясняет, молодец =)
ты это серьезно ?
@@daytona2786 а чё?
То что надо ! Спасибо
Вы очень хорошо обесняйте респект вам
Вообще return используется в функции для возврата значения и заодно прерывает ее. Так что утверждение будто break и return - одно и то же - неверное. Просто в данном примере функция ничего не возвращает, отсюда и разницы никакой нет.
Спасибо!
Спасибо большое
самый лучший видео курс из всех
ВАу капец ты поменялся, смотрю твое новое видео и это. ПОМенялся
класс спосибо
Классная у тебя собачка на фоне!
Пздц, смотрю платные от skillbox, а потом тут пересматриваю тоже самое но более разжевано... спрашивается за какой хер деньги берут
Что Skillbox, совсем бесполезный?
@@AnCap53 ну почти
Я который поступил в университет:🗿🗿🗿
@@markgorbaichuk8290 Ну, ты попал, чувак, ты попал!
return выйдет из метода, а не из цикла.
Таким образом, если у тебя есть код после цикла, а внутри цикла есть return, то выйдя из return, код после цикла выполняться не будет. А после break - будет.
Зачем вы зашли на этот видео курс? Если вы учите автора, который обучает java, значит вы знаете этот язык программирования.
Хорошо программируете ?
@@user-sp1bk7pm8i заебал писать
@@user-sp1bk7pm8i Зачем-то зашел, какая разница, если комментарий его верный. У меня встречный вопрос: зачем вы зашли, если вы явно хотите не поучиться, а... а хрен знает
Кстати, за ретурн влепил ему диз, автор явно не в курсе, а учит((
Парень, заведи канал про продвинутый Java, я сам с радостью просмотрю продвинутые уроки =) а то в основном совсем базовые кругом.
Всё понятно объясняет, спасибо! А как подсчитать сумму чётных чисел в диапазоне, чтобы например получилось в сумме 30, через эти циклы? Можете рассказать....
8:42 - Ору :D
Уроки годные. Как раз для такого школьника как я) Подписка и лайк. Всё интересно и понятно. Теперь знаю азы Java.
лол,я тоже школьник учусь кодить
А в каком ты классе?
@@jayxzn2226 я в 5 и начинаю учить джаву
не слушайте его насчет скобок, учитесь их ставьть всегда, иначе будут ероры.
их не всегда надо, зачем ставить, если одна строка всего
@@sambadi_8957 ммм, человек понимающий говорит, как бы я тоже, потом в 100к строчках игры будет ошибка, и тебя искать надо, ведь эти скобки важны:)
@@user-hf3hp2vc9s Даже если не будет еррора - не будьте овнокодерами, ставьте {} и потом сами себе скажете "спасибо".
Не обязательно
Все верно, нужно приучать себя писать красивый и понятный код. Все блоки оформлять фигурными скобками. Иначе эту кашу потом читать невозможно
для тех кто вдруг не знает sout пишете и жмакайте enter
psvm тоже
Прикольно. Я запилил игру "Больше, меньше" уже на 8 уроке)))
у меня при использовании команды break в цикле while на консоли выводится "reached end of file while parsing". Многократно сверял с оригиналом, но почему-то программе не нравится последняя фигурная скобка
Фух, я с паскаля перешел и тут шок, цикл for двигается в обратном направлении, неожиданно, но даже полезнее теперь будет.
В Паскале есть downto , тоже самое
Если не сложно, скажите есть ли эквивалент foreach из C# в java?
БЛ*ТЬ ЧЕЛ ОГРОМНОЕ СПАСИБО!!
Единственное, что я не понял из твоих уроков на тему циклов, переменных и т. п., это то, как в if записать два и больше условий
P. S. Уроки реально годные, всё предельно понятно, считай за этот вечер я просмотрел 8 уроков и всё понял. Закреплять буду завтра. Огромное тебе спасибо, лови лайки
это проходили в предыдущем уроке. if condition && another condition
добавлю от себя про цикл for такого плана:
public class Main {
public static void main(String[] args) {
int[] arr = {2, 4, 6, 8, 10};
for (int i : arr) {
System.out.println(i);
}
}
}
в цикле создается переменная і, которая итерируется по массиву arr и виполняет код внутри цикла для каждого значения в массиве. то есть на первой итерации і = 2, на второй - 4, на 3 - 6 и так далее
int thanks = 0;
while (thanks < 100) {
System.out.println("Спасибо!");
}
Всем привет!
Решил параллельно видео курсу учить JAVA по книге Java for beginner's и столкнулся с таким блоком кода:
do{
ignore = (char) System.in.read();
}while (ignore !='
');
Без него программа как бы несколько раз пробегает цикл "DO" без остановки.
class Guess4 {
public static void main(String [] args)
throws java.io.IOException
{
char ch, ignore;
do{
System.out.println("Enter the Letter:");
ch = (char) System.in.read();
do{
ignore = (char) System.in.read();
}while (ignore !='
');
if (ch=='K')
System.out.println("You are right");
else if (ch
Это не уроки Java для людей, это Гоша для себя решил повторить курс .
Причем быстро и чтобы никто ничего не понял
ДА ЧЕГО ТУТ НЕПОНЯТНОГО?!
Хотя я в начале так и не понял, как .jar'ник скомпилировать. Всё он в консоль среды выводит.
Когда учишься на явараш, а тут доучиваешься. Спасибо, парень, ты - святой!
хах, у меня наоборот) Я тут учу а в джава раш доучиваю.
Никак не могу найти волшебные кнопки. Как копируешь строку целиком и вставляешь куда нужно. Приходится по несколько раз набирать одно и тоже. Хелп плз.
остача -.-
Может быть он с Украины?
Funny Videos у него в твиттере написано что он с Украины
Даже в Украине говорят остаток)))
Неа , остача говорят
Он украинец, не придирайся. Ты же всё понял, верно?
Подскажите как найти сумму парных чисел в диапазоне от 0 до введённого числа ?
Пельменная )
Гоша лучший!!!
У меня в 2020 циклы работают подругому, пишу тоже самое, там где у него цикл ваил показывает 0, у меня всеравно прогоняет один раз и выводит 1 ( так как будто я поставил
Так и не понял, в фор все же можно булеан, но нельзя?)
У меня выдаёт ошибку при запуске цикла while, когда я по вашему примеру закомментировал цикл for. Пишет, java: class, interface, or enum expected
у меня такая же херня
Сложновато порою людям со средним логическим мышлением. Вся проблема в том, что те, кто разобрался в синтаксисе и в целом в языке, почему - то решило, что все разберутся с такой же легкостью. Спасибо за лекции. Это лучше из того, что пока что я нашел. Побольше бы примеров не с машинным языком, а именно по применению. Чуть творчески что ли)))
+
дело не только в самом синтаксисе, но и в логике ЯП, ее легче не сделать к сожалению. когда поймешь логику, то синтаксис будет намного легче пониматься и читаться
Я ПОНЯЛ!)
Остача - новое слово
это по Украински, а по русски будет Остаток
У меня не запускается полностью идентичный код. Пробовал объявлять переменную отдельтно не помогло. Выводит в консоль значение 10 и всё. Не учитывается условие ...i
int x = 10;
do {
x++;
System.out.println(x);
} while(x
Это твой затуп) Т.к. do while сначала печатает 13, а после уже проверяет на условие x
Sergey Stashkevich понял. Спс
int x = 10;
do {
System.out.println(x);
x++;
} while(x
У меня перед while и do while переменная int почему-то всё время выдаёт ошибку. Как исправить, знает кто-то?
Мой номер лайка 999 :DD
for ( int i=1; i
Во втором j = 0, и в итоге к 8 прибавляется 2 и получается 10.
Конечное число в первом случае 9. 910. Поэтому и выводит 9.
у меня ошибка с выводом (i)-пишет что не может решить символ
Всё круто, понятно и доступно) Единственное что, не плохо было бы объяснить, почему не стоит запускать бесконечный цикл) А то мало ли, кому приспичит)
да пусть запускают ничего страшного не будет
Потому что, это приведёт к запуску адронного коллайдера
Вроде бы, просто память забьётся и всё, ничего страшного.
@@Asadulla_kasimov спасибо за коммент, поржал ))
При такой расстановке строк, у меня тоже была ошибка в строке с выводом j. Поменяла местами строки( System.out.println и continue):
boolean isTrue = true;
int j = 0;
while (j < 100) {
j += 1;
if (j % 2 == 0);
System.out.println(j);
continue;
}
При этом, в консоли выводятся все числа от 1 до 100.
Если в строке j +=1 поменять на 2 (3 и т.д.), то будут выводиться в консоле числа +2 (+3).
т.е. по каким-то причинам строка if не работает. Может быть знаете, в чем причина?
В строке, которая содержит if, в конце не надо ставить точку с запятой.
А разве приоритет операции в цикле for с инфиксным декрементом не играет никакой роли?
как суммировать числа с помощью цикла while?
а как написать пока q и p вводятся ? в while
while отличается от for тем, что в for нельзя писать булеан , ну вообще-то можно... так чем тогда отличается? Сюда мы можем поставить break а можем return, но break будет более правильно... а почему правильно-то? У нас в художественной школе и то более аргументированно объясняли как краской мазать по холсту))
Шёл 8 урок. Различий java от c++ заметил только boolean а не bool и нужно ставить f в конце float. Ну еще ввод вывод отличается.
Контроль памяти, в джаве его нет.
хочу совет еще всем дать
недумайте что если заплотите кому то и будете больше понимать
вютубе все можно узнать
так что всему можно тут научится
неплотите никому
просто тупо пишите все коды
осознание придет
Хм-м, помогите Даше найти отличия Java от C++)))
Print вместо write
И от 1с
print вместо cout
Java это С++--
Java на андроид.
А каком редакторе пишешь?
Это idea
От така задача :
Напишите программу, которая считывает символы пока не встретится точка. Также предусмотрите вывод количества пробелов.
Чи вірний код?
int caunt=0;
String sumvol;
Scanner vidkorustyvacha = new Scanner(System.in);
System.out.println("Vvedit sumvolu, dlya zupunku vvediy tochky . ");
sumvol = vidkorustyvacha.nextLine();
while (!sumvol.equals("."))
{
sumvol = vidkorustyvacha.nextLine();
caunt++;
}
System.out.println("vu vvelu tochky");
System.out.println("kilkist probiliv " + caunt );
ні, спочатку потрібно імпортувати сканнер
Дякую.
Тобто спершу імпортуємо сканер, а решта код вірний так,?
while (i
Это из ДЗ на сайте
не выполнилось потому что стоит continue и на 27 происходит переход на следующую итерацию и печать 27 пропускается
а 28 почему пропускается?
Спасибо. Астача? Ну и зря не показали бесконечный цикл 😁
what is do while?
А можно в цкле for по другому записать, что бы выводило от 1-10(System.out.println(i+1);)
хОтябы)
Не понимаю в чем проблема
Когда пытался пощупать переменные
Прописываю:
int y=3
for(int x =0; x
Гоша, привет. Не получаю реквизиты на почту для банк-перевода за подписку. Письма нет ни в спаме, ни в удаленных. Почта mail ру.
жму run, нечего не показывает -_-
4:03 ?????
8:21
А я из 2020:-)
Я тоже
А я из 2021 :-)
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
for (int i =10; i < 21; i++){
System.out.println(i*i);
}
}
}
У меня ничего не работало, пока я не убрал package com.company !! Как это объяснить?
package com.company. При создания ты создаешь пакет, у Гоши он package com.company вот такой, ты при создании создаешь свой, оставляешь слово packetge и пишешь имя своего пакет и все заработает
1:54 слова автора: "ОБЫЧНО так никто не делает, не выносит переменную из цикла, а обьявляют в цикле" потому делайте так! О_о ну-у-у-у-у-у как бы и че? А разница то в чем, *учитель* ? Какая мне разница, что многие так делают.
Неправильно!! While это цикл с предусловием, а Do While с постусловием
хочешь исправлять иди на куй , на куй себе броню и исправляй)
Зачем вы зашли на этот видео курс? Если вы учите автора, который обучает java, значит вы знаете этот язык программирования.
@@user-sp1bk7pm8i невозможно знать ЯП полностью. Просто есть люди, осведомлённые в какой-то области больше, чем автор видео. Например, про работу циклов do while и while я был в курсе из С++. Но это не означает, что я знаю Java и могу теперь на нём прогать. Вы несёте бред
Я всегда знал, что Java и JavaScript - это одно и то же!
Return прерывает не только цикл, он прерывает функцию, амв этом случае всю программулину
А где continue
public static void main(String[] args) {
Scanner num = new Scanner(System.in);
int first, second = 50;
boolean isTrue = false;
System.out.print("Enter the first num: ");
first = num.nextInt();
isTrue = first == 51;
if (first >= second && isTrue);
{
System.out.println("Num is 10");
}else if (first == 45)
System.out.println("Num is equal 45");
else {
System.out.println("Num is lower than" + second);
}
switch (first) {
case 51:
System.out.println("Num is equal 51");
break;
почему у меня ошибка Error:(15, 10) java: 'else' without 'if' ?
Прошло уже 11 месяцев, но отвечу для тех кто увидел.
На 8 строчке где условие IF, в конце НЕ НАДО ставить точку с запятой.
А в do while вывелось до 10, хотя указано что x > 10 Чего?
Все видео смотрю на скорости x2
А я на 0.75, ибо не успеваю :(
Может это из за того, что это твои первые шаги в эту отрасль? Если так, то разумеется информации будет много. А у меня за плечами два года изучений/практик на C++, Python и C#, поэтому многое тут для меня уже не новость, я лишь хотел ознакомится с синтаксисом Java по-быстрому для Android Studio. А ты не огорчайся, лишь упорством преодолеешь это преграду, а дальше уже будет не хватать и скорости 2x :)
Ну я немного учил там python и c#, щас учу java для кое каких цель, которые у меня щас появились
Сначала начни углубляться в одном конкретном языке и в теориях, а дальше уже будешь готов изучать чуть ли не что угодно за короткие сроки. И помни - главное не языки, главное принципы.
Лады.
12:30 то есть 10>10?
Х стал равен десяти, вывелся, а потом проверили условие
Циклы так же ка и в C
а почему так не понятно?
Остача, это новое слова в русском языке или в программировании
Везде в соц.сетях написано, что он с Украины. Остача это украинское слово. и Вполне нормально, что человек вместо остатка говорит остача
CловО
@@murdercompany Ну блин, урок же не нужно делать по сценарию, но при этом он даже не удосужился перезаписать отдельный кусок речи. Видео-то для русскоговорящих.
@@murdercompany Это не украинское слово)) Это слово дауна который вырос в украинской деревне и слышал как базарят суржиком, на украинском остаток будет "Решта"
@@Ngeorge остача это математический термин, в русском языке остаток. А "решта" это "здача".
Читай "Тлумачний словник", а потом пиши что-то
Вот этого я сразу и не понял
If (2%2==0)
Ведь в математике 2:2 =1 🤷♂️
Или я не прав ?
@@Zorokage понял , получается остаток от результата
а как сделать бесконечный цикл?
for( ; ; )
Но это не точно),я только учусь
Сделай чтобы условее было всегда правдой
блин, чувак, все слишком быстро и сложно. с предыдущего урока стало все непонятно уже. больше примеров, больше объяснений нужно и в раз 5 помедленнее!)
Пересматривай по нескольку раз.
Да вроде норм) это мой второй язык. 1 java script (мог ошибиться в названии). В них много общего
лол смотрю в скорости х2 и все понятно, думал он медленно говорит...
@@user-ii5ju9bo5i жиза
@@user-mc4ww6mx5l у него просто ошибка любого математика-препода. Он рассказывет о инстркменте, но по сути не объясняет зачем он нужен.
Не работает while
Do While : почему 10 вывел?
астача
4:03 звук страшный
Только в прошлом видео не сказал, что ++ называется итерация.
инкрементация и декрементация соответственно
еще ты смешно говоришь "цикл выполнится хОтябы один раз" 9.49