Объявление одномерного массива и задание его начальных значений, при   //этом размер массива автоматически будет равен 4. 15 страница



Компиляция в байт код:

javac <имяфайла.java>

Запуск программы на исполнение.

java <имяфайла.class>

 

 

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

class Example {

public static void main(String args[])

{

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

}

}

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

java и javac.

C:>java Example

C:>javaс Example

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

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

Рабочий экран Eclipse представлен на рисунке, рассмотрим каким образом, можно создать консольное приложение с помощью Eclipse.

 

При загрузке Eclipse появляется окно смены рабочей области, в которой хранятся проекты.

Используя кнопу Browse можно сменить папку в которой будут храниться все проекты и файлы проектов с программами. Выберете подходящую папку, например, на вашем рабочем диске, после чего откроется рабочее окно Eclipse если в вашей рабочей области уже есть проекты. Можно создать новый проект, с помощью меню File-New-Project, второе меню Project, появится окно, представленное на рисунке ниже.

 

 

Выберете Java и Java Project и затем Next.

 

 

 

Далее введите имя проекта в поле Project Name. Нажмите Next и Finish или просто Finish. Создастся пустой проект, его видно слева в окне Package.

 

Для создания исполнимого модуля, зайдите в File-Class. В поле Name укажите имя класса, вашей программы, если хотите, чтобы была создана автоматически главная функция main, то укажите галочку возле public static void main, проще так и сделать.

 

 

После создания появится следующий код. В главной функции main укажите

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

public class labm {

 

       /**

        * @param args

        */

       public static void main(String[] args) {

                   // TODO Auto-generated method stub

 

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

                       

       }

 

}

 

 

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

Добавить класс треугольник, прямоугольник и эллипс.

Реализовать размещение N объектов двумерных фигур на форме, задав предварительно координаты и параметры фигур. Организовать интерфейс ввода с указанием полей ввода, наименований. (То есть интерфейс меняется в зависимости от того сколько вы ввели всего фигур (N) и какие фигуры вы зададите при дальнейшем вводе (организовать случайный выбор фигур, случайный выбор параметров фигур)). Сделать возможным задания цвета фигур, заливки и других параметров.

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

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

Cделать перемещение объектов по фрейму с помощью мышки, а также изменение формы объекта.

 

9.3. Использование NetBeans.

Окно среды проектирования NetBeans представлено на рисунке.

 

 

Для создания проекта выбираем — Файл — создание проекта.

 

 

 

Затем указать папку и название проекта.

 

Для запуска проекта можно воспользоваться Выполнить — Запустить главный проект, F6 или значком — зеленый треугольник на главном меню.

 

Для реализации проекта с графическим интерфейсом можно в существующем или пустом проекте созданным заново сделать новый файл с новым типом проекта, для этого выбираем Файл — Создать Файл. В результате появится окно представленное ниже. Выберем в приложение GUI swing и форму JFrame. Нажимаем Далее и вводим имя файла приложения. Если в приложении уже есть созданный файл, который является запускаемым приложением, то новый файл можно запустить выбрав вы левой части проекта нужный файл затем Выполнить — Выполнить Файл или Shift-F6. Либо установить новый проект в качестве главного, для этого выбрать Выполнить, Установить конфигурацию проекта, Настроить, в появившемся окне Обзор и сменить главный класс на вновь созданный.

 

В результате появится окно представленное выше. Справа присутствуют элементы управления, которые можно размещать на форме, разместим на форме Кнопку, для этого щелкнем на Кнопке и переместим мышкой на форму, серую прямоугольную область. Можно задать свойства кнопки. Щелкнув правой кнопкой мыши можно выбрать в Меню свойства, появится окно с двумя полями для названий свойств объекта и значений этих свойств. Например, если найти свойство text и задать его значение, мы изменим название кнопки. Поместим еще одну кнопку на фрейм. Затем Выберем События и выберем actionPerformed, в результате появится код обработки события кнопки. Добавим туда код изменения свойства второй кнопки, после вызова приложения и нажатия первой кнопки будет меняться надпись ан второй.

 

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

       // TODO add your handling code here:

   jButton2.setText("New");

}

 

 

9.4. Что такое интерфейсы.

Упрощенно можно считать интерфейсы классами, содержащими только методы. Интерфейсы реализуют некоторый функционал доступа к объекту, к управлению этим объектом. Например, интерфейс программы, или управляющая панель автомобиля – есть интерфейс доступа к объектам компьютер и автомобиль. С помощью интерфейсов в частности реализуется управление событиями. Нажатие на кнопки, движение мыши над объектом, нажатие кнопки клавиатуры и так далее. Обычно в Java используется интерфейс ActionListener, который так и переводится на русский язык – слушатель действий или событий. При этом в Ява есть возможность множественного наследования интерфейсов, но множественное наследования классов отсутствует, такое множественное наследование классов возможно в C++. В принципе для решения многих задач, множественное наследование классов и не нужно, даже так – любую задачу можно решить без множественного наследования.

 

Что понадобиться для реализации задания.

Умение создавать объекты, массивы ссылок на объекты.

Умение пользоваться циклами и условными операторами.

Умение создавать и описывать классы, наследования от классов и интерфейсы.

Умение создавать стандартные фреймы и размещать на фреймах стандартные визуальные объекты.

Умение организовывать обработку событий в программе.

Умение не заходить в контакте в течение трех часов.

Умение пользоваться вместо контактов гуглом, яндексом и любым другим поисковиком.

Умение задавать вопросы по делу.

Умение думать самостоятельно, а не бездумно скатывать примеры.

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

 

Любой метод в Ява должен быть помещен в класс.

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

Например,

Class subclass {int x;}

public class mainclass { public static void main(String[] args) { subclass c = new subclass();} }

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

Любой класс имеет по умолчанию конструктор без параметров, можно его переопределить.

Класс, где вы вызываете фрейм, сделайте вне класса основной программы и вызывайте методы инициализации фреймов из основной программы, это связано с тем, что основной класс содержит статическую функцию main, статическая функция не дублируема, то есть не позволяет использовать нестатические объекты – статические объекты создаются один раз на время выполнения программы. Статический метод может быть вызван без создания объекта (копии класса), примером служит вызов системных функций – System.out.println() – мы не создаем предварительно объект System. Также и Java вызывает функцию мэйн как статическую не создавая объекта основного класса. При наследовании интерфейсов будут проблемы, если захочется применить нестатические объекты в данном классе, потому создайте другой класс.

 

Как пользоваться циклами

Основные виды циклов

For(;;) – бесконечный цикл

For(инициализация;проверка условия;изменение параметра)

Например for(int i=0;i<10;i++){}

или for(int i=0;i<10&&s.charAt(i)!=’a’;i=i+2){}

объявляя тип int в теле цикла мы водим локальную переменную внутри цикла, вне этого цикла данной переменной не существует.

Цикл while(условия) {} пока выполняет делай

While(a>100 && true) {}

Do {} while (Условие) пост проверка условия.

|| - или, && - и, ! – не

!= - не равно, == - равно.

Условный оператор

If(условие) {действия;}; else {действия;}

if(i==2||j>4&&a>5||f!=0) {действия;}; else {действия;};

Массивы в Ява динамические объекты.

Мы можем задать размер массива и его размерность.

Double[] p1; - ссылка на одномерный массив вещественных чисел

Int[] mas; - ссылка на одномерный массив целых чисел

boolean[] pkmas; - ссылка на одномерный массив логических переменных (true, false)

String[][] zz; - ссылка на двумерный массив строк.

Zz = new String[5][6]; создание динамического массива объекта из 5-и строк и 6-и столбцов.

Int N=10;

Mas = new int[N]; массив из N целых.

Нумерация в массивах Ява с нуля, последний индеек элемента sizе-1

Размерность массива доступна по его свойствам и методам.

Mas.length – длина массива

 

Можно задать массив ссылок на объекты, но затем необходимо проинициализировать каждый элемент массива, создав объект и присвоив элементу массива ссылку на объект. !!!

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

Например

Double[][] val = double[10][];

For(int i=0;i<10;i++) val[i] = new double[20];

 

Все методы в Ява являются функциями то есть возвращают какое то значение, установленного типа, если это не пустой тип void, что значит функция ничего не возвращает. Для возврата значения используется return.

Например

double sum(double a,double b)

{

return a+b;

}

 

При этом возвращаемые значения (формальные параметры) могут быть и в параметрах функции, но это обязательно должны быть ссылки на объекты, а не простые типы данных, как (int, double, String, boolean)

Например

void getstr(String a)

{

a=”1212”;

}

String a=””;

getstr(a);

вызов никак не изменит строки.

Потому нужна следующая реализация.

Class Str

{ String a;

 

}

void getstr(Str a)

{

a.a=”1212”;

}

Str a;

a.a=””;

getstr(a);

Строка a.a изменится.

 

Конечно, в этом есть определенное неудобство.

 

То, что я реализовал функцию вне объекта ничего не значит, так делать нельзя, подразумевается, что функция находится в каком то классе!!!!!

 

Пусть вы создали класс, в котором есть фрейм и у фрейма есть контейнер.

После отображения фрейма, установив SetVisible(true) или Show , вы затем можете выбрать контейнер

Container cc;

cc = getContentPane();

и в процедуре где вы обрабатываете нажатие кнопки рисовать геометрические фигуры.

С помощью

cc.getGraphics().drawLine(0, 0, 100, 100);

также есть другие функции для рисования.

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

Для начала необходимо научиться наследовать интерфейсы и классы, переопределять в наследниках методы интерфейсов и классов, я думаю с событиями вы разберетесь, так как уже делали это. Только в данном случае необходимо нормально понимать логику работы программы. Логика проста. Вы создаете класс, в котором определяете основные функции работы с формой (фреймом), имплементируете интерфейс для обработки событий, переопределяете нужный метод обработки событий, ссылки на те объекты которые вам нужны для работы в фреймом объявляете вне функций самого класса, делаете их свойствами или данными самого класса, чтобы можно было использовать их как глобальные переменные.

 

 

 

 

Java считается полностью объектно-ориентированным языком, тем не менее, в нем введены простые типы данных, создавая переменные данных типов, мы не определяем объект, это сделано для того, чтобы не было потери в производительности. Считается, что все простые типы данных на всех платформах имеют один размер в битах, что может снижать производительность на некоторых платформах, но позволяет программам быть мобильными.

Целые типы данных все знаковые:

byte — 1 байт, 8 бит, -128 — 127,

short -2 байта, 16 бит, -32768 - 32767

int — 4 байта, 32 бит

long — 8 байт, 64 бит

Вещественные числа:

double — 64 бит, 1.7e-308 — 1.7e+308

float — 16 бит, 3.4e-038 — 3.4e+038

Символьный тип данных

char — 16 бит, содержит символе в кодировке UNICODE, первые 127 кодов такие же как и у ASCII.

Булевский тип данных (логический).

boolean — 1 байт, true или false.

Пример использования простых типов данных.

       char ch = 'X';

       //объявление переменных целого типа и задание их значений.

                   int y=0, x = 2+y,z;

                   z=2;

                   double v=z*2;

                   //задание переменных булевского типа

                   boolean d = v>z,bool=true;

                   //вывод на экран переменных

                   System.out.println("Hello world "+ch+" "+y+d+z);

результат: Hello world X 0true2

Кроме простых типов данных возможно использование строковых типов данных, одномерных и двумерных массивов.

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

       String str="First ";

       ..//сложение строк и целого числа, которое автоматически преобразуется в ..//строку

       int z=2;

       str = str + "Second" + " "+z;

       System.out.println(str);

результат: First Second 2

       //перевод числа из строкового представления в вещественное.

       double v = Double.valueOf("12").doubleValue();

       System.out.println(v);

str.length() - возвращение длины строки (возвращает целый тип).

str.charAt(int arg0) - вовзращение символа строки с номером arg0 (возвращает символьный тип char).

str.compareTo(String arg0) — сравнение со строкой arg0, если строки равны, то функция выдает 0, если строка arg0 больше строки str, то выдается значение меньшее 0, если меньше, то значение большее 0, причём оно равно расстоянию до сравниваемого символа в кодировке, с которого началось несовпадение строк.

 

Пример:

str = "222";

         System.out.println(" "+str.compareTo("111"));

       System.out.println(" "+str.compareTo("228"));

       System.out.println(" "+str.compareTo("220"));

результат:

                 1

                 -6

                 2

                   str.valueOf(arg0) — преобразование переменной arg0 в строку, соответствующий тип данных будет преобразован в строковое представление.

 

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

объявление одномерного массива и задание его начальных значений, при   //этом размер массива автоматически будет равен 4.

       double mas[] = {1,2,40,20};

       //выделение памяти под массив из четырех вещественных элементов.

       double mas1[] = new double[4];


Дата добавления: 2019-01-14; просмотров: 246; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!