Какие элементы должны быть в минимальной рабочей программе на java

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

package com.company; public class Main { public static void main(String[] args) { System.out.

println(«Hello World!»); } }

Давайте изучим ее структуру подробнее. Вот это первое слово package указывает пакет, которому принадлежит данная программа. То есть, программа в данном случае находится в пакете com.company.

Этот пакет вроде пространства имен языка С++ (если кто с ним знаком). Или же это можно воспринимать как некий каталог, в котором находятся файлы данного пакета. Благодаря этому разработчики, например, могут создавать классы с одинаковыми именами, расположенные в разных пакетах и при сборке большого проекта не будет происходить коллизий с их определениями.

Кстати, при создании пакета com.company у нас в каталоге src был создан подкаталог com, а в нем подкаталог company и уже в этом подкаталоге находится файл Main.java с текстом программы данного пакета. И здесь сразу обратите внимание: в Java название файла должно совпадать с названием класса. Например, наш класс называется Main, поэтому и файл имеет такое же название.

Java. Интерфейс Comparator и стандартная сортировка Сollections.sort()

И отсюда следует важное следствие: в языке Java в одном файле может быть описан только один класс. Именно так все автоматически и сделала наша интегрированная среда. Что очень удобно.

Далее, второй строчкой идет определение класса. О классах мы еще подробно поговорим. Пока просто запомните, что класс задается с помощью ключевого слова class и далее идет имя этого класса – в данном случае Main. Внутри фигурных скобок мы прописываем данные класса – это его переменные и методы – это его функции. А вот это ключевое слово public означает, что класс доступен везде и всем.

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

Внутри класса интегрированная среда нам автоматически прописала вот такой метод:

public static void main(String[] args) {….}

Это специальный метод языка Java. Виртуальная машина ищет в программе этот метод и начинает выполнение именно с него.

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

Внутри фигурных скобок располагаются инструкции языка Java: его операторы, функции и т.д. Например, у нас записана такая инструкция:

System.out.println(«Hello World!»);

Которая означает, что мы обращаемся к классу System (он определен в стандартном пакете java.lang). В этом классе имеется объект out, реализующий поток вывода.

И вызываем метод println этого объекта для вывода в консоль сообщения «Hello World!». Позже мы подробнее еще поговорим о консольном выводе. Пока просто запомните, что вот так можно выводить информацию в консоль. И после каждой конструкции всегда ставится точка с запятой.

Java. Обобщенный класс для представления дерева с любыми данными.

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

// Первая программа на Java

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

/* Комментарий На нескольких строках */

Переменные и константы

short a; short b = 5; int A, B; double e = 5, f;

Читайте также:
Как установить программу на компьютер по локальной сети

В первой строчке создается целочисленное хранилище с именем a. Во второй строчке создается тоже целочисленное хранилище с именем b и в него сразу записывается значение 5. Это называется начальной инициализацией переменной в момент ее объявления.

Теперь обратите внимание на имена переменных a и A – это две разные переменные, т.е. Java различает регистр букв. Далее, можно объявить через запятую сразу несколько переменных. Ну и наконец, при объявлении нескольких переменных, мы также можем сразу выполнять их инициализацию. При инициализации вещественных переменных есть одна особенность. Если мы, например, пропишем вот такую строчку

float var_f = 3.5;

то интегрированная среда предупредит нас об ошибке. Почему? Здесь вроде бы все верно? Дело в том, что любое числовое вещественное значение в Java представляется типом double и потому мы в этой строчке пытаемся значение типа double присвоить переменной типа float.

В результате может произойти потеря информации и именно об этом и сообщает интегрированная среда. Чтобы все-таки присвоить 3,5 переменной float следует указать значение 3,5 как тип float:

float var_f = 3.5f;
Символьные типы данных можно задавать и инициализировать вот таким образом:
char ch = ‘a’;

то есть, отдельный символ всегда указывается в апострофах (одинарных кавычках). О символьных типах данных мы подробнее поговорим когда будем разбирать строки. Соответственно булевые переменные объявляются таким образом:

boolean fl = true, flFile = false;

Переменные в Java можно создавать в любом месте класса или функции по мере необходимости. Если требуется вывести в консоль значение какой-либо переменной, то используется такая инструкция:

System.out.println(b);
Однако, если мы напишем следующую строчку вот такую:
System.out.println(a);

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

final double PI = 3.14;

то есть перед типом константы ставится ключевое слово final и сразу константа должна быть проинициализирована каким-либо значением. И если мы далее по программе попытаемся изменить это значение

PI = 5.5;

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

Ну и наконец, как в Java можно присваивать значения переменным после их объявления? Для этого в Java используется оператор присваивания. Он записывается как знак равно (=). Само присваивание значение переменной выглядит, например, так:

short c = 6;

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

int i=1; i=i+1;

Здесь справа текущее значение i сначала увеличивается на 1, становится равным 2, и после этого результат присваивается снова этой же переменной. В результате переменная увеличивает свое значение на 1. Видите разницу между математическим знаком равенства и оператором присваивания? С математической точки зрения такое равенство выполняться не может, но с точки зрения оператора присваивания никаких проблем! Также не имеет смысла запись вида

20 = i;
так как константе 20 нельзя присвоить какое-либо значение. Наконец, рассмотрим два таких примера:
int a = 10; short b = 5; a = b; b = a;

Здесь присвоение a=b работает без каких-либо замечаний, но вот на b=a интегрированная среда ругается и говорит, что возможна потеря данных, т.к. тип short меньше типа int. Чтобы все-таки такое присвоение стало возможным, нужно сделать приведение типа переменной a к типу short в момент присваивания, то есть, записать это в таком виде:

Читайте также:
Как работает твоя программа

b = (short)a;

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

float var_f = 8.7f; int var_i; var_i = (int)var_f;

Здесь также имеем дело с разными типами данных, но в отличие от предыдущего примера, здесь будет почти всегда происходить потеря данных, т.к. целочисленная переменная не может содержать дробную часть числа. Что же произойдет с дробной частью? Она будет попросту отброшена. Обратите внимание, произойдет не округление числа, а просто отбрасывание дробной части. Давайте выведем переменную var_i в консоль и убедимся в этом:

System.out.println(var_i);

Вот так работает оператор присваивания и вот так присваиваются значения переменным в Java. На этом мы завершим наше занятие.

Из него вы должны себе представлять в целом начальную структуру программы на Java и знать как объявлять переменные и константы и как работает оператор присваивания.

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

Структура программы на Java

Исходные коды программ, написанных на языке Java, должны иметь определенную структуру. Это создает сложности при изучении языка, компиляции, создании исполняемых архивов. Правила касаются как организации кода внутри одного файла, так распределения кода по разным файлам, объединения файлов в пакеты.

Язык Java настолько объектно-ориентированный насколько возможно. Не считая импортов и указания имен пакетов, весь рабочий код находится внутри классов. При этом, за редким исключением, каждый класс должен описываться в отдельном файле, имя файла должно совпадать с именем класса. Например, если создается класс HelloWorldApp, то он сохраняется в файле HelloWorldApp.java.

Один из классов обязательно должен содержать метод-функцию main(), которая является точкой входа в java-программу. В случае однофайловой программы, метод main() должен быть в этом единственном файле. Как называется класс, содержащий main(), не важно.

Определение метода main() выглядит так:

public static void main(String[] args) >

Допустимо лишь изменение имени переменной args.

Группируя файлы программы по подкаталогам, мы тем самым создаем подпакеты. Самый верхний уровень, т. е. программа, будет пакетом. В тексте файла первой строкой пишется имя пакета или подпакета. Например:

package info.younglinux.pythonexercises;

Здесь файл, содержащий данную инструкцию, находится в каталоге pythonexercises, который вложен в каталог younglinux, который вложен в каталог info. Директория info – это пакет. Компиляция производится из родительского по отношению к info каталога.

Если все файлы программы находятся в одном каталоге и компиляция будет происходить из этого каталога, то инструкция package не нужна. Однако остается необходимой для файлов подкаталогов, т. е. подпакетов.

Рассмотрим пример программы, состоящей из трех файлов, один из которых вложен в подкаталог.

public class Start { public static void main(String[] args) { System.out.

println(Second.var2); System.out.println(utils.Third.var3); } }

public class Second { public static String var2 = «second»; }

