Рубрики
Без рубрики

Лаборатория исследования чисел Java

Чтобы начать серию учебных программ Renegade, я хотел начать с лаборатории, которую я часто использовал в… С пометкой java, новички, учебник, информатика.

Чтобы начать серию учебных программ Renegade, я хотел начать с лаборатории, которую я часто использовал в прошлом для внедрения языка программирования. В частности, я хочу представить Java через лабораторию исследования чисел.

Обзор

В этой лаборатории студенты будут изучать различные типы чисел в Java с помощью всех основных математических операторов. Цель состоит в том, чтобы понаблюдать за поведением различных операторов и попытаться сделать некоторые выводы об их поведении. В следующих подразделах мы подробно расскажем, кому может быть полезна лабораторная работа, какие типы инструментов необходимы для завершения лабораторной работы и как ее проводить.

Целевая аудитория

В идеале лаборатория изучения чисел Java должна быть ориентирована на абсолютных новичков . Тем не менее, я мог видеть, где этот вид деятельности может быть полезен кому-то, у кого нет опыта работы с Java-подобными языками.

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

Инструменты

Для завершения этой лабораторной работы студенты должны получить копию DrJava . Я рекомендую DrJava, потому что он позволяет нам взаимодействовать с Java так, как будто это интерпретируемый язык программирования. Другими словами, мы можем экспериментировать с фрагментами кода, не создавая файлов.

Для тех, кто предпочел бы не использовать DrJava, они могут использовать j оболочка который включен в Java JDK начиная с версии 9. На момент написания этой статьи Java 12 была последней версией JDK.

Инструкции

Для такого типа лабораторных работ я рекомендую дать студентам около часа на выполнение как можно большего количества упражнений. Кроме того, я немного неравнодушен к парному программированию, поэтому позволять студентам работать в парах может быть забавно. Это также означает меньшую оценку для инструктора.

Периодически следует просить студентов сообщать о своих выводах своему преподавателю. Я рекомендую выполнять каждую пару упражнений, но это зависит от силы класса. Некоторым группам потребуется больше помощи, чем другим, поэтому во время лабораторной работы рекомендуется расхаживать по комнате.

В этой конкретной лаборатории студенты на самом деле не будут писать свой собственный код. Вместо этого они будут экспериментировать с фрагментами кода на панели взаимодействия Dr. Java. В результате каждое упражнение сопровождается несколькими вопросами, на которые студенты должны будут ответить. Не стесняйтесь собирать их ответы после лабораторной работы.

В конечном счете, лаборатория должна быть занятием с низким уровнем стресса, где студенты могут чувствовать себя комфортно, взаимодействуя с преподавателем. Цель состоит не в том, чтобы преподавать весь материал в лаборатории, а скорее в том, чтобы подкрепить некоторые лекционные материалы. Кроме того, лаборатория может быть полезна в качестве введения в более крупный проект.

Упражнения

В этом разделе студентам будет предложено выполнить несколько упражнений. В конце каждого упражнения студенту будет предложено ответить на несколько вопросов о написанном им коде.

Упражнение 0: Учебник по примитивным типам Java

В Java числа конечны. Другими словами, они имеют некоторый диапазон из-за их размера в битах (количество нулей и единиц, которые их составляют). Чтобы определить диапазон номеров, которые мы можем поддерживать, нам нужно знать тип номера.

К счастью, в Java существует всего несколько типов чисел. Для наших целей Java по умолчанию использует два типа, в частности: int и двойной . Тип int представляет 32-разрядные целые числа со знаком (т.е. 4, 311, -7 и т.д.), в то время как тип double представляет 64-разрядные десятичные дроби (т.е. 3,14, -14,5, 0,0001 и т.д.). В следующих упражнениях мы увидим эти два типа чисел в действии.

Упражнение 1: Арифметические операторы Java 1

После открытия Dr. Java перейдите на панель взаимодействия и введите следующие фрагменты кода по одной строке за раз:

2 + 4
2 + 4.0
3 + -2
3 + -2.0

Если непонятно, что делают эти строки кода, не стесняйтесь попробовать некоторые из ваших собственных примеров. В противном случае ответьте на следующие вопросы:

  • Что делает оператор + ?
  • Каков результат 2 + 4 отличается от 2 + 4.0 ?
  • Какое правило вы могли бы написать, чтобы описать свой предыдущий ответ?

Упражнение 2: Арифметические операторы Java 2

Еще раз введите следующие фрагменты кода по одной строке за раз:

12 - 7
12 - 7.0
5 - -6
5 - -6.0

Как всегда, если вам нужно попробовать больше примеров, чтобы понять, что делает оператор - , не стесняйтесь. В противном случае ответьте на следующие вопросы:

  • Что делает оператор - ?
  • Каков результат 12 - 7 отличается от 12 - 7.0 ?
  • Работает ли ваше правило из предыдущего упражнения по-прежнему?

