- •5B060200 Информатика мамандығының білім алушыларына арналған
- •3. Оқу жоспары бойынша сағаттардың бөлінуі
- •5. Оқу пәнінің сипаттамасы
- •6. Пәннің оқу-әдістемелік қамтамасыз етілуі
- •Оқу нәтижелерін бағалау және бақылау
- •8. Оқу пәнінің саясаты
- •2.Глосарий.
- •3. Дәрістер тезисі.
- •Лексикалық негіздер
- •Бос орындар
- •Комментарилер
- •Логикалық литералдар
- •Символды литералдар
- •Жолдық литералдар
- •Операторлар
- •Қарапайым типтер
- •Операторлар
- •If (логикалық өрнек) оператор1; [ else оператор2;]
- •Switch операторы
- •Return операторы
- •Цикл операторы while
- •Цикл операторы do-while
- •Continue операторы
- •3 Дәріс. Массивтер
- •Бір өлшемді массивтерді өңдеу.
- •Көп өлшемді массивтер
- •Конструкторлар
- •4 Дәріс. Класстар және объектілер
- •Кластар
- •Айнымалы өкілдері (instance variables)
- •Әдістерді хабарлау
- •Айнымалы өкілдерін жасыру
- •Конструкторлар
- •This –ті конструкторларда қолданылуы
- •5 Дәріс. Әдістер және конструкторлар
- •Әдістерді хабарлау
- •Айнымалы өкілдерін жасыру
- •Конструкторлар
- •6 Дәріс. Мұрагерлік және әдістерді қайта анықтау
- •Мұрагерлік
- •7 Дәріс. Мұрагерлік және әдістерді қайта анықтау
- •Көп деңгейлі мұрагерлік
- •Динамикалық құрылымдар
- •9 Дәріс. Мәтінмен жұмыс
- •Конструкторлар
- •Жолдарды реттеу
- •IndexOf және lastIndexOf әдістерінің қолданылу
- •14 Дәріс. Графикалық интерфейсті программа құру
- •15 Дәріс: Графикалық интерфейсті программа құру
- •4) Негізгі және қосымша әдебиеттер тізімі
- •5) Зертханалық сабақтар жүргізу жоспары
- •Әдістемелік нұсқау
- •Зертханалық жұмыс № 1
- •Арифметикалық операторлар
- •Биттік меншіктеу операторлары
- •Зертханалық жұмыс 2 Тақырыбы: Java тілінің басқару инструкциялары. Шартты оператор.
- •If (логикалық өрнек) оператор1; [ else оператор2;]
- •Switch операторы
- •Зертханалық жұмыс 3
- •Цикл операторы for
- •Үтір операторы
- •Continue операторы
- •Зертханалық жұмыс 4
- •Зертханалық жұмыс 5
- •Зертханалық жұмыс 6
- •New операторы
- •Зертханалық жұмыс 7
- •Зертханалық жұмыс 8-9
- •Зертханалық жұмыс 10
- •Интерфейстер
- •Интерфейстік сілтемелер
- •Интерфейстер кеңеймесі
- •Зертханалық жұмыс 11
- •Конструкторлар
- •Жолдарды реттеу
- •IndexOf және lastIndexOf әдістерінің қолданылу
- •Жолдарды өңдеу функциялары
- •Зертханалық жұмыс 12
- •Зертханалық жұмыс 13
- •Зертханалық жұмыс 14 Тақырыбы:Енгізу-шығару жүйесі
- •Зертханалық жұмыс 15 Тақырыбы: Графиктік интерфейспен программалар құру
- •Java негіздері
- •Java басқару инструкциялары
- •Массивтер
- •Зертханалық сабақ тапсырмалары № 4 Кластары және объектілер
- •Әдістер және конструкторлар
- •Мұрагерлік және әдісті қайта анықтау
- •Мұрагерлік және әдісті қайта анықтау (жалғасы)
- •Зертханалық сабақ тапсырмалары № 8 Пакеттер және интерфейстер
- •Мәтінмен жұмыс
- •Зертханалық сабақ тапсырмалары № 10 Ерекше жағдайларды өңдеу
- •Көп ағынды программалау
- •Зертханалық сабақ тапсырмалары (жалғасы) № 13
- •Графиктік интерфейспен программалар құру
- •Графиктік интерфейспен программалар құру (жалғасы)
- •6) Өзіндік жұмыс тапсырмалары
- •7) Ағымдық және аралық бақылау сұрақтары мен қорытынды бақылау материалы
- •9.Оқу сабақтарын бағдарламалық және мультимедиялық сүйемелдеу тізімі (пәннің мазмұнына байланысты)
IndexOf және lastIndexOf әдістерінің қолданылу
class indexOfDemo {
public static void main(String args[]) {
String s = "Now is the time for all good men " +
"to come to the aid of their country " +
"and pay their due taxes.";
System.out.println(s);
System.out.println("indexOf(t) = " + s.indexOf('t’));
System.out.println("lastlndexOf(t)= " +s.lastlndexOf('t’));
System.out.println("indexOf(the) = " + s.indexOf("the"));
System.out.println("lastlndexOf(the) = " + s.lastlndexOf("the"));
System.out.println("indexOf(t, 10) = " + s.indexOf('t’ , 10));
System.out.println("lastlndexOf(t, 50) = " + s.lastlndexOf('t’ , 50));
System.out.println("indexOf(the, 10) = " + s.indexOf("the", 10));
System.out.println("lastlndexOf(the, 50) = " + s.lastlndexOf("the", 50));
}
}
Программа нәтижесі
Now is the time for all good men to come to the aid of their country
and pay their due taxes.
indexOf(t) = 7
lastlndexOf(t) = 87
indexOf(the) = 7
lastlndexOf(the) = 77
indexОf(t, 10) = 11
lastlndexОf(t, 50) = 44
indexОf(the, 10) = 44
lastlndexОf(the, 50) = 44
Әдебиеттер
Васильев А.Н. Java. Объектно-ориентированное программирование: Учеб. пособ. – СПб.: Питер, 2011. – 400 с. [В]
Казарин С.А., Клишин А.П. Среда разработки Java-приложений Eclipse: (ПО для объектно-ориентирован-ного программирования и разработки приложений на языке Java): Учеб. пособ., Москва, 2008. – 77 с. [К]
Монахов В.В. Язык программирования Java и среда NetBeans. – 3-е изд., перераб. и доп. – СПб.: БХВ-Петербург, 2011. – 704 с.
11 дәріс. Көп ағымды программалау
Дәріс мақсаты: Javaның ағымды моделі, Ағымды құру, Бірнеше ағымды құру, Ағымның синхронизациясын түсіндіру.
Қазіргі көпшілік үлестірілілетін қосымшалар (Rich Client) пен веб- қосымшалар (Thin Client) үшін бірнеше қолданушыларды бір уақытта қамтамасыз ету талаптары қойылады. Қолданушылардың әрқайсысына бөлек ағын бөлінеді, сонымен қатар ақпараттық ресурстар үлестіріліп, параллель өңделеді.
Әрбір тәуелсіз бірнеше есептерді бір уақытта ұйымдастыруға көмектесетін амалды (құралды) ағын деп атайды. Программаның орындалуын қамтамасыз ететін негізгі ағыннан тәуелсіз автономды орындалатын ағындар класс экземплярлары болып табылады. Ағынды құрудың және орындаудың екі тәсілі бар: Thread класын кеңейту немесе Runnable интерфейсін жүзеге асыру арқылы.
package by.bsu.threads;
public class TalkThread extends Thread {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("Talking");
try {
Thread.sleep(7);
} catch (InterruptedException e) {
System.err.print(e);
}
}
}
}
Runnable интерфейісін жүзеге асыру барысында бір ғана абстракты run() әдісін анықтау қажет.
package by.bsu.threads;
public class WalkRunnable implements Runnable {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("Walking");
try {
Thread.sleep(7);
} catch (InterruptedException e) {
System.err.println(e);
}
}
}
}
package by.bsu.threads;
public class WalkTalk {
public static void main(String[ ] args) {
TalkThread talk = new TalkThread();
Thread walk = new Thread(new WalkRunnable());
talk.start();
walk.start();
}
}
TalkThread класының ағыны тікелей орындауға жіберіледі. Ал WalkRunnable класының ағыны Thread экземплярын инициализациялау арқылы жүктеледі. Бұл екі ағынның жұмыс істеу нәтижесінде консольға Talking Walking жолдары шығарылады. Программаның әрбір жүктелу барысында бұл жолдардың жазылу реттері әртүрлі.
Runnable интерфейісінің start() әдісі жоқ, тек жалғыз ғана run() әдісі бар. Сондықтан мұндай WalkRunnable ағынын орындау үшін Thread класының экземплярын құрып, оның конструторына WalkRunnable экземплярын параметр ретінде беру керек. Бірақ run() әдісін шақыру барысында ағын құрылмайды, тек әдістің денесі ғана орындалады.
Әдебиеттер
Васильев А.Н. Java. Объектно-ориентированное программирование: Учеб. пособ. – СПб.: Питер, 2011. – 400 с. [В]
Казарин С.А., Клишин А.П. Среда разработки Java-приложений Eclipse: (ПО для объектно-ориентирован-ного программирования и разработки приложений на языке Java): Учеб. пособ., Москва, 2008. – 77 с. [К]
Монахов В.В. Язык программирования Java и среда NetBeans. – 3-е изд., перераб. и доп. – СПб.: БХВ-Петербург, 2011. – 704 с.
12 дәріс. Енгізу-шығару жүйесі
Дәріс мақсаты: Байттық және символдық ағымдар, System.in объектісін қолданып консольдық енгізу, Scanner классының көмегімен консольдық енгізу.
Scanner класы арқылы консолді енгізу. JDK 5 версиясынан бастап Java Scanner класы арқылы консолды енгізу-шығару мүмкіндігі жүзеге асырылды. Бұл класпен жұмыс істеу үшін программа файлының тақырыбына import java.util.* инструкциясын қосу керек, яғни java.util пакетін (импортттау) қосу керек.
System.in стандартты ағын негізінде енгізуде Scanner класс объектісі консолді енгізу орындалады. Scanner класс әдісі мыналарды іске асырады:
nextLine() — тексттік жолды оқу;
next() — бір сөзді оқу;
nextInt() — бүтін санды оқу;
nextDouble() — нақты санды оқу.
Әдебиеттер
Васильев А.Н. Java. Объектно-ориентированное программирование: Учеб. пособ. – СПб.: Питер, 2011. – 400 с. [В]
Казарин С.А., Клишин А.П. Среда разработки Java-приложений Eclipse: (ПО для объектно-ориентирован-ного программирования и разработки приложений на языке Java): Учеб. пособ., Москва, 2008. – 77 с. [К]
Монахов В.В. Язык программирования Java и среда NetBeans. – 3-е изд., перераб. и доп. – СПб.: БХВ-Петербург, 2011. – 704 с
13 дәріс. Енгізу-шығару жүйесі
Дәріс мақсаты: диалогтық терезесін қолдану, файлмен жұмыс, программа мысалдарын түсіну.
Диалогтық терезесін қолдану. Берілгендерді программа орындалғанда консоль арқылы емес, Swing графиктік библиотека компоненті- арнайы диалогты терезе арқылы енгізуге болады. Бұл библиотеканы қосу үшін программа файлының тақырыбына import javax.swing.* инструкциясын қосылу қажет. Диалогты терезе JOptionPane түріндегі командамен шақырылады. Диалогты терезенің енгізілу өрісі үстінде бейнеленген showInputDialog(аргумент), мұндағы JOptionPane класының showInputDialog() статикалық әдісінің аргументіне текст көрсетіледі. Нәтиже ретінде қолданушының диалогты терезедегі өріске енгізілген текст showInputDialog() әдісімен қайтарылады.
Диалогты терезені шақыруда жаңа ағын құрылады да терезені жабуда автоматты түрде аяқталмайды. Программаны барлық ағындарымен аяқтауда System.exit(0) инструкциясын қолдану қажет.
showInputDialog() әдісін шақыру нәтижесі-текст, ол бастапқы берілгендер форматына сәйкес келмейді. Мысалы сан енгізілген болса, онда форматты түрлендіру әдісі қолданылады. Текст түрінде берілген санды сандық форматқа түрлендіру үшін Integer класса-оболочканың parseInt() статикалық әдісі және метод и статический метод Double класса-оболочканың parseDouble() статикалық әдісі шақырылады. Әдістер аргументтері текст түріндегі санды көрсетеді. parseInt() әдісі бүтін сан үшін, ал parseDouble() — нақты сан үшін арналған әдістер.
Для того чтобы можно было воспользоваться и и, import javax.swing.* командасының Swing библиотекасының утилиттерін қолдану үшін программа файлының тақырыбында сәйкес пакетті импорттауды орындау керек.
Файлмен жұмыс. Файлға берілгендерді енгізу және файлдан берілгендерді шығару есебі маңызды есептердің бірі. Ол үшін сәйкес файлға қосылатын енгізу немесе шығару ағындары құрылады. Оған қоса файлдық ағындар кластары FileInputStream (енгізу файлдық ағыны) және FileOutputStream (шығару файлдық ағыны) қолданылады. FileInputStream және FileOutputStream кластарының конструкторлары FileNotFoundException (файл не найден) исключениесін береді. Енгізу немесе шығару ағынымен байланысқан файлдың толық аты конструктор аргументімен тексттік жол түрінде беріледі.
Файлмен жұмыс аяқталған соң ағынды жабу үшін close() әдісі қолданылады.
Программаның орындалуы: 1) енгізу-шығару системасын жүзеге асыруда (соның ішінде файлдар) кластарды қолдану үшін, java.io пакетін import java.io.* командасы арқылы қосамыз.
Программаның басты әдісінде файлдағы әр символды оқу үшін бүтін санды өріс а сипатталады. Ол үшін символды оқып және оның сандық кодын қайтаратын read() әдісі қолданылады. Шығару файлдық ағыны fout командасымен құрылады.
FileOutputStream fout=new FileOutputStream("F:/Java_2/Files/mydata.txt")
Файлдық ағын fout —FileOutputStream класының объектісі. Ағын mydata.txt файлына қосылады, FileOutputStream класының конструктор аргументіне файлдың толық атымен тексттік жол көрсетіледі. Ары қарай fout ағыны mydata.txt файлына берілгендерді шығару үшін қолданылады.
fin файлдық енгізу ағыны мына коандамен құрылады
FileInputStream fin=new FileInputStream("F:/Java_2/Files/base.txt")
fin файлдық ағыны — FileInputStream класының объектісі. Ағын base.txt файлына қосылады (подключается). FileInputStream класының конструктор аргументіне файлдың толық атымен тексттік жол көрсетіледі. fin ағынының көмегімен base.txt файлынан программаға информация енгізіледі.
a=fin.read() командасы арқылы base. txt файлынан символ оқылады. fin файлдық ағыны объектісінен (base.txt файлымен байланысты), файлдан оқылған символ кодын қайтаратын read() әдісі шақырылады. Бұл код a өрісіне жаөзылады.
import java.io.* және import javax.swing.* инструкцияларымен java.io (енгізу-шығару системасы кластарын қолдану үшін) және javax.swing пакеттері (для использования Swing утилит библиотекасын қолдану үшін, соның ішінде өріс бар енгізу диалогты терезесі үшін) қосылады.
Әдебиеттер
Васильев А.Н. Java. Объектно-ориентированное программирование: Учеб. пособ. – СПб.: Питер, 2011. – 400 с. [В]
Казарин С.А., Клишин А.П. Среда разработки Java-приложений Eclipse: (ПО для объектно-ориентирован-ного программирования и разработки приложений на языке Java): Учеб. пособ., Москва, 2008. – 77 с. [К]
Монахов В.В. Язык программирования Java и среда NetBeans. – 3-е изд., перераб. и доп. – СПб.: БХВ-Петербург, 2011. – 704 с.
