Теперь, когда вы немного освоились со своей IDE и самой Java, мы закодируем начальные строки игры в этом уроке .
Что вы узнаете в этом разделе:
- Получите исходный код с помощью subversion: ‘check out’
- Переменные разного типа
- Методы Java с параметрами
- Переменные с разной видимостью
- Создание юнит-тестов и их запуск
- IDE:
- отлаживать приложение
- автозавершение
- конструкции if-then-else
Получить проект
Этот проект не будет доступен в виде zip-файла. Вам необходимо установить клиент Subversion (например, TortoiseSVN для Windows и KDESvn для Linux) или использовать Subversion в вашей IDE. Для NetBeans перейдите в меню Team-> Checkout…
Затем введите следующий URL:
https://timefinder.svn.sourceforge.net/svnroot/timefinder/branches/tdteaching/TestDrivenTeaching2/
Никакие логин или пароль не требуются, только укажите «Локальная папка», чтобы соответствовать вашим потребностям. Откройте проект, если NetBeans спросит вас. Некоторые скриншоты смотрите здесь .
Щелкните правой кнопкой мыши проект-> и выберите Test. Окно модульных тестов должно появиться, и все тесты должны пройти (зеленый).
Получить знания
Откройте класс InitialBlockGame, который находится в пакете с именем de.tdtut.section2. Оглянись немного. Вы, возможно, уже заметили в первой части, что в NetBeans есть специальные символы, которые выглядят серыми: комментарии, которые не влияют на выполнение программы.
переменные
int myVariable;
Это целочисленная переменная, которая может содержать только целочисленные значения, такие как 1,2, -3 и т. Д. Максимальное значение хранится в Integer.MAX_VALUE. Если вы хотите инициализировать переменную, выполните:
myVariable = 3;
Вы можете сделать объявление и инициализацию одновременно:
int myVariable = 3;
Теперь важно изучить тестовый пример, поставляемый со вторым проектом, чтобы лучше понять различные типы и возможные операции. Чтобы запустить тест, щелкните правой кнопкой мыши файл и выберите «Тестовый файл» или нажмите CTRL F6.
Подсказка для последующего использования: если вы создадите дополнительный Java-класс в пакете, щелкнув правой кнопкой мыши на пакет-> New-> Java Class…, вы можете легко сгенерировать новый тестовый файл для него: CTRL SHIFT U
методы
Теперь вы знаете переменные и комментарии, но также заметили, что в предыдущем посте есть блоки, подобные циклу for, определенные фигурными скобками:
public class InitialBlockGame {
...
}
и, например, определение метода
public static void start() {
...
}
Первый блок — это определение класса с именем InitialBlockGame, а второй блок — это метод с именем start без возвращаемого типа, поэтому: void start (). Существуют также методы, такие как move, которые требуют параметров метода.
Переменные — Видимость / Доступ
Если вы объявите переменную, она будет доступна только из этого блока, а также из субблоков. Следующий фрагмент кода должен проиллюстрировать это:
public class InitialBlockGame {
public int x;
...
public void start() {
int test;
// here we can use the test and x variables
}
public void move(int dx, int dy) {
// here we can use the x, dx, and dy variables
// but not the test variable declared within the start() method
}
}
Мы не можем легко создать тестовый пример для этого, потому что, например, использование теста в методе перемещения не будет компилироваться вообще! Но на языке сценариев, таких как Ruby или Groovy, это можно сделать.
Другой важный подход к управлению доступом к переменным или даже методам через общедоступные , защищенные и закрытые ключевые слова будет объяснен в следующем разделе.
Отладка
Чтобы отладить класс Java, щелкните правой кнопкой мыши файл (например, InitialBlockGame) и выберите «Файл отладки» или клавишу CTRL SHIFT F5. Но прежде чем вы должны установить точку останова, например, на линии
Случайный ранд = новый Случайный (123);
Затем пошагово пройдитесь по коду через F8. Исследуйте значение переменной lifeCounter, наведя на нее курсор мыши.
Другой подход заключается в том, чтобы открыть окно Watches через Window-> Debugging-> Watches и добавить к нему lifeCounter (щелкните правой кнопкой мыши -> New Watch…)
Автозаполнение
Просто нажмите CTRL SPACE, например, после «InitialBlockGame». и все переменные и методы будут перечислены:
Это позволяет очень легко и быстро изучать и исследовать неизвестный код (например, библиотеку). Это самая мощная команда, которую предоставляет вам IDE по сравнению с простым текстовым редактором.
Попробуйте вызвать эту команду (CTRL SPACE) в блоке определения класса или после того, как вы ввели «int» в методе, чтобы увидеть, что IDE предоставляет вам, чтобы упростить разработку.
If-Then-Else
Если вы посмотрите на метод move, вы увидите несколько операторов if, например:
if (x + dx >= 0 && x + dx < 10)
x = x + dx;
Это означает, что если изменение перемещения в направлении x, называемое dx, слишком велико, оно не будет применено. То же самое верно для отрицательного DX.
Изучите контрольный пример testMove (), чтобы лучше понять его и поэкспериментировать с кодом.