You are here: Home » Учебник » Написание простой программы

Написание простой программы

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

Проблема

Рассмотрим сначала простую задачу вычисления площади круга. Как написать программу для решения этой проблемы?

Алгоритм

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

Псевдокод

Алгоритмы могут быть описаны в естественных языках или в псевдокоде (естественный язык, смешанный с некоторым программным кодом). Алгоритм вычисления площади круга можно описать следующим образом:

1. Прочитать радиус круга.

2. Вычислить площадь используя следующую формулу:

площадь = радиус * радиус * π

3. Показать результаты.

Совет: всегда полезно описать свою программу (или ее основную проблему) в виде алгоритма перед началом кодирования.

Когда вы кодите, то есть, когда вы пишете программу, вы переводите алгоритм в программу. Вы уже знаете, что каждая Java программа начинается с определения класса, в котором за ключевым словом class следует имя класса. Предположим, что вы выбрали ComputeArea как имя класса. Схема программы будет выглядеть так:

public class ComputeArea {
    // Подробности будут даны позже
}

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

public class ComputeArea {

    public static void main(String[] args) {
    // Шаг 1: Считать радиус
    // Шаг 2: Рассчитать площадь
    // Шаг 3: Показать площадь
    }
}

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

  • Чтение радиуса.
  • Сохранение радиуса в программе.

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

Вместо использования x и y в качестве имен переменных выбирайте описательные имена: в этом случае radius для радиуса и area для площади. Чтобы компилятор знал, чем являются radius и area, укажите их типы данных. Это тип данных, хранящихся в переменной, будь то целое, действительное число или что-то еще. Это называется объявлением переменных. Java предоставляет простые типы данных для представления целых чисел, действительных чисел, символов и булевых типов. Эти типы известны как примитивные типы данных или фундаментальные типы.

Реальные числа (т. е. числа с десятичной точкой) представлены с использованием метода, известного в компьютерах как плавающая точка. Таким образом, реальные числа также называются числами с плавающей точкой. В Java вы можете использовать ключевое слово double для объявления переменной с плавающей запятой. Объявите radius и area как double. Следовательно, программа может быть расширена следующим образом:

public class ComputeArea {

    public static void main(String[] args) {
        double radius;
        double area;
        // Шаг 1: Считать радиус
        // Шаг 2: Рассчитать площадь
        // Шаг 3: Показать площадь
    }
}

Программа объявляет переменные radius и area. Зарезервированное слово double указывает, что radius и area являются значениями, которые хранятся на компьютере с плавающей запятой.

Первый шаг – предложить пользователю обозначить радиус круга. Вскоре вы узнаете, как запрашивать у пользователя информацию. Пока, чтобы узнать, как работают переменные, вы можете назначить фиксированное значение радиусу (переменной radius) в программе при написании кода; позже вы измените программу, чтобы запросить у пользователя это значение.

Второй шаг – посчитать площадь и присвоить результат выражения radius * radius * 3.14159 переменной area.

На последнем этапе программа отобразит значение area на консоли с помощью метода System.out.println.

В результате полная программа имеет вид:

public class ComputeArea {

    public static void main(String[] args) {
        double radius; // Объявить radius
        double area; // Объявить area

        // Присвоить значение радиуса
        radius = 20; // теперь радиус равен 20

        // Посчитать площадь
        area = radius * radius * 3.14159;

        // Показать результаты
        System.out.println("Площадь круга с радиусом "
                + radius + " равна " + area);
    }
}

Программа показывает площадь круга:

В Linux:

Листинг в NetBeans (с номерами строк):

Переменные, такие как radius и area, соответствуют местам памяти. Каждая переменная имеет имя, тип, размер и значение. Строка под номером 5 объявляет, что radius может хранить значение double. Значение не определено, пока вы его неназначили. Строка 9 назначает 20 в переменную radius. Аналогично, строка 6 объявляет переменную area, а строка 12 присваивает значение area. В следующей таблице показано значение в памяти для radius и area при выполнении программы. Каждая строка в таблице показывает значения переменных после выполнения оператора в соответствующей строке в программе. Этот метод рассмотрения работы программы называется трассировкой программы. Программы трассировки полезны для понимания того, как работают программы, и они являются полезными инструментами для поиска ошибок в программах.

Объединение строк

Знак плюс (+) имеет два значение: одно – это сложение, а второе – это конкатенация (объединение) строк. Знак плюса (+) в строках 15-16 называется оператором конкатенации строк. Он соединяет две строки в одну.

Объединение строк с числами

Если строка соединяется с числом, то число конвертируется (преобразовывается) в строку и объединяется с другой строкой. Следовательно, знак плюс (+) в строках 15-16 конкатенирует строки в одну более длинную строку, которая отображается в выводе. Строки и объединение строк будет рассмотрено в одной из последующих глав.

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

System.out.println("Программирование на Java,
вместе с Java9");

Для исправления этой ошибки, разбейте строку на две отдельные подстроки и используйте оператор конкатенации (+) для их объединения:

System.out.println("Программирование на Java, " +
вместе с Java9");

Проверь себя:

Найдите и исправьте ошибки в следующем коде:

public class Test {

    public void main(string[] args) {
        double i = 50.0;
        double k = i + 50.0;
        double j = k + 1;
        System.out.println("j is " + j + " and
        k is " + k);
    }
}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo