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

methodichkaA5

.pdf
Скачиваний:
17
Добавлен:
02.02.2015
Размер:
801.83 Кб
Скачать

П.Е. Пустовойтов

ПРОГРАММИРОВАНИЕ НА JAVA 2

учебное пособие по дисциплине

«Вычислительная техника и программирование»

для студентов специальности 6.091200 - Видео-, аудио- и кинотехника

Утверждено редакционно-издательским советом университета, протокол №___ от ________

Харьков НТУ «ХПИ» 2007

1

ББК хх.ххх

УДК ххх.ххх

Рецензенты: Л.Г. Раскин, доктор техн. наук, НТУ «ХПИ» Н.Ф.Логвиненко, канд. техн. наук, ХГУВД

Пустовойтов П.Є. Програмування на JAVA 2: Навчальний посібник. – Харків: НТУ «ХПІ», 2007. – 76 с.

Представлен первый раздел «Программирование на JAVA 2» дисциплины

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

описывающий основные понятия и принципы программирования в целом. Теоретический материал сопровождается примерами программ на JAVA 2.

Предназначено для студентов специальности 6.091200 - Видео-,аудио- и кинотехника.

Представлено перший розділ «Програмування на JAVA 2» дисципліни «Обчислювальна техніка та програмування». Викладено учбово-теоретичний матеріал, що описує основні поняття й принципи програмування в цілому. Теоретичний матеріал супроводжується прикладами програм на JAVA 2.

Призначено для студентів спеціальності 6.091200 - Відео-, аудіота кінотехніка.

Ил. 10. Табл. 10. Библиогр. 6 назв.

ISBN

© П.Е. Пустовойтов, 2007

©НТУ «ХПИ», 2007

2

Вступление

Дисциплина «вычислительная техника и программирование» построена на изучении объектно-ориентированного языка программирования Java.

Если кратко, то Java - это один из языков программирования. Он разработан компанией Sun и является платформо-независимым. Это означает, что программа, написанная на Java, будет одинаково выполняться в любой операционной системе (Windows, Linux, и др.). Это достигается путем того, что, текст программы переводится с помощью компилятора не в родные для процессора команды, а в коды виртуальной java-машины (JVM). Коды виртуальной машины одинаковы на любой платформе, и именно поэтому одна и та же программа и будет работать на разных платформах. Эти коды называются байт-кодами. Сама же виртуальная машина, естественно, зависит от платформы (виртуальная машина для Windows отличается от виртуальной машины для других ОС). В процессе изучения курса будем разрабатывать программы на Java для Windows, но это не означает, что они не будут работать на других платформах (рис.1).

Код

 

Двоичный

 

Код

Компилятор

БайтКод

 

 

 

интер-

программ

 

файл

программы

Java

Java

 

претатор

 

 

windows

 

 

 

 

 

 

 

 

 

 

 

 

 

 

windows

____

Windows

 

 

____

 

 

____

 

 

 

 

 

 

 

 

 

____

 

Двоичный

 

____

 

 

____

 

интер-

____

 

 

 

 

 

 

файл

 

____

 

 

____

 

 

 

 

 

 

претатор

____

 

 

 

 

 

 

linux

 

____

 

 

____

 

linux

____

 

 

 

 

 

Unix

 

 

____

 

 

____

 

 

____

 

 

 

 

 

 

 

 

 

 

 

 

 

 

____

 

 

____

 

 

 

 

Двоичный

 

 

 

 

 

 

интер-

 

 

файл

 

 

 

 

 

 

 

 

 

 

 

 

 

 

претатор

 

 

OS/2

 

 

 

 

 

 

OS/2

 

OS/2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1 – Различие между программами, написанными на Java и программами, написанными на других языках

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

JDK расшифровывается как Java Developer Kit. Это набор программ и утилит, предназначенный для программирования на Java. В его состав входит ряд утилит.

3

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

интерпретатор java. С его помощью запускаются откомпилированные в байт-коды программы. Он содержит в себе JVM (Виртуальную машину Java);

утилита appletviewer. С ее помощью можно запускать апплеты (программы, разрабатываемые для внедрения в HTML страницы);

утилита javadoc. Предназначена для создания документации.

Скачать JDK можно с сайта www.java.sun.com . JDK - это бесплатный набор. Как следствие, пользователям чистого JDK приходится работать без особого комфорта - тексты программ необходимо набирать в Блокноте или аналогичном текстовом редакторе. Чтобы написать программу на Java, необходим качественный редактор. В качестве редактора будем использовать

Borland Java Builder X.

Направления, по которым развивается java.

написание приложений ЭВМ;

Applet;

Servlet;

JSP, JavaBeans;

приложения для мобильных телефонов и карманных компьютеров;

1.Первые шаги в программировании

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

1.Создание проекта. Выбираем пункт меню File->new project. В поле Name вводим название проекта «prg1» (рекомендуется обратить внимание на большие и маленькие буквы). Нажимаем кнопку finish.

2.Создание класса в проекте. Пункт меню File->new, закладка General. Выбираем пиктограмму class. В поле Class name вводим название класса «FirstProg». Нажимаем кнопку OK.

После вышеперечисленных манипуляций средой JBuilderX, будет автоматически сгенерирован следующий код программы.

package prg1;

/**

* <p>Title: </p>

4

*<p>Description: </p>

*<p>Copyright: Copyright (c) 2005</p>

*<p>Company: </p>

*@author not attributable

*@version 1.0

*/

public class FirstProg { public FirstProg() {

}

}

Исправим его до такого кода.

package prg1;

import java.lang.*;

public class FirstProg{

public static void main(String [] args){

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

}

}

Здесь

package prg1; – название пакета в котором будет находиться разрабатываемый класс;

import java.lang.*; – подключение дополнительных классов и пакетов; public – сообщаем, что класс является общедоступным;

class FirstProg{ – название класса. Далее от символа { до последнего символа } будет находиться внутренний код класса – сама программа;

public static void main(String [] args){ – главный метод класса, называемый

еще и запускающим методом. Он всегда является общедоступным public и статическим static. Тип выдаваемых данных метода - void, это значит, что этот метод не выдает данных.

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

System.out.println("Hello World!"); – в теле программы вызывается функция

вывода на консоль надписи

Hello World!

Во время первого запуска JBuilder предложит настроить RunTime Configuration. В появившемся окне нажимаем кнопку new. В поле main class указываем имя главного класса, в данном случае это – prg1.FistProg. Сохраняем RunTime Configuration и запускаем заново программу.

5

1.2. Переменные и типы данных

Переменная – ячейка в памяти, которая может принимать и хранить какое-нибудь значение (цифра, буква, набор букв). Каждая переменная имеет имя, тип и значение. Прежде чем использовать переменную, ее необходимо объявить. После того как переменная объявлена, ей можно присвоить значение.

Объявление переменных состоит из указания типа и имени переменной.

int myAge;

String myName;

boolean isTired;

Здесь переменная myAge имеет целочисленный тип, myName – текстовая, isTired – логическая (принимает значения true или false).

Переменная может быть объявлена в любом месте метода, хотя рекомендуется объявлять переменные в начале метода.

public static void main (String args[]) {

int count;

String title;

boolean isAsleep;

}

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

int x, y, z;

String firstName, LastName;

Во время объявления переменной можно присваивать ей значение.

int myAge= 29;

String myName = "Pustovoitov"; boolean isMarried = false;

int a = 4, b = 5, c = 6;

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

Таблица 1 – Целочисленные типы данных

Тип

Размер

Диапазон

byte

8 bits

-128 to

127

short

16 bits

-32,768 to 32,767

int

32 bits

-2,147,483,648 to

2,147,483,647

long

64 bits

-9,223,372,036,854,775,808 to

9,223,372,036,854,775,807

 

 

6

 

Таблица 2 – Другие типы данных

Тип

 

Название

 

 

Пример

float

 

Дробный тип

 

float f=(float)3.5;

double

Дробный тип двойной точности

 

double d=3.1234567;

String

Строковый или текстовый

String cityName = "Kharkiv";

char

 

Символьный

 

String firstLetter = ‘K’;

boolean

 

Логический

Принимает только значения

 

 

 

 

 

 

true или false

 

 

 

 

 

 

 

 

Таблица 3 – Арифметические операции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оператор

 

Название операции

 

Пример

 

 

+

 

Сложение

 

 

3 + 4

 

 

 

-

 

Вычитание

 

 

5 - 7

 

 

 

*

 

Умножение

 

 

5 * 5

 

 

 

/

 

Деление

 

 

14 / 7

 

 

 

%

 

Остаток от деления

 

 

20 % 7

 

Пример.

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

package prg1; import java.lang.*; class ArithmeticTest {

public static void main (String args[]) { short x = 6;

int y = 4;

System.out.println("x равен " + x + ", y равен " + y);

System.out.println("x + y = " + (x + y));

System.out.println("x - y = " + (x - y));

System.out.println("x / y = " + (x / y));

System.out.println("x % y = " + (x % y));

}

}

Результат.

x равен 6, y равен 4

x + y = 10

x - y = 2

7

x / y = 1

x % y = 2

При написании программ необходимо следить за тем, чтобы название класса совпадало с названием файла с расширением .java. Таким образом,

классу ArithmeticTest будет соответствовать файл ArithmeticTest.java.

1.3. Присваивание

Присваивание значений переменным можно сделать следующим способом.

x = y = z = 0;

Таким образом, во все три ячейки памяти записывается значение 0.

x = x + 2;

Это значит, что к значению переменной x прибавляется 2, а результат записывается в переменную x, затирая, при этом, старое значение.

Если до выполнения операции x = x + 2 в переменной х было записано число 5, то после операции в ней будет храниться число 7.

Таблица 4 – Операторы присваивания

Выражение

Значение

x += y

x = x + y

x -= y

x = x - y

x *= y

x = x * y

x /= y

x = x y

x++ или ++x

Инкремент x=x+1

x--

Декремент x=x-1

Пример.

Программа показывает разницу между вычислениями y=x++ и y=++x. В случае y=x++ в переменную y записывается значение х, а потом значение х увеличивается на единицу. В случае y=++x сначала х увеличивается на единицу, а потом новое значение х записывается в у.

class PrePostFixTest {

public static void main (String args[]) { int x = 0;

int y = 0;

System.out.println("x и y равны " + x + " и " + y ); x++;

8

System.out.println("x++ результат " + x); ++x;

System.out.println("++x результат " + x);

System.out.println("Обнуляем х");

x = 0; System.out.println("------------"); y = x++; System.out.println("y = x++ :"); System.out.println("x = " + x); System.out.println("y = " + y); System.out.println("------------"); y = ++x; System.out.println("y = ++x :"); System.out.println("x = " + x); System.out.println("y = " + y); System.out.println("------------");

}

}

Результат.

x и y равны 0 и 0 x++ результат 1 ++x результат 2

Обнуляем х

------------

y = x++ : x = 1

y = 0

------------

y = ++x : x = 2

y = 2

------------

1.4. Порядок выполнения простых математических операций

Вычислим следующие значения функций.

y = 6 + 4 / 2;

y = (6 + 4) / 2;

Результат будет различен, потому что операция деления имеет больший приоритет, чем операция сложения. Поэтому, в первом случае результат будет

9

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

Таблица 5 – Приоритет выполнения операторов

Оператор

 

Пояснение

()

 

Скобки обладают максимальным

 

 

приоритетом

 

 

 

++ -- ! ~

 

Инкремент, декремент, отрицание

* / %

 

Умножение, деление, остаток от деления

+ -

 

Сложение вычитание

<< >> >>>

 

Операторы двоичного сдвига

< > <= >=

 

Операторы сравнения

== !=

 

Равно, неравно

&

 

AND

^

 

XOR

|

 

OR

&&

 

Логическое AND

||

 

Логическое OR

= += -= *= /= %= ^=

 

Присваивания

&= |= <<= >>= >>>=

 

Другие присваивания

1.5.

Преобразования числовых типов

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

Шесть черных стрелок (рис. 2) обозначают преобразования, которые выполняются без потери информации. Три серые стрелки означают преобразования, при которых может произойти потеря точности. Например, количество цифр в большом целом числе 123456789 превышает количество цифр, которое может быть представлено типом float. Число, преобразованное в тип float, имеет правильную величину, но несколько меньшую точность.

int n = 123456789; float f = n; // Число n равно 1.234S67892E8.

Если два значения объединяются бинарным оператором (например n+f, где n -целое число, a f - число с плавающей точкой), то перед выполнением операции оба операнда преобразовываются в числа, имеющие одинаковый тип.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]