Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Просто сделайте обучение веселым, а все остальное приложится! Удивительно, но Scala может быть самым легким языком, если вы попробуете Kojo (Scala лучше Java, у вас есть доступ ко всем библиотекам Java, конечно)
Можно найти некоторое вдохновение в этом проекте:
Обучающие Дети, Программирующие: Еще Младшие Дети Могут Изучить Программирование Java
Java для Детей, Родителей и Бабушки и дедушки.
можно найти здесь в faratasystems веб-сайт (прямая ссылка здесь )
Среди уроков изученный во время такого проекта, упоминаний автора:
большинство задач программирования требует минимального знания навыков арифметики и алгебры. Чтобы начать программировать, ребенок должен понять то, что означает x = y+2. Другое важное понятие для понимания если оператор.
Дети разрабатывают абстрактные способности к обоснованию четвертым пятым классом, и они также легко выполняют такие задачи как просмотр веб-сайтов, загрузка и установка программного обеспечения. Dave изучил, как ввести, скомпилируйте и запустите программы Java в Eclipse IDE в мгновение ока.
Дети учатся намного быстрее, чем взрослые, но у них нет "предыдущего опыта программирования", который может на самом деле быть хорошей вещью, потому что они не должны переключаться от процедурного до объектно-ориентированного образа мыслей. После приобретения знаний о наследовании Dave назвал мою жену суперклассом.
Взрослые являются ответственными созданиями, и они могут продолжать делать скучные операции намного дольше, это шутит. Уроки программирования с детьми должны быть короткими. Один или два 45-минутных урока в неделю достаточно. Дети средней школы должны быть в состоянии учиться больше, но у меня еще нет такого опыта.
справка Иллюстраций. В моей книге я включал много цветных подобных мультфильму символов, которые похожи на смягчитель матрицы Java.
Детям нравится видеть непосредственные результаты и любить играть с более короткими программами, например, класс Рыба имеет погружение метода (интервал howDeep). Позвольте мне попытаться назвать этот метод несколько раз с различными аргументами...
Графическое программирование является самым забавным, и даже довольно большая программа как Калькулятор, Tic-Tac-Toe или Пинг-понг может быть объяснена детям.
Вы изучили BlueJ? Я знаю, что Вы сказали, что склоняетесь против IDE, но это - IDE, конкретно приспособленный к обучающему Java. Также это, кажется, имеет некоторые вещи, которые 8-летний мог бы найти прохладным как графические представления структур класса.
Я думаю, что Greenfoot лучше, чем BlueJ для 8 лет. Это разрабатывается теми же людьми, которые сделали Bluej, но это - путь больше графическое, все еще позволяя полное программирование Java приложений.
http://www.greenfoot.org/getting-started/ 1-загрузок и установка JDK 2-тогда загрузка и установка greenfoot, и Вы готовы запуститься 3-, проверяют хороший и легкий учебный CrabWorld: http://www.greenfoot.org/scenarios/files/crab.zip
я недавно использовал GreenFoot для обсуждения программирования Java в очень коротком вводном курсе для учеников средней школы в нашем университете: http://aaue.dk/~av/brobygning2008-software/ (если это могло бы иметь какое-либо применение).
При поддержке Java не фундаментальная функция, Вы могли также попробовать царапину MIT (автономная версия писка): http://scratch.mit.edu/ Это очень хорошо для запуска, и я использовал его 2 месяца назад в действии PR, вовлекающем 2 13 лет. Меньше чем после 1 дня игры с царапиной они сделали свою собственную видеоигру: http://aaue.dk/~av/personal.html ("Проклятая" игра, они назвали его как этот:>), но это программируется на его собственном (визуальном) языке программирования...
Я знаю не Java, но мой друг homeschools его дети, и он использует
Я знаю, что Вы попросили Java, но я собираюсь рискнуть и предложить смотреть на основанную на Ruby Обувь: http://shoooes.net/ и http://hackety.org/press/
я полагаю, что это было первоначально записано как учебное пособие.
, Если бы я был ребенком, учащимся программировать, это заинтересовало бы меня.
я попробовал бы Python, потому что
1) Python идет с достойным REPL - Неактивный.. вместо того, чтобы писать длинные файлы кода, javacing и затем javaing это.. при оценке выражения момент, Вы вставляете его, мог бы лучше удовлетворить продолжительности концентрации внимания восьмилетнего..., можно все еще сделать функции и модули и материал.. но в более интерактивной среде
2) Python не имеет строгого ввода и позволяет Вам играть со словарями и связанными списками переменного размера с очень небольшим количеством синтаксиса.. тот путь.. Вы могли преподавать ему некоторые большие идеи позади программирования сначала и отпуска, изучив много синтаксиса на потом, когда он уже очень вовлечен в этот материал
выезд http://openbookproject.net//thinkCSpy/
Я пошел бы для схемы. Так или иначе смотрите на этом сайте, он имеет некоторый Java и педагогические ресурсы: http://www.teach-scheme.org/
Существует интересный Google Tech Talk на Дети Teching для Кодирования - он покрывает часть программного обеспечения, названного Greenfoot, который является вводным инструментом программирования, который использует Java. Это использует перетаскивание и другие визуальные методы взаимодействия с классами.
Я не запустил бы дочерний элемент с Java. Учите его, что что-то более концептуально убирает сначала. Что-то как LISP, или Логотип . Логотип является удивительно мощным языком программирования, и это - уничтожение для изучения, так как он визуально участвует прямо из поля.
Найдите что-то, что было бы интересно ему как проект, особенно если можно разработать способ его не вовлечение GUI. Я полагаю, что графический интерфейсы пользователя помогают заинтересовать людей, но они существенно тверды - пытающийся изучить и платформу GUI и язык, одновременно слишком много, IMO. Мне нравятся консольные программы - короткая консольная программа имеет все прямо перед Вами, таким образом, можно понять каждый символ относительно легко.
, Например, если он интересуется футболом, Вы могли бы иметь текстовый файл с результатами в и сделать проект, которые читают в данных, разработанных, кто имел сколько точек и т.д.
РЕДАКТИРОВАНИЕ: Другая вещь думать о на основе точки VonC о "позволяет нам попробовать..." - возможно, запускаются с интерактивного языка, такого как Groovy (который является в точности как Java), или найдите, что "оболочка Java" некоторого описания позволяет Вашему сыну "исследовать" язык путем выполнения вещей сразу.
мне очень будет интересно наблюдать этот поток - я действительно хочу учить своих детей к программе через несколько лет, и я хотел бы записать вводную книгу C# к тому времени...
Я случайным образом заметил сегодня, что Sun/Oracle выделили страницу молодым разработчикам. я думал, что это могла бы быть полезная ссылочная страница.
Это имеет ссылки на BlueJ, Alice и Greenfoot (все уже обсужденные), а также несколько других ресурсов.
Я предлагаю "Программировать Видеоигры Для Зла Genius" Ian Cinnamon. Автор был 15 в то время, когда он записал книгу..... Так или иначе книге относительно легко следовать и учит Вас, как сделать некоторые подобные игре вещи с Java. Поскольку позволяют нам быть честными, большинство детей хочет сделать видеоигры. Назад, когда мне было приблизительно 10 лет, я делал программы Visual Basic, которые были основанными на тексте играми приключения. Эта мечта о создании видеоигр придерживается всюду по средней школе. Так или иначе книга показывает много, что можно сделать с Java на той передней стороне.... Nevermind, что 29-летний сделал бы с книгой, записанной 15-летним свист . Мне было 28 лет, когда я купил его......
Так или иначе Java, имеющий столько библиотек, делает довольно легким разбудить графику. Qbasic имел sucky графику, но это имело довольно простые вызовы, чтобы включить и выключить пиксели и провести линии и когда мне было 12 лет или 13, многие из нас просто сделают странные эффекты с графикой в QBasic использованием циклов, и т.д. В то время как это была полная пустая трата времени, это далее помогло усилить понятие повторения, массивов, и т.д.
Так так или иначе на основе моего опыта и опыта моих друзей, которые могли программировать в то время, я скажу детей как дополнительные свойства графические эффекты и создать видеоигры. Даже текстовое игровое количество. То, что Java имеет тонны библиотек, которые делают много и освобождать программиста от деталей реализации, означает, что, если Java был вокруг, когда я был настолько молод, я буду, вероятно, переделывать его. Добавьте в книге, записанной 15-летним на простых видеоиграх в Java (обратите внимание, что он не нормальный 15-летний, ребенок был Второкурсником в колледже в то время...., так думайте Вундеркинд), и у Вас есть рецепт для сцепления дети интересуют.
, Если многословие Java слишком много для хранения интереса ребенка, попробуйте Python. Я думаю, что не забываю видеть библиотеку для того, чтобы сделать 2-е игры там....... Но по крайней мере это может, вероятно, сделать намного лучшие текстовые игры приключения, чем qbasic:)
Как только Вы запустили своего сына, можно попробовать CodeInvaders, конкуренция может быть очень полезной для получения его взгляды, возможно, даже конкуренция родительского сына.
Этот вопрос подобен https://stackoverflow.com/questions/165905/how-and-when-do-you-teach-a-kid-to-code#165909.
Мое самое старое равняется также 8, и я знаю, что у него правое полушарие мозга для программирования, но он не торопится. Я думаю, что необходимо сохранить присвоения маленькими, но у них должны быть ранние результаты. Еще они могут быть разочарованы.