Файл 3 (вложен в подкаталог utils):

package utils; public class Third { public static String var3 = «third»; }

В классе Start на экран выводятся значение переменной var2 из класса Second, и переменной var3 из класса Third. Обращаясь к переменной третьего класса, мы должны указать имя пакета. В то же время переменная второго класса доступна через указание только самого класса, как будто он находится в том же файле, что и первый класс.

Компиляция в данном случае будет выполняться из каталога, где лежат файлы Start.java и Second.java. Компилятору не обязательно передавать все файлы с исходниками, достаточно передать стартовый. Остальные будут скомпилированы, так как из первого файла к ним происходит обращение.

Компиляция java-программы из нескольких файлов

Однако можно компилировать все файлы, в том числе передавая шаблон, например, *.java.

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

Читайте также:
Установка драйверов через программу

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

package lesson2; public class Start { public static void main(String[] args) { System.out.

println(lesson2.Second.var2); System.out.println(lesson2.utils.Third.

var3); } }
package lesson2; public class Second { public static String var2 = «second»; }
package lesson2.utils; public class Third { public static String var3 = «third»; }

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

Компиляция пакета

Если сущности других классов используются часто, можно избежать длинных обращений типа lesson2.utils.Third.var3 , выполнив инструкцию импорта. Например, первый файл может выглядеть так:

package lesson2; import lesson2.Second; import lesson2.utils.Third; public class Start { public static void main(String[] args) { System.out.

println(Second.var2); System.out.println(Third.var3); } }

Также команда импорта используется для подключения классов из стандартной и сторонних библиотек. Один из стандартных пакетов языка Java импортируется неявно (java.lang), без вашего участия. Одной из его сущностей является функция System.out.println(), выводящая строку на экран, после чего добавляющая символ перехода на новую строку. System.out.print() символ новой строки не добавляет.

X Скрыть Наверх

Программирование на Java. Курс

Источник: younglinux.info

2. Минимальный комплект для разработки программ на Java. Минимальные системные требования.

3. Основные возможности пакета NetBeans. Функциональный состав и назначение.

Рабочее пространство

В простейшем случае рабочее пространство (workspace) — это каталог для проектов пользователя, в котором располагаются файлы проекта. Все, что находится внутри этого каталога, считается частью рабочего пространства. По умолчанию NetBeans предлагает сохранять вновь созданные проекты в папке документов текущего пользователяDocumentsAndSettingsUserNameМои документыNetBeansProjects(для MS Windows XP), гдеUserName – это имя учетной записи пользователя.

Инструментальные средства NetBeans

Инструментальные средства NetBeans становятся доступны сразу после запуска. Это по существу сама платформа с набором различных функциональных возможностей главного меню, где прежде всего выделяется набор операций по управлению проектом. Фактическая обработка, как правило, осуществляется дополнениями (плагинами), например редактирование и просмотр файлов проектов осуществляется JDT, и т.д. К инструментам (workbench) относится набор соответствующих редакторов ипредставлений, размещенных в рабочей области. Для конкретной задачи определенный набор редакторов и представлений называютперспективой иликомпоновкой.

Компоновка (perspective) — это набор представлений и редакторов, расположенных в том порядке, который вам требуется. В каждой компоновке присутствует свой набор инструментов, некоторые компоновки могут иметь общие наборы инструментов. В определенный момент времени активной может быть только одна компоновка. Используя компоновки, вы можете настроить свое рабочее пространство под определенный тип выполняемой задачи.

Редакторы представляют собой программные средства, позволяющие осуществлять операции с файлами (создавать, открывать, редактировать, сохранять и др.).

Представления

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

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

.java, .jsp, .xml, а так же компилированные байт-коды .class.

Дополнением (plug-in) называют приложение, которое дополнительно может быть установлено в NetBeans. Примером дополнения может выступать GUI Builder. Посмотреть установленные плагины, а также плагины, которые имеется возможность установить, можно через пункт главного меню Tools/Plugins.

Мастер — это программное средство, которое помогает пользователю в настройках и проведении сложной операции. В Eclipse имеется множество различных мастеров, которые делают работу пользователя в системе удобной и эффективной, беря часть рутинных операций на

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

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru