Слайд 2
Жақша ішіндегі (бүтінӨрнек) byte, short, int, char түрлерінің
біреуінде болады тек long түрінде емес.
Таңдау операторында барлық
тұрақты өрнектер алдын ала есептелінеді. Сосын сол тұрақтыға сәйкес келетін өрнек есептелінеді.
Егер бір операторды әртүрлі бұтақта орындағымыз келсе case операторынан бірнеше метканы қолдану керек. Қарапайым мысал.
Слайд 3
switch(dayOfWeek){
case 1: case 2: case 3: case
4:case 5:
System.out.println("Week-day");, break;
case 6: case 7:
System.out.println("Week-end");
break;
default:
System.out.printlnt"Unknown day");
}
Слайд 4
Қайталану операторлары
Негізгі цикл операторы while — былай
жазылады:
while (логӨрнек) оператор
Бірінші логикалық өрнек орындалады. Егер
нәтиже true болса, онда оператор орындалады. Содан кейін тағы да логӨрнек тексеріліп оператор орындалады, бұл қашан false мәні шыққанша жалғаса береді. Егер логӨрнек басында false мәніне тең болса, онда оператор бірде бір рет орындалмайды.
Слайд 5
Цикл операторы бос болуы да мүмкін, мысалы, код
фрагменті:
int i = 0;
double s = 0.0;
while ((s += 1.0 / ++i) < 10);
мұнда, қашан s қосындысы 10 тең болғанша i рет қосу орындалады.
Слайд 6
Ақырсыз цикл құруға да болады:
while (true) оператор
Бірақ бұндай циклден шығу жолын қарастыру керек, мысалы, break
операторын қолдануға болады. Басқа жағдайда программа орындала береді және оны тоқтату үшін MS Windows 95/98/ME пернелер "комбинациясы"
++, UNIX пернелер +, Windows NT/2000 команда Task Manager орындау керек. Егер циклге бірнеше операторларды енгізу керек болса, онда оларды {} блогына алып жазу керек.
Слайд 7
Екінші цикл операторы do-while — былай жазылады:
do оператор
while (логӨрнек)
Бұнда бірінші оператор орындалады содан кейін логикалық
өрнек тексеріледі. Цикл қашан логӨрнек true тең болмағанша орындала береді.
do-while оператор кем дегенде бір рет орындалады.
Слайд 8
Листинг 1.5. Бисекция әдісі бойынша сызықтық емес теңдеудің
түбірін табу.
class Bisection{
static double f(double x){
return
x*x*x — 3*x*x +3; // Немесе басқа өрнек
}
public static void main(String!] args){
double a = 0.0, b = 1,5, с, y, eps = le-8;
Слайд 9
do{
с = 0.5 *(a + b); у
= f(с);
if (Math.abs(y) < eps) break;
// Түбір
табылды. Циклден шығамыз.
// Егер [а; с] кесінді соңында
// функция әртүрлі таңбаны қабылдаса:
if (f (а) * у < 0.0) b = с;
// Онда түбір осы жерде. b нүктесін с нүктесіне ауыстырамыз
Слайд 10
//Басқа жағдайда:
else а * с;
// а
нүктесін с нүктесіне ауыстырамыз
// Қашан [а; Ь] кесіндісі
кішірейгенше жалғастыра береміз
} while (Math, abs (b-a) >= eps);
System.out.println("x = " +c+ ", f(" +c+ ") = " +y) ;
}
}
Слайд 11
Bisection класы қиын болады, себебі онда main ()
әдісінен басқа f(x) функциясын есептеу әдісі де бар. Бұл
әдіс көпмүше мәнін есептеп функция мәні ретінде қайтарады және бұл бір оператор арқылы орындалады:
return өрнек
main о әдісіндегі жаңа оператор break циклдің орындалуын қажет болса тоқтатады.
Слайд 12
Циклдің үшінші операторы — оператор for — былай
жазылады:
for ( Өрнектер тізім 1і; логӨрнек; Өрнектер тізімі
2) оператор
Цикл орындалмас өрнектер тізімі 1 орындалады. Олар солдан оңға қарай орындалады.
Сосын логикалық өрнек тексеріледі. Егер ол ақиқат, true, болса оператор орындалады, сосын Өрнектер тізімі 2. Тағы логикалық өрнек тексеріледі. Егер ол ақиқат, true, болса оператор орындалады, сосын Өрнектер тізімі 2 осылай жалғаса береді. Логикалық өрнек жалған, яғни false болса циклдің орындалуы аяқталады.
Слайд 13
Тізім өрнек1; while (логӨрнек){
оператор
тізім Өрнек 2;
}
for операторының кез келген бөлігі болмауы мүмкін: цикл
бос болады, бірақ нүктелі үтір сақталады. Ақырсыз циклді беруге болады:
for (;;) оператор
Бұл жағдайда цикл денесінен шығу жолын қарастыру керек.
Слайд 14
Мысал, бағдарлама бөлігі
int s=0;
for (int k
= 1; k
* k;
// k айнымалысы белгісіз
Бірінші N натурал санның квадратының қосындысын есептейді.
Слайд 15
continue операторы және белгілер (меткалар)
continue операторы тек
цикл операторларында ғана қолданылады. Ол екі түрлі тұлғасы (формасы)
бар. Бірінші тек continue сөзінен тұрады және циклдің келесі итерациясына өткізеді. Мына жағдайда continue операторы нөлге бөлуден өткізіп жібереді:
for (int i = 0; i < N; i++){
if (i== j) continue;
s += 1.0 / (i - j);
}
Слайд 16
Екінші тұлғасы белгіден тұрады:
continue таңба
таңба басқа
идентификаторлар сияқты жазылады. Таңба оператор алдына қойылады немесе ашылған
фигуралық жақшамен қос нүкте арқылы бөлінеді.