ຂໍ້ມູນຈຳນວນຕົວເລກທົດສະນິຍົມຄືເລກຈຳນວນຈິງ
(real number) ເຊິ່ງໃນລະບົບ
ຄອມພິວເຕີຈະເກັບຂໍ້ມູນປະເພດນີ້
ໂດຍແບ່ງຈຳນວນບິດທີ່ເກັບຂໍ້ມູນເປັນສອງສ່ວນຄືສ່ວນທີ່ເປັນຄວາມລະອຽດຂອງຕົວເລກ
(mantissa) ແລະ ສ່ວນທີ່ເປັນຈຳນວນເລກຍົກກຳລັງ (exponent)
ໂດຍສ່ວນທີ່ເປັນຄວາມລະອຽດຂອງຕົວເລກຈະເກັບຄ່າໃນຊ່ວງຕັ້ງແຕ່ -1.0ເຖິງ1.0
ແລະສ່ວນທີ່ເປັນເລກຍົກກຳລັງຈະເກັບຄ່າທີ່ເປັນເລກຍົກກຳລັງສອງ
ພາສາຈາວາ ເກັບເລກຈຳນວນຈິງຕາມມາດຕະຖານ IEEE 754
ເຊິ່ງຈະແບ່ງເລກຈຳນວນຈິງອອກເປັນ single precision ແລະ double precision
ໂດຍທີ່ຕົວແປແບບ single precision ຈະໃຊ້ເນື້ອທີ່ໜ່ວຍຄວາມຈຳຈຳນວນ 32
ບິດ ແບ່ງເປັນສ່ວນທີ່ເປັນຄວາມລະອຽດຂອງຕົວເລກຈຳນວນ 24 ບິດ
ແລະສ່ວນທີ່ເປັນຈຳນວນເລກຍົກກຳລັງຈຳນວນ 8 ບິດ ດັ່ງສະແດງໃນຮູບທີ2.2
ສ່ວນຕົວເລກແບບ double precision ຈະໃຊ້ເນື້ອທີ່ໜ່ວຍຄວາມຈຳຈຳນວນ 64 ບິດ
ແບ່ງເປັນສ່ວນທີ່ເປັນຄວາມລະອຽດຂອງຕົວເລກຈຳນວນ 53 ບິດ
ແລະສ່ວນທີ່ເປັນຈຳນວນເລກຍົກກຳລັງຈຳນວນ 11 ບິດ
ຮູບທີ2.2 ຈຳນວນບິດ mantissa
ແລະ exponent ສຳຫລັບຕົວແປແບບ single precision
ພາສາຈາວາກຳນົດຊະນິດຂໍ້ມູນຕົວເລກຈຳນວນທົດສະນິຍົມໄວ້ສອງຊະນິດ
float ແລະ double
ໂດຍທີ່ຊະນິດ
float ຈະເກັບຂໍ້ມູນຈຳນວນ 32 ບິດຕາມມາດຕະຖານແບບ single precision
ສ່ວນຂໍ້ມູນຊະນິດ
double ຈະເກັບຂໍ້ມູນຈຳນວນ 64 ບິດຕາມມາດຕະຖານແບບ double precision ພາສາຈາວາກຳນົດຂໍ້ມູນຕົວເລກທົດສະນິຍົມໃຫ້ເປັນເລກທີ່ມີເຄື່ອງໝາຍຈຸດທົດສະນິຍົມເຊັ່ນ:
3.14 ຫລື 3.0 ນອກຈາກນີ້ຍັງສາມາດຂຽນຢູ່ໃນຮູບແບບຂອງຕົວເລກຍົກກຳລັງສິບ (exponential
form) ໄດ້ໂດຍໃຊ້ຕົວອັກສອນ E ຫລື e ລະບຸຈຳນວນທີ່ເປັນເລກຍົກກຳລັງສິບ 6.02E23 ຫລື 2e-7
ຂໍ້ມູນຄ່າຄົງທີ່ຊະນິດຕົວເລກທົດສະນິຍົມ
ໂດຍທົ່ວໄປຈະຖືກກຳນົດໃຫ້ມີຊະນິດຂໍ້ມູນເປັນ double
ແຕ່ພາສາຈາວາສາມາດກຳນົດຂໍ້ມູນຄ່າຄົງທີ່ໃຫ້ມີຊະນິດຂໍ້ມູນເປັນ float
ໄດ້ໂດຍໃສ່ຕົວອັກສອນ f ຫລື F ຕໍ່ທ້າຍເຊັ່ນ: 2.718F ຫລື 3.14f ເປັນຕົ້ນ
ນອກຈານີ້ພາສາຈາວາຈະກຳນົດຂໍ້ມູນຄ່າຄົງທີ່ຊະນິດຕົວເລກທົດສະນິຍົມທີ່ມີອັກສອນ
D ຫລື d ຕໍ່ທ້າຍວ່າເປັນຂໍ້ມູນຄ່າຄົງທີ່ທີ່ມີຊະນິດຂໍ້ມູນເປັນ double
ເຊັ່ນ: 3.14D ແຕ່ເນື່ອງຈາກໂດຍທົ່ວໄປຂໍ້ມູນຄ່າຄົງທີ່ຊະນິດຕົວເລກທົດສະນິຍົມຈະຖືກກຳນົດໃຫ້ເປັນຊະນິດ
double ຢູ່ແລ້ວ ຈຶ່ງບໍ່ມີຄວາມຈຳເປັນຕ້ອງໃສ່ອັກສອນ D ຫລື d ຕໍ່ທ້າຍ
ຕົວຢ່າງຂໍ້ມູນຄ່າຄົງທີ່ຂອງຕົວເລກທົດສະນິຍົມທີ່ຖືກຕ້ອງ
12.
12E2 12.0e2 12.0e2F -3.14F
ຕົວຢ່າງຂໍ້ມູນຄ່າຄົງທີ່ຂອງຕົວເລກທົດສະນິຍົມທີ່ບໍ່ຖືກຕ້ອງ
1,234.0
1.2E108F
2.4
ຕົວແປແລະຄ່າຄົງທີ່
ຂໍ້ມູນທີ່ເກັບຢູ່ໃນໂປຣແກຣມເຊັ່ນຂໍ້ມູນທີ່ເປັນລັກສະນະຂອງອອບເຈັກ
ຄຸນລັກສະນະຂອງຄາດ ແລະຂໍ້ມູນໃນເມທອດ ຈະແບ່ງເປັນສອງປະເພດຄືຕົວແປແລະຄ່າຄົງທີ່
ເຊິ່ງຕົວແປຄືຂໍ້ມູນທີ່ສາມາດປ່ຽນແປງຄ່າໄດ້ໃນໂປຣແກຣມ
ໂດຍໃຊ້ຄຳສັ່ງກຳນົດຄ່າສ່ວນຄ່າຄົງທີ່ຄືຂໍ້ມູນທີ່ກຳນົດຄ່າໄດ້ພຽງເທື່ອດຽວ
ແລະບໍ່ສາມາດປ່ຽນແປງຄ່າໄດ້ໃນໂປຣແກຣມທັງຕົວແປແລະຄ່າຄົງທີ່ທີ່ຈະຕ້ອງມີການປະກາດຊື່ແລະຊະນິດຂໍ້ມູນ
ເພື່ອທີ່ຈະກຽມເນື້ອທີ່ໃນໜ່ວຍຄວາມຈຳສຳຫລັບເກັບຂໍ້ມູນ
ຄຳສັ່ງໃນການປະກາດຕົວແປຂອງພາສາຈາວາມີຮູບແບບດັ່ງນີ້
|
[modifier] dataType
variableName[,variableName];
|
ໂດຍທີ່
- Modifier
ຄືຄີເວີດລະບຸຄຸນສົມບັດຕ່າງໆ ຂອງຕົວແປ access modifier
ສ່ວນກໍລະນີທີ່ບໍ່ລະບຸຖືວ່າເປັນ default
- dataType ຄືຊະນິດຂໍ້ມູນ
- variableName
ຄືຊື່ຂອງຕົວແປທີ່ເປັນໄປຕາມກົດການຕັ້ງຊື່
ຕົວຢ່າງເຊັ່ນ
ຄຳສັ່ງ
int amount;
ເປັນການປະກາດຕົວແປ
amount ໃຫ້ມີຊະນິດຂໍ້ມູນ int
double x;
ເປັນການປະກາດຕົວແປ
x ໃຫ້ມີຊະນິດຂໍ້ມູນ double
ນອກຈາກນີ້ຈາວາຍັງອະນຸຍາດ
ໃຫ້ສາມາດປະກາດຊື່ຕົວແປທີ່ເປັນຊະນິດຂໍ້ມູນດຽວກັນໄດ້ຫລາຍໆ
ຕົວແປພາຍໃນຄຳສັ່ງດຽວກັນ ຕົວຢ່າງ
float price, wholeSalePrice;
ເປັນຄຳສັ່ງປະກາດຕົວແປ
price ແລະ wholeSalePrice ໃຫ້ມີຊະນິດຂໍ້ມູນເປັນ float
2.4.1 ຄຳສັ່ງຄ່າກຳນົດຄ່າ
ຕົວແປທີ່ມີການປະກາດຊະນິດຂໍ້ມູນແລ້ວສາມາດທີ່ຈະກຳນົດຫລືປ່ຽນແປງຄ່າໄດ້ໂດຍໃຊ້ຄຳສັ່ງກຳນົດຄ່າ
(assignment statement) ເຊິ່ງມີຮູບແບບດັ່ງນີ້
|
ໂດຍທີ່
- variableName ຄືຊື່ຕົວແປ
- expression
ຄືນິພົດເຊິ່ງເປັນຜົນລັບທີ່ໄດ້ຈາກການຄຳນວນຂໍ້ຄວາມທີ່ອາດປະກອບໄປດ້ວຍຄ່າຄົງທີ່ຂໍ້ມູນຕົວແປ
ແລະຕົວດຳເນີນການ (operator) ຕ່າງໆ ເຊິ່ງນິພົດອາດເປັນນິພົດທີ່ໃຫ້ຜົນລັບເປັນຂໍ້ມູນຄ່າຄົງທີ່ຊະນິດຕົງເລກຈຳນວນເຕັມ
ຕັກກະ ຕົວເລກທົດສະນິຍົມ ອັກສອນ ຫລື ຂໍ້ຄວາມ
ທັງນີ້ຂຶ້ນຢູ່ກັບຊະນິດຂໍ້ມູນແລະຄຳສັ່ງທີ່ໃຊ້
ຕົວຢ່າງຕໍ່ໄປນີ້ສະແດງການໃຊ້ຄຳສັ່ງກຳນົດຄ່າສຳຫລັບຕົວແປ
ທີ່ໄດ້ທຳການປະກາດຊະນິດຂໍ້ມູນໄວ້ແລ້ວ
x = 1;
radius = 3.14;
c = ‘a’;
y = x+4*3;
ຄຳສັ່ງກຳນົດຄ່າຈະສັ່ງງານໃຫ້ເຄື່ອງຄອມພິວເຕີທຳງານສອງຂັ້ນຕອນຄື
ຄຳນວນຜົນລັບຂອງນິພົດ ແລ້ວເກັບຜົນລັບທີ່ໄດ້ໃນຕົວແປເຊັ່ນ:ຄຳສັ່ງ
amount
= 121+14;
ຈະມີຂັ້ນຕອນຄຳນວນຫາຜົນລັບເຊິ່ງຈະໄດ້ຄ່າເປັນ
135 ແລ້ວເກັບຜົນລັບທີ່ໄດ້ລົງໃນຕົວແປ amount
ຄຳສັ່ງກຳນົດຄ່າຈະຕ້ອງມີຊື່ຕົວແປຢູ່ທາງຊ້າຍມື
ການໃຊ້ຄຳສັ່ງເຊັ່ນ:
1 = x;
ເປັນການໃຊ້ຄຳສັ່ງທີ່ບໍ່ຖືກຕ້ອງ
ເພາະຄ່າຄົງທີ່ໃດໆ ບໍ່ສາມາທີ່ຈະເກັບຜົນລັບທີ່ໄດ້ຈາກນິພົດ
(ຄ່າຂອງx)
ໄດ້
ນອກຈາກນີ້ເຮົາສາມາດທີ່ຈະນຳຊື່ຕົວແປທີ່ຈະກຳນົດຄ່າມາປະກອບໃນນິພົດໄດ້
ເຊັ່ນ:
x = x+1;
ເປັນຄຳສັ່ງທີ່ໃຫ້ນິພົດເພີ່ມຄ່າຂອງຕົວແປ
x ທີ່ມີຢູ່ແລ້ວໄປອີກ 1 ແລ້ວນຳຜົນລັບທີ່ໄດ້ເກັບໄວ້ໃນຕົວແປ x
ຄືເກົ່າ ເຊັ່ນ: ຖ້າ x ມີຄ່າເປັນ 5 ຈະກາຍເປັນ 6
ເຮົາສາມາດທີ່ຈະປະກາດແລະກຳນົດຄ່າເລີ່ມຕົ້ນຂອງຕົວແປ
ພາຍໃນຄຳສັ່ງດຽວກັນໄດ້ ໂດຍມີ
ຮູບແບບຄຳສັ່ງດັ່ງນີ້
|
ເຊັ່ນ:
int amount = 123;
float price = 12.0f;
double x = 4.0, y = 2.5;
ໂປຣແກຣມທີ2.3
ເປັນຕົວຢ່າງທີ່ສະແດງການປະກາດຕົວແປແລະການໃຊ້ຄຳສັ່ງກຳນົດຂອງຕົວແປທີ່ມີຊະນິດຂໍ້ມູນຕ່າງໆ
ເຊິ່ງໂປຣແກຣມນີ້ຈະໃຫ້ຜົນລັບດັ່ງສະແດງໃນຮູບທີ2.3
ໂປຣມແກຣມທີ2.3
ຕົວຢ່າງການໃຊ້ຄຳສັ່ງກຳນົດຄ່າ
ຮູບທີ2.3
ຜົນລັບທີ່ໄດ້ຈາກການລັນໂປຣແກຣມທີ2.3
2.4.2
ຄ່າຄົງທີ່
ການປະກາດຄ່າຄົງທີ່ໃນພາສາຈາວາທຳໄດ້ໂດຍການໃສ່ຄີເວີດ final ໜ້າຄຳສັ່ງປະກາດຊື່ໂດຍມີຮູບແບບດັ່ງນີ້
|
ໂດຍທີ່
- modifier
ຄືເວີດລະບຸຄຸນສົມບັດຕ່າງໆ ຂອງຄ່າຄົງທີ່ເຊັ່ນ access modifier
- dataType
ຄືຊະນິດຂໍ້ມູນຂອງຄ່າຄົງທີ່
- CONSTANT_NAME
ຄືຊື່ຂອງຄ່ຄົງທີ່ເຊິ່ງໂດຍທົ່ວໄປນິຍາມໃຊ້ຕົວອັກສອນພິມໃຫຍ່ແລະແຍກຄຳດ້ວຍເຄື່ອງໝາຍ
_
- Expression
ຄືນິພົດທີ່ໃຫ້ຜົນລັບເປັນຊະນິດຂໍ້ມູນທີ່ສອດຄ່ອງກັບຊະນິດຂໍ້ມູນຂອງຄ່າຄົງທີ່
ຕົວຢ່າງເຊັ່ນ
ຄຳສັ່ງ
final int MINIMUM = 4;
final double MIN_GPA = 2.00;
ເປັນການປະກາດຄ່າຄົງທີ່ MINIMUM
ໃຫ້ມີຊະນິດຂໍ້ມູນເປັນ int ໂດຍມີຄ່າເປັນ 4 ແລະຄ່າຄົງທີ່ MIN_GPA
ໃຫ້ມີຊະນິດຂໍ້ມູນເປັນ double ໂດຍມີຄ່າເປັນ 2.00
ຄ່າຄົງທີ່ຈະກຳນົດຄ່າໄດ້ພຽງເທື່ອດຽວ
ໂດຍຈະຕ້ອງມີການກຳນົດກ່ອນທີ່ຈະມີການເອີ້ນໃຊ້ງານ ເຊິ່ງເມື່ອກຳນົດຄ່າແລ້ວຈະບໍ່ສາມາດປ່ຽນແປງຄ່າໄດ້
ໂປຣແກຣມທີ2.4
ເປັນຕົວຢ່າງທີ່ສະແດງການປະກາດຄ່າຄົງທີ່ແລະການໃຊ້ຄ່າຄົງທີ່
ເຊິ່ງຈະໃຫ້ຜົນລັບດັ່ງສະແດງໃນຮູບທີ2.4
ໂປຣແກຣມທີ2.4
ຕົວຢ່າງສະແດງການປະກາດຄ່າຄົງທີ່
ຮູບທີ2.4
ຜົນລັບທີ່ໄດ້ຈາກການລັນໂປຣແກຣມທີ2.4
2.4.3
ຂອບເຂດຂອງຕົວແປແລະຄ່າຄົງທີ່
ຕົວແປແລະຄ່າຄົງທີ່ເຊິ່ງປະກາດຂຶ້ນຈະສາມາດໃຊ້ງານພາຍໃນບ໋ອກຄຳສັ່ງ
{} ທີ່ປະກາດເທົ່ານັ້ນ ໂດຍພາສາຈາວາແບ່ງຕົວແປແລະຄ່າຄົງທີ່ເປັນສອງປະເພດຄື:
1. ຕົວແປຫລືຄ່າຄົງທີ່ທີ່ເປັນຄຸນລັກສະນະຂອງອອບເຈັກຫລືຄຸນລັກສະນະຂອງຄາດ
2. ຕົວແປຫລືຄ່າຄົງທີ່ທີ່ຢູ່ໃນບ໋ອກຂອງເມທອດທີ່ເອີ້ນວ່າຄ່າຄົງທີ່ພາຍໃນ
(Local Constant) ຫລືຕົວແປພາຍໃນ (Local Variable)
ຕົວແປຫລືຄ່າຄົງທີ່
ທີ່ເປັນຄຸນລັກສະນະຂອງອອບເຈັກຫລືຄຸນລັກສະນະຂອງຄາດຄື
ຕົວແປຫລືຄົງທີ່ທີ່ປະກາດພາຍໃນບ໋ອກຂອງຄາດ ເຊິ່ງຢູ່ນອກເມທອດຂອງຄາດ
ຕົວແປຫລືຄ່າຄົງທີ່ປະເພດນີ້ຈະມີຂອບເຂດໃຊ້ງານຢູ່ພາຍໃນຢູ່ພາຍໃນຄາດໂດຍທີ່ທຸກໆ
ເມທອດໃນຄາດສາມາດເອີ້ນໃຊ້ໄດ້
ສຳຫລັບຕົວແປປະເພດນີ້ຈະຖືກກຳນົດຄ່າເລີ່ມຕົ້ນໃຫ້ໂດຍອັດຕະໂນມັດດັ່ງຕາຕະລາງທີ2.5
ຕາຕະລາງທີ2.5
ຄ່າເລີ່ມຕົ້ນທີ່ຖືກກຳນົດໃຫ້ອັດຕະໂນມັດ
ຊະນິດຂໍ້ມູນ
|
ຄ່າເລີ່ມຕົ້ນ
|
Boolean
|
False
|
Byte
|
0
|
Short
|
0
|
Int
|
0
|
Long
|
0L
|
Float
|
0.0f
|
Double
|
0.0
|
Char
|
‘\u0000’
|
ຄາດ
|
Null
|
ສຳຫລັບຄ່າຄົງທີ່ຫລືຕົງແປທີ່ຢູ່ພາຍໃນບ໋ອກຂອງເມທອດ
ຈະມີຂອບເຂດການໃຊ້ງານຢູ່ພາຍໃນບ໋ອກເທົ່ານັ້ນ
ໂປຣແກຣມທີ2.5
ສະແດງຕົວຢ່າງຕົວແປທີ່ເປັນຄຸນລັກສະນະຂອງອອບເຈັກ
ແລະຕົວແປທີ່ເປັນຕົວແປພາຍໃນ ໂດຍໂປຣແກຣມນີ້ມີຕົວແປ i ທີ່ເປັນຄຸນລັກສະນະຂອງອອບເຈັກ
ສ່ວນຕົວແປ j ແລະ k ໃນເມທອດ method2()
ກໍ່ເປັນຕົວແປພາຍໃນອີກຕົວໜຶ່ງເຮົາບໍ່ສາມາດທີ່ຈະເອີ້ນໃຊ້ຕົວແປ k
ນອກເມທອດ method1() ໄດ້ ນອກຈາກນີ້ຕົວແປ j ໃນເມທອດທັງສອງຈະຖືວ່າເປັນຕົວແປຄົນລະຕົວກັນ
ໂປຣແກຣມທີ2.5
ຕົວຢ່າງສະແດງຂອບເຂດຂອງຕົວແປ
ຕົວແປທີ່ເປັນຄຸນລັກສະນະຂອງອອບເຈັກຈະສາມາດເກັບ
ແລະປ່ຽນແປງຄ່າທີ່ເກັບໄວ້ໃນໜ່ວຍຄວາມຈຳໄດ້ຕາບໃດທີ່ອອບເຈັກຍັງຖືກອ້າງອີງໃນໂປຣແກຣມ
ຕົວແປພາຍໃນຈະເປັນຕົວແປທີ່ກຳນົດໃນບ໋ອກຂອງເມທອດ
ເຊິ່ງຈະມີຂອບເຂດການໃຊ້ງານຢູ່ພາຍໃນບ໋ອກທີ່ກຳນົດຂຶ້ນເທົ່ານັ້ນ
ຕົວແປປະເພດນີ້ຈະຖືກສ້າງຂຶ້ນເມື່ອມີການເອີ້ນໃຊ້ງານເມທອດທີ່ຕົວແປປະກາດຢູ່
ແລະຈະຖືກລົບຖິມເມື່ອສິ້ນສຸດການທຳງານຂອງເມທອດ
ດັ່ງນັ້ນໃນບາງເທື່ອຈະເອີ້ນຕົວແປປະເພດນີ້ວ່າຕົວແປຊົ່ວຄາວ (temporary
variable) ຕົວແປທີ່ປະກາດຢູ່ໃນ argument ຂອງເມທອດ
ກໍ່ຈັດຢູ່ໃນຕົວແປປະເພດນີ້ຄືກັນ
ໂປຣແກຣມທີ2.6
ສະແດງຕົວຢ່າງຂອງການປະກາດແລະໃຊ້ງານຕົວແປພາຍໃນແລະຕົວແປຂອງອອບເຈັກ
ຄາດ ScopeExample
ຈະມີຕົວແປຂອງອອບເຈັກ i
ທີ່ຖືກສ້າງຂຶ້ນເມື່ອມີການສ້າງອອບເຈັກຂອງຄາດແລະເກັບຢູ່ໃນ Heap
Memory ດັ່ງສະແດງໃນຮູບທີ2.5
ແລະເມື່ອມີການເອີ້ນໃຊ້ເມທອດ method1() ແລະ method2 () ຕົວແປພາຍໃນ i
ແລະ j
ຈະຖືກສ້າງຂຶ້ນແລະຖືກລົບຖິມໄປເມື່ອອອກຈາກເມທອດດັ່ງສະແດງໃນຮູບທີ2.5
ໂປຣແກຣມທີ2.6
ຕົວຢ່າງສະແດງຕົວແປພາຍໃນແລະຕົວແປຂອງອອບເຈັກ
ຮູບທີ2.5 ການເກັບຄ່າຂອງຕົວແປໃນໜ່ວຍຄວາມຈຳ
ພາສາຈາວາກຳນົດວ່າຕ້ອງມີການກຳນົດຄ່າເລີ່ມຕົ້ນໃຫ້ກັບຕົວແປທີ່ປະກາດໄວ້
ກ່ອນທີ່ຈະສາມາດເອີ້ນໃຊ້ງານໄດ້ໃນກໍລະນີຂອງຕົວແປຂອງອອບເຈັກຫລືຕົວແປຂອງຄາດ
ພາສາຈາວາຈະກຳນົດຄ່າເລີ່ມຕົ້ນໃຫ້ໂດຍອັດຕະໂນມັດດັ່ງຕາຕະລາງທີ2.5
ແຕ່ໃນກໍລະນີຂອງຕົວແປພາຍໃນຈະຕ້ອງມີຄຳສັ່ງໃນການກຳນົດຄ່າເລີ່ມຕົ້ນເອງ
ຖ້າບໍ່ດັ່ງນັ້ນຈະເກີດຂໍ້ຜິດພາດໃນຂັ້ນຕອນຄອມພາຍ (Compile
Error) ຕົວຢ່າງເຊັ່ນ
ຄຳສັ່ງ
public void demoMethod(){
int x = (int)(Math.random()*10);
int y,z;
if (x > 5) {
y = 6;
}z
= x+y;
}
ຈະເຮັດໃຫ້ໂປຣແກຣມບໍ່ສາມາດຄອມພາຍຜ່ານໄດ້ເນື່ອງຈາກຄ່າ y
ມີໂອກາດທີ່ຈະບໍ່ຖືກກຳນົດຄ່າເລີ່ມຕົ້ນກ່ອນໃຊ້ງານ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น