Обратите на это внимани: 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
На самом деле есть разница в создании строки: String s = "Hello"; String s1 = new String("Hello"); а именно в способе хранения в памяти. В первом случае строка заносится в специально выделенную область памяти для хранения строк - пул строк. Перед этим проверяя нет ли там точно такой же строки, если есть - ссылка s будет указывать на эту строку, если нет, то эта строка туда заносится. Во втором случае она принудительно создает объект строки вне пула строк, и под каждую строку, созданную таким образом, будет выделяться область в памяти, даже если содержимое строк эквивалентно.
*Миллион благодарностей, прям миллион! Когда начал изучать тему массивов, не чего не понимал, проходил курс на JavaRush и выполнял задачки по этой теме, но делал я это по инерции, для меня эта вся тема была непробиваема в мою пульку, тогда я смотрел твой ролик, но я не понимал, сейчас решил снова посмотреть, и я прозрел. Теперь как орехи щелкаю эту тему. Ребята вам совет, просто практикуйтесь, практикуйтесь, практикуйтесь и смотрите ролики, не понятно один раз, ещё раз практикуйтесь, и опять смотрите видео*
Огромное спасибо, уже очень долгое время ищу доходчивого человека. Когда смотрю другие уроки, сразу клонит в сон, потому что непонятно, поэтому сразу становится скучно. Тебя можно слушать бесконечным циклом.
Одно маленькое уточнение по поводу создания новой строки через присваивание и через new: они не абсолютно равноценны. Есть один нюансик для продвинутых ;) Опишу его, вдруг кому будет полезно. Если мы (или не мы) где-то ранее в программе создавали ту же строку "Hello", то она записывается в так называемый пул строк - это особая область памяти, где хранятся используемые программой строки. Если мы создаем еще одну строку "Hello" через присваивание, то этой переменной дается ссылка на уже имеющуюся строку в пуле строк. То есть теоретически может быть много строковых переменных, которые будут ссылаться на одну и ту же строку - читай "одну и ту же ссылку на область в памяти". Чтобы гарантированно создать новую строку, нужно использовать ключевое слово new
Создайте массив, в котором числа сначала возрастают, потому убывают. Сгенерируйте массив с произвольными отрицательными и положительными числами, а потом модифицируйте массив, чтобы в нем обнулились отрицательные числа
Для лучшего восприятия типов данных. Примитивный тип данных - это наличные деньги у тебя в кошелке, которыми на данный момент можешь воспользоваться только ты, а ссылочный тип данных - это деньги на счету в банке, которыми могут воспользоваться все у кого есть карта с доступом к этому счету (ссылка). Сделай дубликат карты жене (ссылкой поделись с ней) и плакали твои денежки (был объект и весь вышел). Мне так понятнее.)
Просто хочу сказать большое СПАСИБО. Просто начал ходить на курсы Java , и многое не понимал, но благодаря твоим видео начинаю разбираться . Ты просто доходчиво рассказываешь. Хочу попросить тебя, так как ты уже пишешь программы , можешь писать и комментировать их на видео? То есть рассказывать каким способом ты будешь это делать и почему так а не так, мне кажется будет очень интересно. Пожалуйста не проигнорируй меня! Еще раз спасибо.
Аналогично у меня как у новичка возник такой же вопрос. Для чего применен второй раз аналогичный оператор for с идентичным синтаксисом А также зачем было прописывать под массивом numbers1 оператор for ? Кажись он ничего не делает в данном случае. Или делает, подскажите плиз?
@@factop7374первый раз для заполнения массива, второй раз для вывода значений элементов. Цикл перебирает элементы. В первом случае для заполнения, во втором для вывода.
после урока 11 я умею: Создать массив из пяти простых чисел. Ничего в него не вносить. Распечатать значение первой и последней ячейки массива Создать массив и построчно присваивать значение каждой ячейке (какие-то пять цифр) Создать массив и в фигурных скобках написать значения его ячеек (на видео 13:20) Создать массив из пяти цифр с 10 до 15 с помощью for и вывести их значения. В условии i растет до того как не станет почти равна длине массива
А как лучше инициализировать массивы в Java, если заранее известны значения? я сам недавно начал изучать программирование и выбирал курсы для быстрого старта в IT. Рассматривал разные варианты, но в итоге остановился на Skypro из-за хороших отзывов. Курсы оказались очень структурированными, и уже через несколько месяцев я смог устроиться на работу с хорошей зарплатой))
в уроке было дублирование кода) его можно избежать, используя цикл фор с двойным условием: int i, j; for (j=0, i = 0; (i < numbers.length) && (j < numbers.length); i++, j++) { numbers[i] = i * 2; System.out.println(numbers[j]); } } }
У меня есть небольшой вопрос/просьба/предложение(в общем как-то так). Вы не думали о создании некоего курса по LWJGL. Я не видел адекватных туториалов по нему в рунете, хотя штука вроде популярная?(Простите за некую косноязычность) Заранее спасибо за ответ.)
Испытывал некоторые сложности по пониманию массиву, но на примере ексель таблиц осознал, что массив состоит из строк и столбцов, а данные внутри каждой ячейки - это те данные с которыми мы работаем
Кстати могу дать вам немного инфы , лично я после этого 10 урока сделал анкету опроную с регистрацией для закреплнения материала и вам советую вы конечно полную регистрацию сделать не сможем но можно сделать так что типо там выданные данные и мы проверяем их на правильность , потому что мы еще не знаем как проверять в почте на наличие символа собаки или это надо делать через очень трудный пендель , в будущем можно выучить эту библиотеку или метод а так пока что сделать только это switch and for не используются там а все остальное смотря как вы будете делать
Если вдруг кто еще не понял, уточню - метод System.out.println() ничего не возвращает, он просто выводит введенные параметры на экран. Целью же создания этого цикла была инициализация всех элементов массива.
Зачем после for(int i = 0; i < num.length; i++) фигурная скобка, когда всё работает и без неё? Или тут кроется какой-то подвох? Спасибо за полезный контент.)
Вопрос. Почему при создании второго массива не недо писать new. Т.е. мы же вроде должны сослаться на объект масссив. На другом ресурсе для прямого заполнения преллагали запись: int [] mas = new int[] {1,2,5};
Добрый день! Подскажите пожалуйста, а зачем вы дважды создавали цикл for? В первом присвоили значения элементам массива, а во втором вывели на печать. Я попробовала и поняла, что можно было всё сделать в одном цикле) Есть какие-то нюансы в этом? P.S. С третьим циклом всё понятно, интересуют именно первые два.
А стоит попробовать лишь поменять прибавляемое к i число, например, 4. Тогда цикл остановится и массив прекратит выполняться на второй итерации, и нам в терминал выдадут только 2 элемента массива - 0 и 40
На самом деле этой информации за 11 уроков ( ну я еще другие источники смотрел, но нацелен на данный плейлист ) хватает , чтобы создавать прототипы маленьких программ. Вот сейчас я написал блок в 100 строк кода/тк в методах и объектах не волоку особо, просто подразбиваю на интуитивно понятные части, которые потом можно будет завернуть копипастой/ оптимизировал его, придумал второй вариант функционала, начал его писать. Причем изначально все выглядит так: повторяешь за автором уроков, думаешь: нихуя не понятно, попробую просто слова поменять. Смотришь на то, что что-то не так работает ( возвращаясь к теме про свичи, оказалось они сравнивают строки только по длине ). Находишь вариант решения, шевелишь извилинами и думаешь где ты мог бы применить данную технологию, пишешь используя все 11 тем, что-то не работает ( возвращаясь к теме про свичичи ) ) фиксишь - это, понимаешь какое свичи говно, меняешь свичи на ifelse, понимаешь, что в случае с краткими инструкциями лучше писать if()code; рефакторишь и оптимизируешь код на с 110 до 80 символов. Тк используется более адекватный вариант проверки условий: сносишь половину переменных и распределяешь больше функций на каждую из. Получаешь прототип, который уже не выглядит как говно, да с многомерными массивами и ForEach он будет еще пизже, равно как и с остальными темами. Выложить его я не могу, т.к. я хочу его допилить, но в целом я заметил, что если правильно и интуитивно понятно составлять блоки и подблоки и понимать что программа должна делать, то при прохождении новой темы, не составит труда какой то блок или подблок перевести на новый инструмент.
Добрый день!При втором способе сразу создать массив и ввести значения в уроке показано: int numbers1[] = {1, 2 ,3}; получается не нужно создавать по такой схеме ???: int numbers1[] = new Int {1, 2 , 3};
я тож охерел видимо и так и так правильно просто на втором способе int numbers1[ ] = new int[ ] {1, 2 , 3}; // квадратные скобки забыл кажется как помню
Для наглядности, один цикл отвечает за заполнения массива данными, второй за вывод данных. Можно и в одном цикле сделать все, разницы никакой, с двумя циклами нагляднее.
Ради эксперимента даже так сделал: засунул вместо числа нашу переменную number, задав диапазон 10 ячеек и прибавил к ячейкам эту-же переменную получив -> 10 -100
Писать дважды for(int i = 0; i < num.length; i++) не обязательно, можно после первой записи сделать System.out.println(num[i]); и результат будет тот же. Или тут кроется какой-то подвох? Спасибо за полезный контент.)
Для наглядности, один цикл отвечает за заполнения массива данными, второй за вывод данных. Можно и в одном цикле сделать все, разницы никакой, с двумя циклами нагляднее. -"вот так мне ответили"
Здравствуйте! научите пожалуйста !!! как вытащить список из массива все данные USERS ..... логику покажите пожалуйста for (MagazinchiVaQarzdor qarzdor: magazinchiVaQarzdor) { System.out.println(qarzdor); } так не получается
Дело сделано. Полазил вниз по комментариям кой чего узнал. + дз решил от какого то человека) int[] send1 = {6,3,19,777}; for(int b = 0 ; b < send1.length; b++) { // out 0 1 2 3 модифицируете массив и выводите его на печать send1[b] = b; System.out.print(send1[b] + " "); } System.out.println(); int[] send2 = {6,3,19,777}; for(int b = 0 ; b < send2.length; b++) { // out 6 3 19 777 просто выводите содержимое массива в консоль System.out.print(send2[b] + " "); } И также это вот полезно для понимания ссылочных типов String: String s1 = "Hello"; String s2 = new String("Hello"); String s3 = "Hello"; String s4 = new String("Hello"); System.out.println(s1 == s2); //false Для s2 выделена отдельная ячейка памяти System.out.println(s1 == s3); //true s1 и s3 ссылаются на одну и ту же ячейку, отличную от s2 System.out.println(s2 == s4); //false s2 и s4 ссылаются на разные ячейки памяти // логический оператор == для ссылочных типов данных сравнивает место закрепленное в памяти за объектом(ячейки памяти) System.out.println(s1.equals(s2));//true, потому что метод equals() сравнивает количество элементов и их очередность // в переменной String System.out.println(s2.equals(s4));// true)) public static void sortBubble(int[] arr) { boolean b = false; while (!b) { b = true; for (int i = 0; i < arr.length - 1; i++) { if (arr[i] > arr[i + 1]) { b = false; int buf = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = buf; } } System.out.println(Arrays.toString(arr)); } }
Советую использовать вместо комментариев сервисы для этого предназначенные, например repl.it/. (выбираешь start coding -> java и вперед).Там можно писать код и скидывать ссылку, так люди смогут зайти и поэксперементировать с твоим кодом, все более наглядно чем стена непонятного текста в комментариях.
Именно потому что массив это ссылка, нельзя скопировать массив одной строчкой, ибо скопируется только ссылка и две переменных будут указывать на один массив (который хранится в куче)
хотел бы уточнить когда ты делаешь int [] a = int[3] , то это хначит что все числа в этом массиве =0 , которые потом можно переопределить , такое же поведение и в масивах типа char char [] b = char[2] -- char[0] - сразу же имеет значение 0
Для наглядности, один цикл отвечает за заполнения массива данными, второй за вывод данных. Можно и в одном цикле сделать все, разницы никакой, с двумя циклами нагляднее. -"вот так мне ответили"
Привет! подскажи пожалуйста как реализован индекс в массиве? он хранится в памяти или отсчитывает как то? как джава помнит индекс? почему доступ по индексу в Array быстрее чем перебор в List?
Индекс - это то, сколько раз надо прибавить размер элемента массива к начальному адресу массива. Он нигде не хранится. Если массив состоит из элементов в 4 байта, то чтобы найти элемент с индексом 2, например, надо к адресу начала массива прибавить 8 байт. Списки медленнее массивов, так как элементы списка не лежат в памяти подряд. Поэтому в односвязных списках, например, одна ячейка списка хранит и само значение и адрес со ссылкой на следующий элемент. Чтобы найти соответствующий элемент надо "прыгать" по эти адресам. Это занимает больше времени, но зато списки можно наращивать без проблем. Массиву нужен участок памяти для размещения сразу целиком. Иначе он просто не сможет работать.
А что в Вашем понимании счётчик цикла? Это весьма абстрактное понятие и в качестве "счётчика" может выступать абсолютно любая переменная, которая, в частности, может быть объявлена и проинициализирована за пределами цикла. В примере, который был приведён автором, целочисленная переменная i используется для указания индекса массива под которым находится конкретный элемент. Чтобы получить последовательный доступ ко всем элементам массива, переменная i инкрементируется в конце каждой итерации. Таким образом, мы используем данную шаблонную форму записи для вывода всех элементов массива на терминал.
Аха-ха с начало даже засомневался, что на том канале, смена аватарки ввела в ступор! Огромное спасибо за урок, все доходчиво. А можешь сделать видосик как удалять из массива значения?! Оченьнаманехватаит :)
Размер массива является статичным и задаётся один раз. Таким образом, количество элементов всегда будет оставаться неизменным. Удалить Вы их никак не сможете, максимум, что можно будет сделать, так это обнулить их, но толку от этого мало. Если хотите удалять элементы массива, то используйте в качестве альтернативы обычному массиву класс ArrayList и метод remove(int index) с указанием конкретного индекса элемента, который Вы хотите удалить.
Здравствуйте. Поясните, пожалуйста, отчего нельзя было сделать так: for (int i = 0; i < numbers.length; i++) { numbers[i] = i*10; // System.out.println(numbers[i]); } а понадобилось выносить за цикл участок for (int i = 0; i < numbers.length; i++) { System.out.println(numbers[i]); } и писать идентичный кусок кода? (это 11-12 минута ролика) Хотелось бы понять. Спасибо.
так сделать можно было. В вашем примере вы помещаете значение в массив, а потом сразу же его выводите на экран. Почему я сделал так? В качестве примера хотелось разделить помещение элементов в массив и извлечение этих элементов. Поэтому в уроке было два цикла for.
Добрый день, скажите пожалуйста может ли массив иметь имя с цифрами, например - "step0,25" ? И ещё вопрос - целочисленные элементы массива отделяются друг от друга запятыми, например {1,2,3}, а что если массив имеет не целочисленный, а дробные элементы, то как их отделить друг от друга? {0,5 3,14 0,739}
+Семен Дмитров Здравствуйте, 1) массив может иметь имя с цифрами, но не может иметь запятых в названии и цифра, если есть, не может стоять в начале имени. Пример: int[] step025 - правильно int[] 025step - неправильно int[] step0,25 - неправильно 2) В java (по крайней мере у меня) дробные числа записываются с точкой. Пример: 3.14 Поэтому в массиве они прекрасно отделяются запятыми.
решил попрактиковаться как ты сказал но подумал а почему нельзя сделать инициализацию и вывод значений в одном цикле ты же создаёшь два абсолютно одинаковых цикла поэтому
Массивы - самая примитивная и легкая для понимания структура данных. Я вообще не понимаю, как это можно не понимать. Что же с вами будет на бинарных деревьях тогда? )))
3:29 не могу понять зачем нужна new? String s = "Hello"; String s1 = "Hello"; // вместо String s1 = new String ("Hello"); это не то же самое? Вроде объявляем две переменные с одинаковым значем. В чём преимущество new? ------------------------------------------------------------- осталось ещё 999 тупых вопросов, ответы на которые я ищу по всему интернету, сори 🥴
На самом деле разница есть, и она не только в упрощении и коротком синтаксисе. Когда вы объявляете переменную типа String s = "Hello", вы сначала проверяете, есть ли строка с таким значением в пуле строк, и если есть, вам возвращается ссылка на нее. Если вы объявляете переменную типа String s = new String("Hello");, то вы однозначно создадите новый экземпляр класса String (новый объект) и поиска данной строки по пулу происходить не будет.
Вот рассказал бы про расширение выделенной динамической памяти( а точнее про ее дебильное отсутствие, и как с этим жить).... а это, что показал, это то базис базисом. С этим и проблем быть то не может, в плане это на любой стенке написано, и времени этому 4 мин хватит уделить для понимания
Доброго дня! Наиль, вот в помощь в изучении джавы присмотрела себе к покупке книгу Сьерры и Бейтса "Java для начинающих". Интересно Ваше мнение по поводу неё. Я в магазине её быстро пролистала, она похожа немного на детскую книгу... Вот я немного в раздумьях. Буду рада мнению и впечатлениям каждого участника кто читал. Помогите сделать выбор! Спасибо :)
Ребят, хелпаните, пожалуйста. Объясните, а зачем он сделал второй цикл for для вывода чисел на экран, если можно было вставить команду вывод сразу же в первый цикл? Просто меня очень смутил этот повтор, я решил проверить, вставил вывод в первый цикл for и получил точно такой же ответ. Так зачем было делать второй цикл for? Мне нужно знать сейчас в чем смысл этого действия, чтобы в дальнейшем не допустить ошибок в более сложных вычислениях.
Для наглядности, один цикл отвечает за заполнения массива данными, второй за вывод данных. Можно и в одном цикле сделать все, разницы никакой, с двумя циклами нагляднее. - "вот так мне ответили"
Всё очень круто в уроках( но все те кто сейчас понял , я на вашем уровне , мы все прекрасно понимаем какое мы дно и что нас ждёт трэш и алкоголизм , т.к. выечили мы букву а из алфавита максимуму :D) . Вопрос : почему кода я пишу : System.out.println(); int[] send1 = {6,3,19,777}; for(int b = 0 ; b < send1.length; b++) { System.out.println(send1[b]); всё чётко .... но когда я пишу : System.out.println(); int[] send1 = {6,3,19,777}; for(int b = 0 ; b < send1.length; b++) { send[b] = b; System.out.println(b); } У меня выдаёт 0 1 2 3 . если по русски просто ....
всё заработало,но в конце написало Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3 at LessonEl.main(LessonEl.java:14) Process finished with exit code 1 не знаете,что это может быть?
Знаете я javascript разработчик Писал на нём но пришла идея давай научусь на java. Ну подумал и начал искать нужные материалы в принципе они почти одинаковы И помните без труда не вытащишь и рыбу из пруда
import java.util.Scanner; public class ArraysInputHands { public static void main(String[] args) { int[] massive = new int[5]; Scanner scanner = new Scanner(System.in); System.out.println("Начинайте ввод в ячейки массива "); for (int i = 0; i < 5; i++) { massive[i] =scanner.nextInt(); System.out.println("Вы ввели в индекс массива "+ i+" "+ "цифру "+ massive[i]); } System.out.println(); System.out.print("Ваш массив выглядит так: "+" "+ massive[0]+","); System.out.print(massive[1]+","); System.out.print(massive[2]+","); System.out.print(massive[3]+","); System.out.print(massive[4]+","); } } //Это мой первый код. Не понимаю, как сделать запятую на индексы массива massive[0] и т.д. Хочется сделать еще исключения, а также сделать так,что бы при вводе massive[i]=scanner.nextInt нельзя было вводить пустую строчку, тоесть нажимать просто Enter. Не много разобрался... и вот: import java.util.Arrays; import java.util.Scanner; public class ArraysInputHands { public static void main(String[] args) { String[] massive = new String[5]; Scanner scanner = new Scanner(System.in); System.out.println("Начинайте ввод в ячейки массива "); for (int i = 0; i < 5; i++) { massive[i] =scanner.nextLine(); System.out.println("Вы ввели в индекс массива "+ i+" "+ "следующую строку: "+ massive[i]); } System.out.println(); System.out.println("Ваш массив выглядит так:"+Arrays.toString(massive));
ua-cam.com/video/li86TEAEhYM/v-deo.html&t=756 Автор кратко говорит для чего два цикл for: Первая инициализация а второй для вывода, можно было и всразу выводить. Но поробуйте вот этот код и вы поймете для чего второй цикл boolean[] arr = new boolean[10]; for( int i = 0; i< arr.length; i=i+2){ arr[i] = true; } for( int i = 0; i< arr.length; i++){ System.out.println(arr[i]);
К сожалению пока доступа нет к компу, и я только начинаю во всем разбираться, но когда = true, дальше программа не пойдёт, и вывод System.out.println удобнее написать отдельно в таком же for?
Жесть, у меня у супруга ник neil в стиме, его день рождения 17.07, сегодня между прочим тоже 17.07.22. И вот я смотрю видос про массивы, а в нем, в idea дефолтная надпись нейл 17.07.15 тупо что за стечение обстоятельств? я удивлена)) Очень хорошо объясняете, автор, пришла к вам с jr по рекам в коментах ♥
Регистрируйтесь на курс "Продвинутая Java": ua-cam.com/video/rRe1vT0SDD8/v-deo.html
Практикуйтесь в написании Java кода: java-marathon.tilda.ws
Обратите на это внимани:
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
На самом деле есть разница в создании строки:
String s = "Hello";
String s1 = new String("Hello");
а именно в способе хранения в памяти. В первом случае строка заносится в специально выделенную область памяти для хранения строк - пул строк. Перед этим проверяя нет ли там точно такой же строки, если есть - ссылка s будет указывать на эту строку, если нет, то эта строка туда заносится. Во втором случае она принудительно создает объект строки вне пула строк, и под каждую строку, созданную таким образом, будет выделяться область в памяти, даже если содержимое строк эквивалентно.
отличное замечание!
Так есть уже такой коммент, в топе которому 2 года, нахуя его копировать ещё и простынёй такой.
Был уверен, что в комментариях поправят и напомнят в чем отличие. Спасибо 😊
Она создаёт эту строку запрашивая динамическую память у ОС? Как в c++ int* array = new int []?
*Миллион благодарностей, прям миллион! Когда начал изучать тему массивов, не чего не понимал, проходил курс на JavaRush и выполнял задачки по этой теме, но делал я это по инерции, для меня эта вся тема была непробиваема в мою пульку, тогда я смотрел твой ролик, но я не понимал, сейчас решил снова посмотреть, и я прозрел. Теперь как орехи щелкаю эту тему. Ребята вам совет, просто практикуйтесь, практикуйтесь, практикуйтесь и смотрите ролики, не понятно один раз, ещё раз практикуйтесь, и опять смотрите видео*
Удачи тебе в изучении Java))
[Спасибо за совет! тоже начну так делать
+
супер! Спасибо!
Как успехи? Получилось устроится на работу? Интересно
Огромное спасибо, уже очень долгое время ищу доходчивого человека.
Когда смотрю другие уроки, сразу клонит в сон, потому что непонятно, поэтому сразу становится скучно.
Тебя можно слушать бесконечным циклом.
Чувак, огромное спасибо. Всё Очень подробно в твоих видосах, всё по полочкам !!!
Одно маленькое уточнение по поводу создания новой строки через присваивание и через new: они не абсолютно равноценны. Есть один нюансик для продвинутых ;)
Опишу его, вдруг кому будет полезно.
Если мы (или не мы) где-то ранее в программе создавали ту же строку "Hello", то она записывается в так называемый пул строк - это особая область памяти, где хранятся используемые программой строки. Если мы создаем еще одну строку "Hello" через присваивание, то этой переменной дается ссылка на уже имеющуюся строку в пуле строк. То есть теоретически может быть много строковых переменных, которые будут ссылаться на одну и ту же строку - читай "одну и ту же ссылку на область в памяти".
Чтобы гарантированно создать новую строку, нужно использовать ключевое слово new
Отличные уроки! Все доступно и понятно! Спасибо.
Пожалуйста, разработайте домашние задания для всех ваших уроков ! Это поможет закрепить материал! =)
Создайте массив, в котором числа сначала возрастают, потому убывают.
Сгенерируйте массив с произвольными отрицательными и положительными числами, а потом модифицируйте массив, чтобы в нем обнулились отрицательные числа
@@bogdantymKOLUBO спасибо за вариант заданий, помогло разбавить просмотр и перепечатывание из роликов. Решил, просто потому что почему бы и нет.
Для лучшего восприятия типов данных. Примитивный тип данных - это наличные деньги у тебя в кошелке, которыми на данный момент можешь воспользоваться только ты, а ссылочный тип данных - это деньги на счету в банке, которыми могут воспользоваться все у кого есть карта с доступом к этому счету (ссылка). Сделай дубликат карты жене (ссылкой поделись с ней) и плакали твои денежки (был объект и весь вышел). Мне так понятнее.)
Кое-кто только что спас мою оценку по информатике))). Спасибо огромное!
Просто хочу сказать большое СПАСИБО. Просто начал ходить на курсы Java , и многое не понимал, но благодаря твоим видео начинаю разбираться . Ты просто доходчиво рассказываешь. Хочу попросить тебя, так как ты уже пишешь программы , можешь писать и комментировать их на видео? То есть рассказывать каким способом ты будешь это делать и почему так а не так, мне кажется будет очень интересно. Пожалуйста не проигнорируй меня! Еще раз спасибо.
Хорошо!
хорошо то хорошо, а видео где? )
во во где видео?)))
Зачем ты ходишь на курсы java, если ничего не понимаешь?
@@gamehamster9379 дружище, на курсы ведь и ходят для того, чтобы научиться тому, чего не понимаешь и не знаешь?
Спасибо большое за урок ,смотрел другие видео и ломал голову что нечего не понимаю.А посмотрел твой видос и сразу все понял
Благодарю тебя, добрый человек.
Howdy. Зачем нужно бросать второй цикл для вывода на консоль элементов массива? Все ж работает и в одном цикле.
for (int i=0; i
Полагаю, что для обучающих целей. Показано как наполнить массив, потом как его использовать. Автор сначала тоже применял не i++, а i = i +1
Я тоже заметил как прохожу курс.
я прохожу как совсем новичок и долго пересматривал и пытался понять зачем второй раз писать for(int i = 0; i
Аналогично у меня как у новичка возник такой же вопрос. Для чего применен второй раз аналогичный оператор for с идентичным синтаксисом
А также зачем было прописывать под массивом numbers1 оператор for ?
Кажись он ничего не делает в данном случае. Или делает, подскажите плиз?
@@factop7374первый раз для заполнения массива, второй раз для вывода значений элементов. Цикл перебирает элементы. В первом случае для заполнения, во втором для вывода.
после урока 11 я умею:
Создать массив из пяти простых чисел. Ничего в него не вносить. Распечатать значение первой и последней ячейки массива
Создать массив и построчно присваивать значение каждой ячейке (какие-то пять цифр)
Создать массив и в фигурных скобках написать значения его ячеек (на видео 13:20)
Создать массив из пяти цифр с 10 до 15 с помощью for и вывести их значения. В условии i растет до того как не станет почти равна длине массива
arr[i] = i; --- воттак вот можно занести в массив информацию
@@bogdantymKOLUBO да
спасибо, за учет знаний зрителей, пока не обнаружил пробелов в знаниях подачи материала от предыдущих уроков, иду паровозом вместе с вами
Ты лучший, я просто на сайтах типа ява раш читал статейки и не оч догонял, а тут на лету схватываю
Большое спасибо😊
Когда автор произнес "пульты управления" у меня сразу же возникла ассоциация с книгой "Head first Java" ))))
Спасибо! Всё очень понятно объясняешь
А как лучше инициализировать массивы в Java, если заранее известны значения? я сам недавно начал изучать программирование и выбирал курсы для быстрого старта в IT. Рассматривал разные варианты, но в итоге остановился на Skypro из-за хороших отзывов. Курсы оказались очень структурированными, и уже через несколько месяцев я смог устроиться на работу с хорошей зарплатой))
хорошая попытка Skypro
Спасибо большое за урок!
Спасибо за труды)
Спасибо огромное за урок!!! 😍
Спасибо! Очень подробно и доходчиво. Супер!!!
Спасибо за отличный урок!
в уроке было дублирование кода)
его можно избежать, используя цикл фор с двойным условием:
int i, j;
for (j=0, i = 0; (i < numbers.length) && (j < numbers.length); i++, j++) {
numbers[i] = i * 2;
System.out.println(numbers[j]);
}
}
}
O_o WOoow Java Guru!
Скажу тебе больше можно сделать и с 1 условием,нахера 2 переменная....
я просто скажу , что у вас приятная подача материала
всеъ.
Спасибо!
У меня есть небольшой вопрос/просьба/предложение(в общем как-то так). Вы не думали о создании некоего курса по LWJGL. Я не видел адекватных туториалов по нему в рунете, хотя штука вроде популярная?(Простите за некую косноязычность)
Заранее спасибо за ответ.)
Я не знаю ничего про эту технологию, к сожалению.
Я посмотрю, что можно сделать.
Спасибо, все доходчиво изложено.
Ох, надо это все усвоить))
Очень ценная информация
Благодарю за видео
Испытывал некоторые сложности по пониманию массиву, но на примере ексель таблиц осознал, что массив состоит из строк и столбцов, а данные внутри каждой ячейки - это те данные с которыми мы работаем
Кстати могу дать вам немного инфы , лично я после этого 10 урока сделал анкету опроную с регистрацией для закреплнения материала и вам советую вы конечно полную регистрацию сделать не сможем но можно сделать так что типо там выданные данные и мы проверяем их на правильность , потому что мы еще не знаем как проверять в почте на наличие символа собаки или это надо делать через очень трудный пендель , в будущем можно выучить эту библиотеку или метод а так пока что сделать только это switch and for не используются там а все остальное смотря как вы будете делать
хоть и говно полное пока но для просто пробежки что выучил сойдет
кстати я увидел как все таки проверять символы в тексте но я решил что потом , трудно там пока понять
Спасибо, все очень понятно)
Спасибо за урок,
Подскажите в чем смысл 2го цикла,
for (int i =0; i
в принципе да,
for (int i = 0; i
Если вдруг кто еще не понял, уточню - метод System.out.println() ничего не возвращает, он просто выводит введенные параметры на экран. Целью же создания этого цикла была инициализация всех элементов массива.
@@АлексейМатиас-д4р не инициализация, а вывод всех элементов массива. Инициализация была осуществлена в первом цикле.
Зачем после for(int i = 0; i < num.length; i++) фигурная скобка, когда всё работает и без неё? Или тут кроется какой-то подвох? Спасибо за полезный контент.)
В случае одного оператора будет и без скобок работать. Если нужно несколько операторов в теле цикла, то ставят фигурные скобки.
Вопрос.
Почему при создании второго массива не недо писать new. Т.е. мы же вроде должны сослаться на объект масссив. На другом ресурсе для прямого заполнения преллагали запись:
int [] mas = new int[] {1,2,5};
это упрощение синтаксиса. компилятор сам дописывает необходимое.
Добрый день! Подскажите пожалуйста, а зачем вы дважды создавали цикл for? В первом присвоили значения элементам массива, а во втором вывели на печать. Я попробовала и поняла, что можно было всё сделать в одном цикле) Есть какие-то нюансы в этом? P.S. С третьим циклом всё понятно, интересуют именно первые два.
А стоит попробовать лишь поменять прибавляемое к i число, например, 4. Тогда цикл остановится и массив прекратит выполняться на второй итерации, и нам в терминал выдадут только 2 элемента массива - 0 и 40
Привет. А разве после первого цикла for(когда мы наполняем массив) нельзя сразу вывести ? Получается что мы 2 раза делаем тоже самое?
Для чего используется length в данном уроке? Для чего он приписывается к названию массива?
length это полная длинна заданного массива. length - в переводе с английского длинна
На самом деле этой информации за 11 уроков ( ну я еще другие источники смотрел, но нацелен на данный плейлист ) хватает , чтобы создавать прототипы маленьких программ. Вот сейчас я написал блок в 100 строк кода/тк в методах и объектах не волоку особо, просто подразбиваю на интуитивно понятные части, которые потом можно будет завернуть копипастой/ оптимизировал его, придумал второй вариант функционала, начал его писать. Причем изначально все выглядит так: повторяешь за автором уроков, думаешь: нихуя не понятно, попробую просто слова поменять. Смотришь на то, что что-то не так работает ( возвращаясь к теме про свичи, оказалось они сравнивают строки только по длине ). Находишь вариант решения, шевелишь извилинами и думаешь где ты мог бы применить данную технологию, пишешь используя все 11 тем, что-то не работает ( возвращаясь к теме про свичичи ) ) фиксишь - это, понимаешь какое свичи говно, меняешь свичи на ifelse, понимаешь, что в случае с краткими инструкциями лучше писать if()code; рефакторишь и оптимизируешь код на с 110 до 80 символов. Тк используется более адекватный вариант проверки условий: сносишь половину переменных и распределяешь больше функций на каждую из. Получаешь прототип, который уже не выглядит как говно, да с многомерными массивами и ForEach он будет еще пизже, равно как и с остальными темами. Выложить его я не могу, т.к. я хочу его допилить, но в целом я заметил, что если правильно и интуитивно понятно составлять блоки и подблоки и понимать что программа должна делать, то при прохождении новой темы, не составит труда какой то блок или подблок перевести на новый инструмент.
Как у тебя дела? Получил первый оффер?
в компиляторе 8я строка " for (i=0: i
i=0: тут двоеточие стоит.
Добрый день!При втором способе сразу создать массив и ввести значения в уроке показано:
int numbers1[] = {1, 2 ,3};
получается не нужно создавать по такой схеме ???:
int numbers1[] = new Int {1, 2 , 3};
я тож охерел видимо и так и так правильно просто на втором способе
int numbers1[ ] = new int[ ] {1, 2 , 3}; // квадратные скобки забыл кажется как помню
Я так и не понял, зачем на 12 минуте мы второй раз писали цикл фор, если можно было просто вывести данные.
Для наглядности, один цикл отвечает за заполнения массива данными, второй за вывод данных.
Можно и в одном цикле сделать все, разницы никакой, с двумя циклами нагляднее.
2022 прохожу тему масивы!))) всём хорошего кода..
System.out.println("как успехи? не забросил?")
@@Частныйсектор-х4я нет, это шанс всё изменить в своей жизни!)
@@AxelNewsWeek тоже хочу)) давай вместе? вместе веселей.
@@Частныйсектор-х4я давай!)
Скиньте почту или номер, телеграм ютуб удаляет. Или мне на почту скиньте свой телеграм
Ради эксперимента даже так сделал: засунул вместо числа нашу переменную number, задав диапазон 10 ячеек и прибавил к ячейкам эту-же переменную получив -> 10
-100
Писать дважды for(int i = 0; i < num.length; i++) не обязательно, можно после первой записи сделать System.out.println(num[i]); и результат будет тот же. Или тут кроется какой-то подвох? Спасибо за полезный контент.)
Для наглядности, один цикл отвечает за заполнения массива данными, второй за вывод данных.
Можно и в одном цикле сделать все, разницы никакой, с двумя циклами нагляднее.
-"вот так мне ответили"
Вопрос: Если массивы в виде объектов, то к какому классу относятся массивы? Object?
Здравствуйте! научите пожалуйста !!! как вытащить список из массива все данные USERS ..... логику покажите пожалуйста
for (MagazinchiVaQarzdor qarzdor: magazinchiVaQarzdor) {
System.out.println(qarzdor);
}
так не получается
Дело сделано. Полазил вниз по комментариям кой чего узнал. + дз решил от какого то человека)
int[] send1 = {6,3,19,777};
for(int b = 0 ; b < send1.length; b++) { // out 0 1 2 3 модифицируете массив и выводите его на печать
send1[b] = b;
System.out.print(send1[b] + " ");
}
System.out.println();
int[] send2 = {6,3,19,777};
for(int b = 0 ; b < send2.length; b++) { // out 6 3 19 777 просто выводите содержимое массива в консоль
System.out.print(send2[b] + " ");
}
И также это вот полезно для понимания ссылочных типов String:
String s1 = "Hello";
String s2 = new String("Hello");
String s3 = "Hello";
String s4 = new String("Hello");
System.out.println(s1 == s2); //false Для s2 выделена отдельная ячейка памяти
System.out.println(s1 == s3); //true s1 и s3 ссылаются на одну и ту же ячейку, отличную от s2
System.out.println(s2 == s4); //false s2 и s4 ссылаются на разные ячейки памяти
// логический оператор == для ссылочных типов данных сравнивает место закрепленное в памяти за объектом(ячейки памяти)
System.out.println(s1.equals(s2));//true, потому что метод equals() сравнивает количество элементов и их очередность
// в переменной String
System.out.println(s2.equals(s4));// true))
public static void sortBubble(int[] arr) {
boolean b = false;
while (!b) {
b = true;
for (int i = 0; i < arr.length - 1; i++) {
if (arr[i] > arr[i + 1]) {
b = false;
int buf = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = buf;
}
}
System.out.println(Arrays.toString(arr));
}
}
Советую использовать вместо комментариев сервисы для этого предназначенные, например repl.it/. (выбираешь start coding -> java и вперед).Там можно писать код и скидывать ссылку, так люди смогут зайти и поэксперементировать с твоим кодом, все более наглядно чем стена непонятного текста в комментариях.
Если не писать второй цикл for, то результат вывода одинаковый. Почему так?
+Влад Котвицкий
Получается, что писать цикл for для System.out.print было не обязательно.
Именно потому что массив это ссылка, нельзя скопировать массив одной строчкой, ибо скопируется только ссылка и две переменных будут указывать на один массив (который хранится в куче)
А где можно исходный код уроков взять? на гитхабе не нашёл
for(int i = 0; i
хотел бы уточнить когда ты делаешь int [] a = int[3] , то это хначит что все числа в этом массиве =0 , которые потом можно переопределить , такое же поведение и в масивах типа char char [] b = char[2] -- char[0] - сразу же имеет значение 0
Пожалуйста подскажите, зачем два раза писать вроде цикл for(int i=0; i
Для наглядности, один цикл отвечает за заполнения массива данными, второй за вывод данных.
Можно и в одном цикле сделать все, разницы никакой, с двумя циклами нагляднее.
-"вот так мне ответили"
но ведь System.out.println(numbers[i]); можно было бы вставить в первом цикле, или урок был продуман так специально?
специально
У меня вопрос: а почему мы пишем 2 раза for?
когда-то люди учили программировать с блок-схем и поэтому потом не задавали таких тупых вопросов. а ещё внимательно слушали.
Первый - задаёт значение каждому индексу, второй - выводит на экран значение каждого индекса..
Привет! подскажи пожалуйста как реализован индекс в массиве? он хранится в памяти или отсчитывает как то? как джава помнит индекс? почему доступ по индексу в Array быстрее чем перебор в List?
Индекс - это то, сколько раз надо прибавить размер элемента массива к начальному адресу массива. Он нигде не хранится. Если массив состоит из элементов в 4 байта, то чтобы найти элемент с индексом 2, например, надо к адресу начала массива прибавить 8 байт. Списки медленнее массивов, так как элементы списка не лежат в памяти подряд. Поэтому в односвязных списках, например, одна ячейка списка хранит и само значение и адрес со ссылкой на следующий элемент. Чтобы найти соответствующий элемент надо "прыгать" по эти адресам. Это занимает больше времени, но зато списки можно наращивать без проблем. Массиву нужен участок памяти для размещения сразу целиком. Иначе он просто не сможет работать.
а зачем переписывать второй раз?
for(int i = 1; i
Spasibo brat.xorosho obyasnyaesh.Napishesh svoi dannie facebooka,instagramma?
Спасибо!
Почему вывод на экран элементов массива реализован в отдельном цикле, а не в первом цикле всего одной строчкой sout?
Для того, чтобы было удобно объяснить, как заполняются элементы массива и как выводиться. Это простейший пример.
Добрый день. Подскажите, пожалуйста.
В примере из видео:
массив int[ ] numbers1 = {1,2,3}
Выводим его на консоль:
for ( for int i=0; i
А что в Вашем понимании счётчик цикла? Это весьма абстрактное понятие и в качестве "счётчика" может выступать абсолютно любая переменная, которая, в частности, может быть объявлена и проинициализирована за пределами цикла. В примере, который был приведён автором, целочисленная переменная i используется для указания индекса массива под которым находится конкретный элемент. Чтобы получить последовательный доступ ко всем элементам массива, переменная i инкрементируется в конце каждой итерации. Таким образом, мы используем данную шаблонную форму записи для вывода всех элементов массива на терминал.
ну так это не только счётчик цикла, это номер элемента в массиве
спасибо
👍
как выводить массив рекурсивно?
Аха-ха с начало даже засомневался, что на том канале, смена аватарки ввела в ступор! Огромное спасибо за урок, все доходчиво. А можешь сделать видосик как удалять из массива значения?! Оченьнаманехватаит :)
Размер массива является статичным и задаётся один раз. Таким образом, количество элементов всегда будет оставаться неизменным. Удалить Вы их никак не сможете, максимум, что можно будет сделать, так это обнулить их, но толку от этого мало. Если хотите удалять элементы массива, то используйте в качестве альтернативы обычному массиву класс ArrayList и метод remove(int index) с указанием конкретного индекса элемента, который Вы хотите удалить.
Второй цикл можно было не прописывать, sout засунуть в первый цикл?
Здравствуйте.
Поясните, пожалуйста, отчего нельзя было сделать так:
for (int i = 0; i < numbers.length; i++) {
numbers[i] = i*10; //
System.out.println(numbers[i]);
}
а понадобилось выносить за цикл участок
for (int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}
и писать идентичный кусок кода? (это 11-12 минута ролика)
Хотелось бы понять.
Спасибо.
так сделать можно было. В вашем примере вы помещаете значение в массив, а потом сразу же его выводите на экран.
Почему я сделал так? В качестве примера хотелось разделить помещение элементов в массив и извлечение этих элементов. Поэтому в уроке было два цикла for.
Ясно.
Спасибо Вам большое, у Вас получается великолепное обучающее видео - очень помогает осваивать материал.
Пожалуйста.
не фига не пойму i была инициализирована сразу в операторе for (до этого не проскакивала)
Зачем описывать вывод массива во втором цикле, когда можно вбить вывод массива совместно с первыми циклом?
Спасибо!!!!!!!!!!
Почему то консоль выдаёт ноль. С чем это может быть связано?
Прошу прощения, разобрался)
У меня почему то выделяет красным length
Добрый день, скажите пожалуйста может ли массив иметь имя с цифрами, например - "step0,25" ?
И ещё вопрос - целочисленные элементы массива отделяются друг от друга запятыми, например {1,2,3}, а что если массив имеет не целочисленный, а дробные элементы, то как их отделить друг от друга? {0,5 3,14 0,739}
+Семен Дмитров Здравствуйте,
1) массив может иметь имя с цифрами, но не может иметь запятых в названии и цифра, если есть, не может стоять в начале имени.
Пример:
int[] step025 - правильно
int[] 025step - неправильно
int[] step0,25 - неправильно
2) В java (по крайней мере у меня) дробные числа записываются с точкой.
Пример: 3.14
Поэтому в массиве они прекрасно отделяются запятыми.
+javaRussia понятно, спасибо.
Для чего второй цикл For???
решил попрактиковаться как ты сказал но подумал а почему нельзя сделать инициализацию и вывод значений в одном цикле ты же создаёшь два абсолютно одинаковых цикла поэтому
А для чего мы пишем первую int number = 10; я попробовал без этой строки, программа тоже работает.
это просто пример примитивного типа данных. Как вариант, можешь в цикле подставить number, чтоб без дела переменная не болталась )
На теме "массивы" мозг начинает просить пощады. Дайте совет , как можно перебороть это?
Пересмотри раза 4. Мне помогло.
Массивы - самая примитивная и легкая для понимания структура данных. Я вообще не понимаю, как это можно не понимать. Что же с вами будет на бинарных деревьях тогда? )))
@@phat80 я уже розобрался в массивах. Буду двигаться дальше , и когда дойду до бинарных деревьев увидим
@@brownfinger5913 по идее хорошо бы все структуры данных изучать сразу, одним блоком. Ну чтобы представлять полную картину. Хотя, кому как удобнее.
@@brownfinger5913 как ваши успехи?)
3:29 не могу понять зачем нужна new?
String s = "Hello";
String s1 = "Hello"; // вместо String s1 = new String ("Hello");
это не то же самое? Вроде объявляем две переменные с одинаковым значем. В чём преимущество new?
-------------------------------------------------------------
осталось ещё 999 тупых вопросов, ответы на которые я ищу по всему интернету, сори 🥴
На самом деле разница есть, и она не только в упрощении и коротком синтаксисе.
Когда вы объявляете переменную типа String s = "Hello", вы сначала проверяете, есть ли строка с таким значением в пуле строк, и если есть, вам возвращается ссылка на нее.
Если вы объявляете переменную типа String s = new String("Hello");, то вы однозначно создадите новый экземпляр класса String (новый объект) и поиска данной строки по пулу происходить не будет.
Вот рассказал бы про расширение выделенной динамической памяти( а точнее про ее дебильное отсутствие, и как с этим жить).... а это, что показал, это то базис базисом. С этим и проблем быть то не может, в плане это на любой стенке написано, и времени этому 4 мин хватит уделить для понимания
Я упростил чутка:)
public class arrays {
public static void main(String [] args){
int namber = 10;
int[] numbers = new int [5];
for (int i = 0; i
Доброго дня! Наиль, вот в помощь в изучении джавы присмотрела себе к покупке книгу Сьерры и Бейтса "Java для начинающих". Интересно Ваше мнение по поводу неё. Я в магазине её быстро пролистала, она похожа немного на детскую книгу... Вот я немного в раздумьях. Буду рада мнению и впечатлениям каждого участника кто читал. Помогите сделать выбор! Спасибо :)
Здравствуйте, Юлия!
Не читал, не могу сказать.
Задайте вопрос вот здесь: t.me/alishev_g
Возможно кто-то читал.
@@alishevN спасибо огромное!!!
как успехи с java?
Блин сума сойти как же это понять то? Зачем так усложнять и чтоб вывести что то из массива нужно мучаться с 2мя запутанными циклами.
спасибо
Я не понял ничего!
инкрементируется? это точно слова для начинающих??)
ну ето англицизм. Перевод слова - увеличение
не понял зачем біло прописівать второй раз цикл фор на 12 минуте, можно же просто біло вівести на єкран после первого все
Абсолютно все понятно ) но как только сажусь за комп ,все как в тумане
Практики не хватает
@@alishevN работаю над этим)))
Ребят, хелпаните, пожалуйста. Объясните, а зачем он сделал второй цикл for для вывода чисел на экран, если можно было вставить команду вывод сразу же в первый цикл? Просто меня очень смутил этот повтор, я решил проверить, вставил вывод в первый цикл for и получил точно такой же ответ. Так зачем было делать второй цикл for? Мне нужно знать сейчас в чем смысл этого действия, чтобы в дальнейшем не допустить ошибок в более сложных вычислениях.
Для наглядности, один цикл отвечает за заполнения массива данными, второй за вывод данных.
Можно и в одном цикле сделать все, разницы никакой, с двумя циклами нагляднее.
- "вот так мне ответили"
Всё очень круто в уроках( но все те кто сейчас понял , я на вашем уровне , мы все прекрасно понимаем какое мы дно и что нас ждёт трэш и алкоголизм , т.к. выечили мы букву а из алфавита максимуму :D) .
Вопрос :
почему кода я пишу :
System.out.println();
int[] send1 = {6,3,19,777};
for(int b = 0 ; b < send1.length; b++) {
System.out.println(send1[b]);
всё чётко ....
но когда я пишу :
System.out.println();
int[] send1 = {6,3,19,777};
for(int b = 0 ; b < send1.length; b++) {
send[b] = b;
System.out.println(b);
}
У меня выдаёт 0 1 2 3 . если по русски просто ....
наверное даже я понял почему , интересно даже как вывести в систем принтл ( не send1[b]]) а какуенибудь переменную "a" "c" или что ни будь такое ?
int c = a ; но как то наверное банально , но ок :) Что нибудь бы поинтереснее
в первом случае вы просто выводите содержимое массива в консоль, а во втором, И модифицируете массив, И выводите его на печать
public class Arrays{
public static void main(String[] args){
int number = 10;
int[] numbers = new int[5];
for(int i = 0; i
всё заработало,но в конце написало
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
at LessonEl.main(LessonEl.java:14)
Process finished with exit code 1
не знаете,что это может быть?
Знаете я javascript разработчик
Писал на нём но пришла идея давай научусь на java.
Ну подумал и начал искать нужные материалы в принципе они почти одинаковы
И помните без труда не вытащишь и рыбу из пруда
Задание: А теперь сделайте массив с вводом данных вручную, и распечатайте ее в одну строчку через запятую ))))
import java.util.Scanner;
public class ArraysInputHands {
public static void main(String[] args) {
int[] massive = new int[5];
Scanner scanner = new Scanner(System.in);
System.out.println("Начинайте ввод в ячейки массива ");
for (int i = 0; i < 5; i++) {
massive[i] =scanner.nextInt();
System.out.println("Вы ввели в индекс массива "+ i+" "+ "цифру "+ massive[i]);
}
System.out.println();
System.out.print("Ваш массив выглядит так: "+" "+ massive[0]+",");
System.out.print(massive[1]+",");
System.out.print(massive[2]+",");
System.out.print(massive[3]+",");
System.out.print(massive[4]+",");
}
}
//Это мой первый код. Не понимаю, как сделать запятую на индексы массива massive[0] и т.д. Хочется сделать еще исключения, а также сделать так,что бы при вводе massive[i]=scanner.nextInt нельзя было вводить пустую строчку, тоесть нажимать просто Enter.
Не много разобрался... и вот:
import java.util.Arrays;
import java.util.Scanner;
public class ArraysInputHands {
public static void main(String[] args) {
String[] massive = new String[5];
Scanner scanner = new Scanner(System.in);
System.out.println("Начинайте ввод в ячейки массива ");
for (int i = 0; i < 5; i++) {
massive[i] =scanner.nextLine();
System.out.println("Вы ввели в индекс массива "+ i+" "+ "следующую строку: "+ massive[i]);
}
System.out.println();
System.out.println("Ваш массив выглядит так:"+Arrays.toString(massive));
я новичок, мой код:
Scanner mine = new Scanner(System.in);
int[] numbers = new int[5];
for (int i = 0; i
ua-cam.com/video/li86TEAEhYM/v-deo.html&t=756 Автор кратко говорит для чего два цикл for: Первая инициализация а второй для вывода, можно было и всразу выводить. Но поробуйте вот этот код и вы поймете для чего второй цикл
boolean[] arr = new boolean[10];
for( int i = 0; i< arr.length; i=i+2){
arr[i] = true;
}
for( int i = 0; i< arr.length; i++){
System.out.println(arr[i]);
К сожалению пока доступа нет к компу, и я только начинаю во всем разбираться, но когда = true, дальше программа не пойдёт, и вывод System.out.println удобнее написать отдельно в таком же for?
Пустые ячейки? 13:09 Случайно не вакуумом заполнены?
Жесть, у меня у супруга ник neil в стиме, его день рождения 17.07, сегодня между прочим тоже 17.07.22. И вот я смотрю видос про массивы, а в нем, в idea дефолтная надпись нейл 17.07.15 тупо что за стечение обстоятельств? я удивлена)) Очень хорошо объясняете, автор, пришла к вам с jr по рекам в коментах ♥
Я все ровно не понимаю зачем писать String s = new String("Hello"); если можно писать короче вот так- String s =("Hello");
омг , да можно как и премитивным способом , можно ссылочным ....
так а разница между этими способами значительная или нет?
никакой. он написал так для примера - как создается новый объект
такое себе... предыдущие уроки понял, здесь как-то расплывчато все