Упражнение 3: Арифметические операторы Java 3

Когда два оператора убраны с дороги, давайте попробуем другой:

3 * 3
3 * 3.0
-4 * -1
-4 * -1.0

Как всегда, не стесняйтесь попробовать еще несколько примеров. В противном случае ответьте на следующие вопросы:

  • Что делает оператор * ?
  • Работает ли ваше правило из предыдущих упражнений по-прежнему?

Упражнение 4: Арифметические операторы Java 4

На этом этапе все должно начать становиться немного интереснее. Введите следующие фрагменты кода по одной строке за раз:

5 / 2
5 / 2.0
5.0 / 2.0
5.0 / 2
-5 / 2

Поскольку оператор / сильно отличается от предыдущих операторов, важно изучить множество комбинаций значений. Когда вы будете готовы, ответьте на следующие вопросы:

  • Что делает оператор / ?
  • Каков результат 5/2 отличается от 5/2.0 ?
  • Остается ли в силе ваше правило из предыдущих упражнений?
  • Какое правило вы могли бы написать, чтобы описать, что происходит с 5/2 против -5/2 ?

Упражнение 5: Арифметические операторы Java 5

Наконец, вот последний арифметический оператор:

5 % 3
6 % 3
7 % 3
8 % 3
4 % 2
5 % 2

До сих пор каждый оператор должен был быть более или менее очевиден: сложение, вычитание, умножение и деление. Естественно, оператор % немного отличается. В качестве подсказки, это связано с разделением, но вы, вероятно, больше всего знакомы с ним в контексте длинного деления .

Как только вы получите хорошее представление о том, что делает оператор, ответьте на следующие вопросы:

  • Что делает оператор % ?
  • Как может быть полезен оператор % (т.е. 5 % 2 против 4 % 2 )?

Упражнение 6: Арифметические операторы Java 6

Еще раз введите следующие фрагменты кода по одной строке за раз:

3 * 7
4 + 5 * 6
(4 + 5) * 6
2 * 3 - 5

Не стесняйтесь попробовать несколько собственных примеров. В противном случае ответьте на следующие вопросы:

  • Какое правило использует Java для оценки этих выражений? Другими словами, как Java узнает, какую операцию выполнить в первую очередь?

Упражнение 7: Реляционные операторы Java

Теперь, когда с арифметическими операторами покончено, пришло время ввести реляционные операторы:

2 > 5
3 >= 2
4 == 10
8 <= 2
1 < 2
5 = 6

Как обычно, не стесняйтесь пробовать больше примеров. В противном случае ответьте на следующие вопросы:

  • Что делает каждый из следующих операторов: > , >= , == , <= , < ?
  • Когда эти операторы могут быть полезны?
  • Почему делает 5 потерпеть неудачу?

Упражнение 8: Ограничения по количеству Java

Убрав операторы с дороги, давайте посмотрим, насколько велик (и мал) тип int (не беспокойтесь слишком сильно о синтаксисе):

Integer.MAX_VALUE
Integer.MAX_VALUE + 1
Integer.MIN_VALUE
Integer.MIN_VALUE - 1

Здесь мы проверили пределы целого числа и попытались выйти за их пределы. Если это имеет смысл, ответьте на следующие вопросы:

  • Каково максимально возможное целое число? Что произойдет, когда мы добавим единицу к этому значению?
  • Каково наименьшее возможное целое число? Что произойдет, когда мы вычтем единицу из этого значения?

Упражнение 9: Переменные Java

На данный момент все основные операторы были изучены, и мы даже проверили пределы целых чисел. Давайте используем эти знания для создания некоторых переменных:

int x = 5
x = x + 1
int y = x + 5
double z = (x * y) / 2.0

В отличие от предыдущего, делайте не пробуйте больше примеров, прежде чем отвечать на следующие вопросы:

  • Что хранит каждая переменная в конце выполнения всех трех строк?
  • Чем z отличается от x и у ?
  • В чем смысл оператора = ?
  • Как работает x + 1 ?

Заканчиваем!

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

После такой лаборатории было бы безопасно вводить переменные, примитивные типы и даже пользовательские типы (классы). Поскольку Java является объектно-ориентированной, я рекомендую вводить классы как можно скорее. В противном случае им придется изучать Java с помощью какого-нибудь причудливого шаблона, и позже будет гораздо сложнее представить объекты.

В любом случае, если эта лаборатория показалась вам интересной, не стесняйтесь использовать ее для всего, что вам нужно. Я планирую создавать больше контента такого типа, так что ожидайте увидеть более продвинутые лаборатории в ближайшее время. Если вы хотите, чтобы будущие материалы попадали в ваш почтовый ящик, станьте участником . Я ценю вашу поддержку.

Оригинал: “https://dev.to/renegadecoder94/java-number-exploration-lab-53p”