Operator Penambahan/Penurunan Awalan dan Pascafiks dalam Java
Memahami perbezaan antara pengendali kenaikan/penurunan awalan dan pascafix adalah penting dalam pengaturcaraan Java. Artikel ini meneroka kesan pengendali ini dalam contoh praktikal.
Soalan:
Pertimbangkan coretan kod berikut:
int i = 3; i++; // Postfix increment System.out.println(i); // Prints "4" ++i; // Prefix increment System.out.println(i); // Prints "5" System.out.println(++i); // Prints "6" System.out.println(i++); // Prints "6" System.out.println(i); // Prints "7"
Mengapa panggilan terakhir ke System.out.println(i) mencetak nilai 7?
Jawapan:
Kelakuan kod ini dikawal oleh semantik pengendali kenaikan awalan dan pascafiks:
Tambahan Awalan:
int i = 6; System.out.println(++i); // Prints "6"
i menilai kepada 7, kerana ia menambah i sebelum menggunakan nilainya dalam ungkapan. Jadi ia mencetak "6" dan menambah i kepada 7.
Penambahan Postfix:
int i = 6; System.out.println(i++); // Prints "6" (i = 7, prints 6)
i menilai kepada 6, kerana ia menyimpan salinan i, menambah 1 kepada i, dan mengembalikan nilai asal. Ungkapan mencetak "6", tetapi i kini 7.
Dalam panggilan terakhir, System.out.println(i) mencetak nilai semasa i, iaitu 7. Ini kerana pengendali kenaikan postfix sebelum ini telah mengemas kini kepada 7.
Atas ialah kandungan terperinci Java Prefix vs. Postfix Increment/Decrement: Mengapa `i ` Menghasilkan 7 dalam Contoh Ini?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!