Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Raspberry Pi и чашечку Java, пожалуйста!

Anna | 3.06.2014 | нет комментариев
Данная статья перевод с английского статьи Vladimir Alarcs_permark!}
А сейчас компилируем его. Применяя окно терминала переходим в каталог «cupofjava», где до этого вы сотворили программу:

  cd cupofjava

и набираем:

  javac HiThere.java



Команда javac компиллирует программы написанные на Java. Она проанализировав набранный вами начальный код генерирует программу для запуска. Через 15 секунд либо около того, данная команда завершит выполнение. Если вы допустили ошибку она об этом известит, указав где эта задача появилась. Для исправления вернитесь в текстовый редактор, проверьте свой код и поправьте допущенные ошибки, сбережете файл, и испробуйте запустить компилляцию вторично. Если ошибок огромнее нет, то компилляция исполнена удачно. Позже чего вы найдёте новейший файл HiThere.class в нынешнем каталоге. Это программа и будет вами запускаться.

Отлично, сейчас запустим нашу программу. В окне терминала набираем:

  java HiThere

Вам необязательно указывать растяжение .class. А в чём разница? Команда javac компиллирует программы, а команда java их запускает.

Программа будет запущена и исполнена:

  Hi there!

Отлично… Поздравляю! Вы написали и запустили вашу первую Java программу на Raspberry Pi.

Вероятно вы подметили, что программе понадобилось несколько секунд для того, Дабы написать это сообщение. Отчего так длинно? На самом деле, Java работает достаточно стремительно. Программе в целом потребовалось только пара миллисекунд для выполнения, всё остальное время понадобилось на загрузку в начале JVM среды для выполнения Java кода. Но есть и славная новость, что позже загрузки JVM программу будет трудиться дюже стремительно.

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

  System.out.println("A Java Pi!");

В остальных строках задаётся наименование класса «HiThere» (в строке 1), а также наименование основного способа в строке 3). В данный класс, как и в всякий иной класс Java, может входить много способов, но для данного примера мы используем только один стержневой способ main.

Усложним задачу #1: Ваши действия. Откройте файл с начальным кодом в текстовом редакторе, измените сообщение в кавычках с «A Java Pi!» на «My name is Name.»(введите своё имя) и сбережете итог. В окне терминала вновь скомпилируйте программу и запустите её использованными теснее командами javac и java. Если всё сделали верно, то сейчас программа покажет ваше имя. Вы отменно совладали!

Примечание: Синтаксис(словарь команд и пунктуация) написания программ на языке Java дюже схож на синтаксис языка C. Всякий программист приятель с C сумеет легко освоит основы Java.

3. Переменные Java и руководящие конструкции

Дальнейший пример иллюстрирует использование переменных и руководящих конструкций. В том-же каталоге, где мы сберегали первую программу, сделаем вторую программу назвав её DiceRoller.java. Наберите(либо скопируйте) приведённый ниже начальный код:

import java.util.Random;

public class DiceRoller {

  public static void main(String[] args) {
    Random generator = new Random();
    int d = 0;

    while (d < 4) {
      System.out.print("Rolling... ");
      int face = 1   generator.nextInt(6);
      System.out.print("I got a "  face
          ".  ");
      if (face == 1) {
        System.out.print("Wow! An ACE!");
      }
      System.out.println();
      d = d   1;
    }
  }

}

Сбережем его в файле. Скомпиллируем и запустим нашу новую программу набрав две команды:

  javac DiceRoller.java
  java DiceRoller

Вы увидите что-то сходственное:

Rolling... I got a 2.
Rolling... I got a 1.  Wow! An ACE!
Rolling... I got a 4.
Rolling... I got a 5.

Программа будет бросать четыре кубика и тот на котором выпадет единица победит. Вам увлекательно узнать, как это работает?

На данном примере дозволено продемонстрировать несколько увлекательных пророческой. Эта программа использует две переменные d и face. Переменная d используется когда мы делаем только четыре броска, не три и не пять, а переменная face запоминает какое значение было получено при всяком из бросков. Также программа получает комплект строк в переменной args. Эта переменная передаёт параметры командной строки, если вы их задали, но в нашем примере их нет.

И ещё, помните классы Java могут применять другие классы? В нашем примере это переменная generator. Через неё наша программа обращается к внешнему классу Random, тот, что исполняет генерацию псевдослучайных чисел. В нашем случае мы вызываем только один из его способов nextInt() для приобретения случайного числа в диапазоне от 0 до 5.

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

А сейчас дозволено побеседовать и об этом. В данном примере применяются две руководящие конструкции: ifи while. Руководящая конструкция if запускает выполнения блока только в случае если логическое выражение в скобках правда(true). А руководящая конструкция while работает напротив, её блок выполняется до тех пор, пока логическое выражение в скобках не станет ложным(false). Ещё в Java используются руководящие конструкции: fordo-whileswitchif-else и т.п.

В нашем примере if проверяет истинность выражения face == 1. По этому сообщения о выигрыше возникает только при выпадении единицы.

Руководящая конструкция while запускает свой блок четыре раза пока значение переменной d поменьше чем 4. Изначальное значение этой переменной равно 0 и с всяким циклом выполнения блока оно возрастает на 1. Следственно первые четыре раза(0, 1, 2, 3) блок выполняется удачно, и только в пятый раз(когда переменнаяd равна 4) он будет прекращен.

Усложним задачу #2: Измените программу для 7 бросков кубик, увеличив диапазон допустимых вариантов значений до 10. В окне терминала вновь скомпилируйте программу и запустите её использованными теснее командами javac и java. Если всё сделали верно, то сейчас программа покажет значение для 7 бросков кубика. А сейчас, за работу!

Примечание переводчика: Начальные коды, сам текст статьи и вёрстку в Scribus вы можете обнаружить в репозитарии github.com/svininykh/magpi-issue14-ru/tree/master/cup-of-java

 

Источник: programmingmaster.ru

Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB