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

Заочники 2020-2021 / java_zaoch_sem_1

.pdf
Скачиваний:
79
Добавлен:
15.06.2021
Размер:
264.96 Кб
Скачать

Содержание

 

Введение ........................................................................................................................................

3

Установка и настройка JDK, среды разарботки ...........................................................................

3

Основные конструкции языка Java ........................................................................................

5

Hello, World! ..........................................................................................................................................

5

Комментарии ........................................................................................................................................

5

Типы данных ........................................................................................................................................

5

Переменные...........................................................................................................................................

7

Константы .............................................................................................................................................

7

Операции (арифметические, логические).......................................................................................

7

Преобразование и приведение типов ...............................................................................................

8

Строки ....................................................................................................................................................

9

Ввод/вывод в консоль .......................................................................................................................

10

Ветвления ............................................................................................................................................

10

Циклы ..................................................................................................................................................

10

Объекты, классы .......................................................................................................................

12

Пакеты .................................................................................................................................................

14

Импортирование классов .................................................................................................................

14

Наследование .............................................................................................................................

16

Классы, суперклассы и подклассы.................................................................................................

16

Класс Object ........................................................................................................................................

16

hashCode() и equals() ..........................................................................................................................

17

toString() ...............................................................................................................................................

17

Переопределение методов ................................................................................................................

17

Абстрактные классы .........................................................................................................................

18

Модификаторы доступа....................................................................................................................

19

Интерфейсы ........................................................................................................................................

19

Enum ............................................................................................................................................

20

Collections ....................................................................................................................................

20

Исключения................................................................................................................................

21

Разработка приложений с графическим интерфейсом......................................................

23

Фреймы ................................................................................................................................................

23

Java 2D..................................................................................................................................................

24

1

Основные компоненты Swing..........................................................................................................

28

Компоновка элементов .....................................................................................................................

29

Обработка событий ...........................................................................................................................

29

Многопоточность ......................................................................................................................

31

Состояние потока...............................................................................................................................

32

Синхронизация потоков ...................................................................................................................

32

2

Введение

Java – объектно-ориентировразработанныйязыкпрогр, ммирова ия

 

 

компанией Sun Microsystemsтеперьееуженесуществует,таккаконабыла(

 

 

 

купленаOracle

в 2010году

). Формально, Java являетсянетолькоязыком

 

 

программирования,целойплатформой,котораявключаетсеб

 

 

 

 

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

 

еку,содержащую

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

 

 

 

 

выпроголнения

рамм,котораяобеспечивбезопасно,нез отвиетсимость

 

 

операционнойсистемыавтоматическуюсборку« мусора».

 

 

 

 

Однойизосновныхособенностейязыка

 

Java, какужебылосказановыше,

 

 

являетсянезависимостьотоперацисистемы.Этдостигаетсяннойпутем

 

 

 

 

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

 

 

 

интерпретируетсявбайт

-код,которыйвыполняетсявиртуальмаши, ной

 

 

преобразующейеговнабормашинныхком.Такимобразомнд,программа,

 

 

 

написанная

Java можетбытьвыполненапрактичес

килюбой

операционсист,гдустановленамевиртуальнаяй

 

Java

машина(

Java

Virtual Machine - JVM)Скачать.

Java машинуможнонаофициальномсайте

 

 

компании Oracle(http://www.oracle.com/technetwork/java/index.html).

 

УстановкаинастройкаJDK

,средыразарбо

тки

Длянаписания,запускаотладкипрограмм,написанных

 

Java потребуется

JDK(Java Developer Kit),которыйвключаетсебякаксамувиртуальную

 

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

 

 

последнюю

JVM

можнопоссылке

 

http://www.oracle.com/technetwork/java/javase/downloads/index.html .Веськод,

которыйбудетвстречатьсяпробученияцессе,гарантированноработает

 

 

начинаясJDK 6.0.

 

 

 

Дляболееудоб

нойразработиотладпрограммнакиJava

 

рекомендуется

исподниизльзоватьследующихразработки.

3

Eclipse (http://www.eclipse.org/downloads/. Выбрать Eclipse IDE for Java Developers).

NetBeans (https://netbeans.org/downloads/.Выбрать Java SE).

Все, приведвыше,срразработкинныедыявляютсяабсолютно

бесплатнымиимвнеобходимыйютсьфункционал.

4

Оснконструкциивнязыкае

Java

Hello, World!

 

 

Начнемизучениеязыкасклассическогопримера

– напрограммыисания

“Hello, World!” Далеебудетрассмотренокаксоздаватьновый

Java проектв

средеразработки

Eclipse. Созданиепроектовдругихсредахразработки

аналогично.

 

 

Комментарии

 

 

Комментариив

Java, какивбольшинствеязыковпрограммирования,

игнопвырируютсяпрограммыолнении.

Вязыке Java существуетдва

осноспособавыделенияныхкоммвтексте. нтариев

 

• Двекосыечерты(//)Комментарий. начинсращущасимволамиется//

 

ипродоконцастрокилж. ется

 

System.out.println(“Hello, world!”);

 

// Этокомме,онигнтарийкомпорируется

илятором.

• Блочныекоммреализуютсянтапомощьюазделителейии/**/.

 

System.out.println(“Hello, world!”); /*Этоблочныйкомментарий.

Онможетбытьнанестрокколько.*/

Типыданных

ЯзыкJava

являетсястроготипизиров.Этозначит, кипждойнным

 

переменнойдолженбытьобъявлен.

Всегов

Java восемьпримитивныхтипа

данных.Четыреизнихцелочисленные,два

 

– длядействительныхчисел,

один – символформате

Unicode ипоследний

– логическоезначение.

Целочисленныетиспопыдпредставленияьзуются

 

какположительных,

такиотрицательныхчисел,неимеющихдробнойчасти.

 

 

• int – занимвпамятибайта4 можетхранитьчислаот

-2147483648

до2147483647.

 

 

5

short – занимвпамятибайта2 можетхранитьчислаот

 

-32768до

 

32767.

 

 

• long – занимаетвпамяти

8байтиможетхранитьчислаот

-

 

9223372036854775до922337203685477580708.

 

 

byte – занимаетвпамятиодбайтможетхранитьчислаот

 

-128до

 

127.

 

 

Вязыке

Java диапазоныцелочислентиповнезаотмашиныисят,наых

 

 

которвыполняетсяпрограммай.Это

ущественноупрощаетперенос

 

программысоднойплатформынадругую.

 

 

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

 

 

• float – занимаетвпамятибайта4можетхранитьчислаот

 

-

 

3,30282347Едо3,30282347Е.

 

 

double – занимаетвпамяти8

байтиможетхранитьчислаот

-

 

1,7976931348623157Едо Е.

 

 

Тип char исподпредсляьзуеиндивидуальныхтавлениясясимвол.Любой

 

 

символ

Java можнопредставвидекодовойитьницы

 

Unicode, которую

можновыразитьшестнадцатеричнымчисло

мвдиапазонеот

\u0000 до

\uFFFF.

 

 

 

ВJava предусмотнекотоспецсимволы,котреныыебытьрыегутзнакомы

 

 

подругимязыкампрограммирования.

 

 

\b – возвратнаоднупозицию.

\t – табуляция.

\n – переходнановуюстрочку.

\r – возвка.реатки

• \” – двойнаякав

ычка.

\’ – одинарнаякавычка.

\\ - обратнаякосаячерта.

Тип boolean,отвечающийзахранениелогичпере,искихмедваетнных

 

значения: true

и false. Преобразование переменныхтипа

boolean в

целочисленныенаоборотневозможно.

 

6

Переменные

ВязыкеJava

каждаяпереимтип.Приеетобъннаяпеременнойвлении

 

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

 

примеровобъявленияпеременных.

 

double price;

 

int age;

 

 

long timeInMsec;

 

boolean fl;

 

Импеременнадолжначинатьсянылюбогох

символа Unicode,

являющегосябуквой.

 

 

Побъявлслепеременужнонияинициализироватьнойспомощью

 

опеприсваиванияатора,посколькуиспользпеременную, онеторойвать

 

присвоеноникакогозначения,нев. зможно

Например,

int n =10;

 

int v;

 

 

v = 4;

 

 

Константы

Вязыке Java дляобозначенияконспотантключевоесловоьзуется final.

final double pi = 3.14;

Ключевоеслово final означает,чтоприсвкак0либозначеитьданнойие

перемеможлишьоднразноймегонятьельзя.

Опеарифметические( ации,логичес

 

кие)

Дляобеспесложениярацчен,вычитания,умножй деления

 

 

языке Java испобычныельзуютсяарифмопетическиерации+

- * /.

Операобознача/ целочиияделен,еслиобатнное

 

аргумента

являютсяцелымичислами.Впротслучаеэтаопевном

 

рацияобозначает

делениечиселплавающейточкой.Остатокотделцчиселлыхния

 

 

обозначаетсясимволом

%.

 

7

Такжевязыке

Java предусмотренасокрзапбщеннаяинарныхсь

 

арифмоп.Напримертическихраций,оператор

 

 

x += 4;

 

 

эквивалентен

 

 

x = x + 4;

 

 

Вязыке Java, какивязыкахСиС++,естьоперацинкрементирования

 

декрементироввычисления:результатевыр жения

n++ ктекущему

значениюпеременной

n прибавляетсяединица,

n-- уменьшает n наединицу.

Язык Java содержитполныйком отноерацийлект

шений.Чтобы

проверить равен,следуетиспользтвосимволы==Например.,ватьзначение

 

выраже3==7равноия

false.

 

Дляпроверкинеравенстиспользуютсясимволы!=Т,значение.к 3 != 7

 

равно true.

 

 

Крто,вязыкегоме

Java естьобычныеоперации

< (меньше), > (больше), <=

(меньшеилиравно),больше>=илиравно().

 

 

Также,какивС++,используютсясимволы&&

 

длогическойяоперации

«и» ,атакжесимволы

|| дляобозначениялогическойоперацииили«»Как.

 

обычно,знаквосклицаниязначаетлогичоперациюотрицанскую

ия.

Операция && и || задаютвычислениепосокращсхеме,согласнонной

 

которой,еслипервыйэлемеопределяетзначвсвыраженияниего,то

 

остальныеэлементыневычисляются.

 

 

Преобиприведениеазоватипов

Частовозникаетнеобходимостьпре бразоватьдин

числовойтипдругой.

Нарис.показаны1 допустимыепреобразования.

 

Еслидвазначенобъединяютсябинарнойоперациейанпример( , n+f

,где n –

целоечисло,а

f – чисплавающейточкой

),топередвыполнением

оперобопеациирандаеобразовываютсячисл

аодинаковоготипа.

• Еслихотябыодинизоперандовимееттипdouble,

второйтоже

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

double.

8

• Впротивнслучае,еслихотябыодинизмоперандовимееттип

float,

второйтожепр образовываетсятип

float.

• Впротивнслучае,еслихотябыодинизмоперандовимееттипlong,

то

второйтожепр образовываетсячисло

long.

• Впротивномслучаеобаопе андаеобразовываютсячислатипа

int.

Приводитьчисловыетипыможобразомявным.Например,

 

double x = 9.997;

 

int n = (int) x;

 

 

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

n

будетзапчисаноло

9.

 

Строки

Строки Java – этоп следовательностьсимволов

Unicode.

Вязыке Java нетвстроенноготипадлястрок.Вместоэтогстандартная

 

библиотекаязыкласссодержит

String.

Каждаястр,помещеннаякав

кавычки,представсобойэкземплярассаяет

 

String.

String s = “”; // пустаястрока

 

String greeting = “Hello”;

 

Язык Java, какибо

льшинствоязыковпрогр,даетвозможностьммирования

 

использоватьзнак+дляобъединенияконка( )двухст.енациирок

 

String str1 = “Hello, ”;

 

String str2 = “world!”;

 

String message = str1 + str2; // “Hello, world!”

 

Вклассе

String отсутствуютмет,которыеды

позволялибыизменить

символысуществующейстроке.

Дляполученияинформациивсехдоступныхметработесодастроками следуетобракофидокументациитьсяциальной.

http://docs.oracle.com/javase/8/docs/api/java/lang/String.html

9

В/выводконсоль

Какужерассматрранее,длявыводаинформациивалось

наэкранна

стандауствыводаройствотнконсольное.е. ( окно)можно

 

воспользоватьсяметодомSystem.out.println()

. Чтениеизстандартного«

входнпот» окаго

System.in

нетакпросто.Длятого,чтобырганизовать

чтеинформиесконсоли,вамсоздцдои

 

атьобъект Scanner исвязатьего

состандарвходнымпотоком

 

System.in.

Scanner in = new Scanner(System.in);

String name = in.nextLine();

Ветвления

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

Java имеслевиддующийт:

if (условие)оператор

 

Условиедолжноуказыватьсяскобках.

Например,

if (n > m) {

 

System.out.println(«n bigger then m»);

} else {

 

System.out.println(«m bigger then n»);

}

 

Циклы

Вязыке Java существуетстандараборциклов. ный

 

Цикл while

обеспечиввыполнениевыр(аженияет

лигруоператоровпы,

составляющихбл)дтехпорк,покауслоравноие

true.

while (n < 10) {

 

 

n++;

 

}

 

 

Условиецикла

while проверяетсясамомначале.След, овательнозможна

 

ситуация,прикот,содержащийсядройвблокенебудетвыполнен

 

никогда.Еслив

ыхотите,чтобыблоквыпхобыодлнтяраз,проверкуинлся

 

10

Соседние файлы в папке Заочники 2020-2021