JavaRush /Java blogi /Random-UZ /Ko'paytirish va kamaytirish nima
L2CCCP
Daraja

Ko'paytirish va kamaytirish nima

Guruhda nashr etilgan
Ko'pgina yangi boshlanuvchilar o'sish va kamaytirish nima ekanligini bilishmaydi, lekin biz hamma " i++, ++i, i--yoki --i" dan foydalanishni tsiklda ko'rganiga aminmiz for. Shunday qilib, bir oz tushuntirish. O'sish va kamaytirish nima - 1

O'sish nima?

O'sish - bu ko'plab dasturlash tillarida o'zgaruvchini oshiradigan operatsiya. Ko'pincha, o'sish o'zgaruvchining 1 birlikka ko'payishini anglatadi. Teskari operatsiya dekrement deb ataladi. Dekrement - o'zgaruvchining kamayishi. Ko'pincha bittadan. Java-da oshirish va kamaytirish birinchi navbatda har qanday raqamli o'zgaruvchiga qo'llaniladigan unar operatorlardir. O'sish: ikkita ortiqcha belgisi bilan ko'rsatiladi " ++" va o'zgaruvchining qiymatini 1 ga oshiradi. Kamaytirish: ikkita minus " " belgisi bilan ko'rsatiladi --va o'zgaruvchining qiymatini 1 ga kamaytiradi. Misol:
int x = 10, z = 10;
x++;
z--;

System.out.println("x: " + x + ", z: " + z);
Natijada x, u ko'payadi va z- kamayadi. Va konsolda biz ko'ramiz: x: 11, z: 9 Aslida siz shunday yozishingiz mumkin:
int x = 10, z = 10;
x = x + 1;
z = z - 1;

System.out.println("x: " + x + ", z: " + z);
Ammo o'zgaruvchini faqat 1 ga oshirish yoki kamaytirish kerak bo'lsa, nima uchun keraksiz narsalarni yozish kerak? O'sish va kamaytirish nima ekanligini aniqlaganimiz yaxshi, lekin bu hammasi emas. O'sish va kamaytirish ikkita shaklga ega - prefiks va postfiks . Xudoyim, bu nima, deb o'yladingizmi?) Xavotir olmang: bu erda ham hamma narsa oson. Prefiks++x yoki Prefiks shakli " yoki " o'zgaruvchidan oldin e'lon qilinadi --x, dastlab o'zgaruvchini oshiradi yoki kamaytiradi. Postfixx++ yoki Postfix shakli " yoki " o'zgaruvchidan keyin e'lon qilinadi x--, baholashdan keyin o'zgaruvchini oshiradi yoki kamaytiradi. Agar siz hisoblash so'ziga e'tibor bergan bo'lsangiz, buni yaxshi sababga ko'ra qildingiz, chunki hisob-kitoblarda ishlatilmasa, ikkala shakl ham bir xil ishlaydi. Mana hisob-kitoblarsiz misol:
int x = 10, z = 10;
x++;
++z;

System.out.println("x: " + x + ", z: " + z);
Natijada, ikkala o'zgaruvchi ham 11 ga teng bo'ladi. Va bu erda hisoblash bilan bir misol:
int x = 10, c = 10;
final int y = 13 - x++;
final int z = 13 - ++c;

System.out.println("y: " + y + ", z: " + z);
Ko'rib turganingizdek, " xva c" o'zgaruvchilari teng va tenglamalar o'xshash, LEKIN o'sish operatorini yozishning turli shakllari qo'llaniladi. Hisob-kitoblar natijasida y o'zgaruvchisi 3 bo'ladi, lekin zu 2 bo'ladi. Nima uchun yuqorida yozilganlarga asoslanib, ehtimol siz allaqachon taxmin qilgandirsiz. Agar yo'q bo'lsa, keling, hamma narsani birgalikda "chaynaymiz". Postfiks shakli hisob-kitoblardan keyin ishlaydi, ya'ni tenglama quyidagicha ishlaydi:
x = 10;

// Начало уравнения.
y = 13 - x; // С начала производим вычисление (x все еще 10)
x += 1; // Производим увеличение на 1
// Конец уравнения.
Prefiks quyidagicha ishlaydi:
c = 10;

// Начало уравнения.
c += 1; // Производим увеличение на 1
z = 13 - c; // Производим вычисление (c уже 11)
// Конец уравнения.
Xo'sh, bu butun hikoya :) Umid qilamizki, bu siz uchun foydali va ma'lumotli bo'ldi. Java tilini o'zlashtirishda omad tilaymiz;) Java Multithreading kvestida Javarush kursida Java tilida oshirish, kamaytirish va boshqa operatorlardan foydalanishni o'rganishingiz va mashq qilishingiz mumkin:
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION