План
уроку
1.Синтаксис арифметичних операцій з присвоєнням (class Increment_1).
2.Синтаксис арифметичних операцій інкремента, декремента
в префіксній та постфіксній формах. Різниця між префіксною та постфіксною
формами (class Increment _2).
3.Особливості арифметичних операцій з присвоєнням, а
також операцій інкремента та декремента (class
Increment _3).
4.Особливості операції
х = х++; (class Increment _4).
Програми:
public class Increment_1{
public static void main(String args[]) {
// операції з присвоєнням
int x = 17, y = 17;
x = x + 4;y += 4;
System.out.println(x); // виведення результату 21
System.out.println(y); // виведення аналогічного результату
}
}
Операції інкремент і декремент означають збільшення або зменшення значення змінної на одиницю і застосовуються тільки для змінних, а не для констант чи виразів, не можна написати 5++ або (а + b)++.
Цікаво, що ці операції можна записати і перед змінною: ++i, --j. При першій формі запису (постфіксній) у виразі приймає участь старе значення змінної і лише потім відбувається збільшення чи зменшення її значення. При другій формі запису (префіксній) спочатку зміниться змінна і її нове значення буде приймати участь у виразі.
Наприклад, після приведених вище описань, (k++) + 5 дасть в результаті 10004, а змінна k прийме значення 10000. Але в тій же ситуації (++k) + 5 дасть 10005, а змінна k стане рівною 10000.
public class Increment_2{
public static void main(String args[]) {
// операції інкремента та декремента
int x = 17, y = 37, z = 45;
int a = x++;
int b = ++y;
int c = --z;
System.out.println(x); // виведення результату 18
System.out.println(y); // виведення результату 38
System.out.println(z); // виведення результату 44
System.out.println(a); // виведення результату 17
System.out.println(b); // виведення результату 38
System.out.println(c); // виведення результату 44
}
}
public class Increment_3{
public static void main(String args[]) {
// особливості операцій з присвоєнням, операцій інкремента та декремента
byte x = 10;
// x = x+2; // не компілюється, результат має тип int
x += 2; // компілюється, тип змінної не змінився
System.out.println(x); // виведення результату 12
short y = 20;
// y = y +1; // не компілюється, результат має тип int
y++; // компілюється, тип змінної не змінився
System.out.println(y); // виведення результату 21
}
}
public class Increment_4{
public static void main(String args[]) {
// особливості операції
x = x++;
int x = 10, y = 20, z = 30, a = 40, b = 50;
x = x+1;y++;++z;
a = ++a;
b = b++; // значення b не зміниться!
System.out.println(x); // виведення результату 11
System.out.println(y); // виведення результату 21
System.out.println(z); // виведення результату 31
System.out.println(a); // виведення результату 41
System.out.println(b); // виведення результату 50
}
}
Література
для класної
роботи:
[Sangera]: p.37,
Тести
для класної
роботи:
Література
для домашньої роботи:
[Шилдт]: с.103,
105…107,
[Вязовик], лек.3: ст.18,
лек.4: ст.10,
Тестові завдання для домашньої роботи:
[Heller], сh.2:
1,12,
ch.4:
4,
[Sangera],ch.2: 8,9,11,
ch.5: 5,
[Raposa], сh.1: 20,
[Green]: 48,
[Jaworsky], р.55: 3,
[Вязовик], лек.3: 3-9,3-10.