Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

javase-task01-2 / Курс Основы Java- Задание 1 (восстановлен)

.rtf
Скачиваний:
19
Добавлен:
18.03.2015
Размер:
11.68 Mб
Скачать

Курс Основы Java 5

Задание №1.

  1. Простейшая программа на Java

Простейшая программа на языке программирования Java выглядит примерно так:

package avangard.helloworld;

public class Main {

public static void main(String[] args) {

System.out.println("Hello world");

}

}

В среде Netbeans можно автоматически создать подобный проект через Wizard:

п меню File -> New Project -> Java, Java Application (см рис 1-2)

Рис 1. Создание демо-проекта Java в среде Netbeans: Выбор типа создаваемого приложения.

Рис 2. Создание демо-проекта Java в среде Netbeans: выбор названия и каталога для хранения кода нового проекта.

Это программа, после того как будет запущена, просто выведет указанную строку «Hello world» на экран. Получается, что для вывода одной строки пришлось написать целых пять (к тому же, пока не совсем непонятных). Но когда вы научитесь создавать более полезные программы, решение станут более лаконичным по отношению к результату (например, когда программа не более чем из 20 строк сможет менее, чем за минуту, обработать для вас нужным образом сто страниц текста).

Разберёмся, из чего состоит простейшая программа. Первая строка — создаёт класс с именем Main. Любая программа на Java обязательно содержит один или более классов. Даже если в программе не создаются объекты, класс в ней существовать обязан.

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

Чтобы запуск был возможен, необходимо сохранить программу в файле с именем Main.class (т.е. имя файла определяется именем класса с уровнем доступа public).

Строка заканчивается открывающей фигурной скобкой. От неё и до соответствующей ей закрывающей скобки и будет продолжаться класс. Фигурные скобки называются операторами блока и, для удобства восприятия, внутренности каждого блока смещают вправо с помощью клавиши Tab или добавляя несколько пробелов (обычно два). Благодаря такому структурированию кода легко определить, где начинается и заканчивается каждый блок, а также избавиться от путаницы с вложенными блоками.

Соответственно, последняя строка с закрывающей фигурной скобкой заканчивает блок класса Main. Для удобства регион программы от начала и до конца блока называют телом. В данном случае 2, 3 и 4 строки составляют тело класса Main.

На второй строке внутри класса объявляется метод с названием main.

Имена (или идентификаторы) в Java чувствительны к регистру, поэтому имя класса Main и имя метода main с точки зрения языка — различны. Класс мы могли бы назвать и по-другому, но в любом исполняемом классе обязан существовать метод с именем main. После запуска программы на исполнение Java-машина будет искать в классе метод с именем main и передаст ему управление. Если там такого метода не найдётся, то и выполнять будет нечего (программа не запустится).

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

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

Наконец, модификатор void означает, что создаваемый метод не будет по итогам своей работы возвращать какой-то конкретный результат (например, какое-то число). Но бывают методы возвращающие результат — они похоже на математически функции — им передаётся некоторый аргумент или набор аргументов, а методы возвращают для каждого набора аргументов соответствующее значение.

Информация о том, какие аргументы сможет принимать метод в качестве параметра — указывается после его имени в круглых скобках. В данном случае, метода main предусмотрен один аргумент с именем args — т.е. внутри метода к этому аргументу можно будет обращаться, и работать с тем значением, которые в аргумент передавалось при вызове метода. String[] — это тип аргумента, в данном случае — массив (или набор) текстовых строк. Что это за строки и зачем предусмотрен такой аргумент даже в простейшей программе?

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

dir

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

dir -S source\

И тогда выведется содержимое директории source\ и её подкаталогов. Эти параметры программа dir получает автоматически из командной строки.

Создаваемые на Java программы также, как и команда dir, могут получать аргументы командной строки из массива args и, в зависимости от них, работать по-разному.

Соответственно, в конце второй строки и на четвертой строке начинается и заканчивается блок метода main.

На третьей строке мы пользуемся готовым методом System.out.println(Hello world). Мы не создаём его, а вызываем (используем), передав ему аргумент Hello world, чтобы тот был выведен на экран. Метод System.out.println создан заранее разработчиками языка (как и огромный набор других готовых методов), чтобы остальные программисты могли его с лёгкостью использовать для такой типичной задачи, как вывод на экран. Но где-то в недрах библиотеки Java он был также описан с модификаторами, параметрами и телом из многих строк.

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

  1. Программа вывода аргументов командной строки (args)

Дополним код Helloworld для вывода всех аргументов командной строки:

public static void main(String[] args) {

if (args.length>0) {

for(int i = 0; i < args.length; i++)

System.out.println(args[i]);

} else

System.out.println("аргументы не указаны");

}

Чтобы задать аргументы командной строи для приложения, в среде Netbeans надо вызвать настройки проекта (см рис 3). Для репеделённости укажем пару аргументов - первый "/S" и второй "source\".

Рис 3. Задание аргументов командной строки приложения в Netbeans (Run/Set Project Configuration/Customize ...).

Тогда после запуска мы получим вывод (см рис 4):

run:

/S

source\

BUILD SUCCESSFUL (total time: 0 seconds

Рис 4. Выполнение вывода аргументов командной строки.

Здесь использованы сразу несколько новых конструкций:

  1. оператор проверки условия "if"

  2. оператор получения размера массива length()

  3. оператор цикла "for ..."

Логика достаточно проста - выполняется проверка наличия данных в массиве аргументов командной строки (args) оператором

if (args.length > 0)

если условие выполняется, то в цикле выводятся все аргументы поочереди,

for(int i = 0; i < args.length; i++)

System.out.println(args[i]);

иначе выводится сообщение "аргументы не указаны":

System.out.println("аргументы не указаны");

  1. Задание №1

Каждую задачу оформите в виде отдельного проекта.

Для удобства вы можете разместить всё в примерно такой структуре папок:

disk:/java-se/source/job1/ папка для всего задания 1 (все его задачи будут внутри)

task1/ ... проект с первой задачей ...

task2/ ... проект со второй задачей ...

... остальные задачи ...

Задачи:

  1. Создайте программу, которая вычислит выражение 20ˣ⅓+158² и выведет результат на экран.

  2. Создайте программу, которая вычислит выражение 14/209+14ˣ(29-13²+14/3) и выведет результат на экран. При этом число 14 обязательно сохраните в отдельной переменной, выбрав для неё подходящий тип.

  3. В переменной n хранится двузначное число. Создайте программу, вычисляющую и выводящую на экран сумму цифр n.

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

  5. В переменной n хранится трёхзначное число. Создайте программу, вычисляющую и выводящую на экран сумму цифр n.

[конец]