ตัวดำเนินการยูนารี
ตัวดำเนินการยูนารีคือตัวดำเนินการเหล่านั้นใน Java ที่ต้องการเพียงตัวถูกดำเนินการ ตัวเดียว เพื่อทำหน้าที่ใดๆ พวกเขาทำงานบนหลักการเดียวกันกับการดำเนินการเอกภาพในวิชาคณิตศาสตร์ ตัวอย่างเช่น คุณสามารถใช้ตัวดำเนินการเอกฐานเพื่อแสดงค่าบวก ค่าลบ เพิ่มค่าทีละ 1 ลดค่าทีละ 1 หรือลบล้างค่า- +x (ค่าบวก)
- -x (ค่าลบ)
- ++x (การดำเนินการที่เพิ่มขึ้น)
- --x (การดำเนินการลดลง)
- !x (นิเสธ)
ประเภทของตัวดำเนินการอูนารี
ตัวดำเนินการอูนารีมี 5 ประเภท1. ยูนารี พลัส
มันแทนค่าบวก เช่น +x = x หรือ +5 = 52. ยูนารีลบ
มันแทนค่าลบเช่น -x = -x หรือ -5 = -53. เพิ่มตัวดำเนินการ Unary
มันเพิ่มค่าทีละ 1 โดยที่ ++x = x+14. ตัวดำเนินการ Unary ที่ลดลง
มันลดค่าลง 1 โดยที่ --x = x-15. ส่วนเสริมเชิงตรรกะ
มันกลับค่าของบูลีนอย่างมีเหตุผล เช่น ถ้า x = จริง ดังนั้น !x จะเป็นเท็จตัวดำเนินการที่เพิ่มขึ้น (++)
ตัวดำเนินการส่วนเพิ่ม (++) (หรือที่เรียกว่าตัวดำเนินการส่วนเพิ่มแบบยูนารี) ใน Java ใช้เพื่อเพิ่มค่าของตัวแปรทีละ 1 เนื่องจากเป็นประเภทหนึ่งของตัวดำเนินการยูนารี จึงใช้กับตัวถูกดำเนินการตัวเดียวได้ไวยากรณ์
ไวยากรณ์สำหรับตัวดำเนินการที่เพิ่มขึ้นเป็นคู่ของเครื่องหมายบวก เช่น;
++x; x++;
สามารถใช้ตัวดำเนินการก่อนหรือหลังตัวแปรก็ได้ ทั้งสองจะมีค่าเพิ่มขึ้นทีละ 1 เท่ากัน อย่างไรก็ตาม ทั้งคู่มีการใช้งานที่แยกจากกันและสามารถแบ่งออกเป็นประเภทต่างๆ ได้ดังต่อไปนี้
- ตัวดำเนินการเพิ่มล่วงหน้า
- ตัวดำเนินการหลังการเพิ่ม
ตัวอย่าง
public class IncrementOperator {
public static void main(String[] args) {
int variable = 15;
System.out.println("Original value of the variable = " + variable);
// after using increment operator
variable++; // increments 1, variable = 16
System.out.println("variable++ = " + variable);
++variable; // increments 1, variable = 17
System.out.println("++variable = " + variable);
}
}
เอาต์พุต
ค่าดั้งเดิมของตัวแปร = 15 ตัวแปร++ = 16 ++ตัวแปร = 17
ตัวดำเนินการเพิ่มล่วงหน้า (++x;)
หากระบุตัวดำเนินการเพิ่ม (++) ก่อนตัวแปร เช่น คำนำหน้า (++x) จะเรียกว่าตัวดำเนินการเพิ่มล่วงหน้า ในกรณีนี้ ค่าของตัวแปรจะเพิ่มขึ้นทีละ 1 ก่อน แล้วจึงทำการคำนวณเพิ่มเติมตัวอย่าง
public class PreIncrementOperator {
public static void main(String[] args) {
int variable = 5;
System.out.println("Original value of the variable = " + variable);
// using pre-increment operator
int preIncrement = ++variable;
System.out.println("variable = " + variable);
System.out.println("preIncrement = " + preIncrement);
System.out.println("++preIncrement = " + ++preIncrement);
}
}
เอาต์พุต
ค่าดั้งเดิมของตัวแปร = 5 ตัวแปร = 6 ค่าเพิ่มล่วงหน้า = 6 ++ค่าเพิ่มล่วงหน้า = 7
ตัวดำเนินการหลังเพิ่ม (x++;)
หากระบุตัวดำเนินการเพิ่ม (++) หลังตัวแปร เช่น postfix (x++) จะเรียกว่าตัวดำเนินการเพิ่มภายหลัง ในกรณีนี้ ค่าดั้งเดิมของตัวแปร (โดยไม่เพิ่มขึ้น) จะถูกใช้สำหรับการคำนวณ และจากนั้นค่านั้นจะเพิ่มขึ้นทีละ 1ตัวอย่าง
public class PostIncrementOperator {
public static void main(String[] args) {
int variable = 100;
System.out.println("Original value of the variable = " + variable);
// using post-increment operator
int postIncrement = variable++; // postIncrement = 100, variable = 101
System.out.println("postIncrement = " + postIncrement);
System.out.println("variable = " + variable + "\n");
// postIncrement = 101
System.out.println("postIncrement++ = " + postIncrement++);
// postIncrement = 102
System.out.println("postIncrement++ = " + postIncrement++);
// postIncrement = 103
System.out.println("postIncrement++ = " + postIncrement++);
System.out.println("\npostIncrement = " + postIncrement);
}
}
เอาต์พุต
ตัวแปรเดิม = 100 postIncrement = 100 ตัวแปร = 101 postIncrement++ = 100 postIncrement++ = 101 postIncrement++ = 102 postIncrement = 103
ตัวดำเนินการลดลง (--)
การลดลงตามชื่อหมายถึงใช้เพื่อลดค่าของตัวแปรลง 1 นอกจากนี้ยังเป็นหนึ่งในประเภทตัวดำเนินการยูนารี ดังนั้นจึงสามารถใช้กับตัวถูกดำเนินการตัวเดียวได้ไวยากรณ์
ไวยากรณ์สำหรับตัวดำเนินการการลดลงเป็นคู่ของสัญญาณเชิงลบ เช่น;
--x; x--;
เช่นเดียวกับตัวดำเนินการเพิ่ม ตัวดำเนินการลด (--) สามารถใช้ก่อนและหลังตัวแปรได้เช่นกัน ทั้งคู่จะส่งผลให้มีค่าลดลงเท่ากับ 1 ทั้งคู่มีการใช้งานที่แตกต่างกันและสามารถแยกประเภทออกไปได้
- ตัวดำเนินการก่อนการลดลง
- ตัวดำเนินการหลังการลดลง
ตัวดำเนินการก่อนการลดลง (--x;)
หากกล่าวถึงตัวดำเนินการลด (--) ก่อนตัวแปร เช่น คำนำหน้า (--x) ก็จะเรียกว่าตัวดำเนินการลดก่อน สำหรับกรณีนี้ ค่าของตัวแปรจะลดลง 1 ก่อน แล้วจึงทำการคำนวณอื่นๆตัวอย่าง
public class PreDecrementOperator {
public static void main(String[] args) {
int variable = 11;
System.out.println("Original value of the variable = " + variable);
// using preDecrement operator
int preDecrement = --variable;
// variable = 10
System.out.println("variable = " + variable);
// preDecrement = 10
System.out.println("preDecrement = " + preDecrement);
// preDecrement = 9
System.out.println("--preDecrement = " + --preDecrement); }
}
เอาต์พุต
ค่าเดิมของตัวแปร = 11 ตัวแปร = 10 preDecrement = 10 --preDecrement = 9
ตัวดำเนินการหลังการลดลง (x--;)
หากกล่าวถึงตัวดำเนินการลด (--) ตามหลังตัวแปร เช่น postfix (x--) ก็จะเรียกว่าตัวดำเนินการหลังการลด สำหรับกรณีนี้ ค่าดั้งเดิมของตัวแปร (โดยไม่มีการลดลง) จะถูกใช้สำหรับการคำนวณ จากนั้นค่านั้นจะลดลง 1ตัวอย่าง
public class PostDecrementOperator {
public static void main(String[] args) {
int variable = 75;
System.out.println("Original value of the variable = " + variable);
// using postDecrement operator
// postDecrement = 75, variable = 74
int postDecrement = variable--;
System.out.println("postDecrement = " + postDecrement);
System.out.println("variable = " + variable + "\n");
// postDecrement = 74
System.out.println("postDecrement-- = " + postDecrement--);
// postDecrement = 73
System.out.println("postDecrement-- = " + postDecrement--);
// postDecrement = 72
System.out.println("postDecrement-- = " + postDecrement--);
System.out.println("\npostDecrement = " + postDecrement);
}
}
ค่าดั้งเดิมของตัวแปร = 75 postDecrement = 75 ตัวแปร = 74 postDecrement-- = 75 postDecrement-- = 74 postDecrement-- = 73 postDecrement = 72
GO TO FULL VERSION