CodeGym /จาวาบล็อก /สุ่ม /คีย์เวิร์ดคู่ของ Java
John Squirrels
ระดับ
San Francisco

คีย์เวิร์ดคู่ของ Java

เผยแพร่ในกลุ่ม
คีย์เวิร์ด คู่ของ Java เช่นเดียวกับภาษาอื่นๆ ระบุรูปแบบคอมพิวเตอร์สำหรับแสดงเลขทศนิยม ที่ใช้ 64 บิตหรือ 8 ไบต์ในหน่วยความจำ ในบทความนี้เราจะพูดถึงสองเท่าและดูตัวอย่างบางส่วน

จุดลอยตัวและการคำนวณ: คำอธิบายทางคณิตศาสตร์สั้น ๆ

เศษส่วนเป็นจำนวนคงที่หรือทศนิยม ตัวเลือกแรกสามารถแสดงเป็นเศษส่วนปกติ โดยที่ตัวเศษ (ตัวตัวเลขเอง) และตัวส่วน (ตัวประกอบมาตราส่วน) จะเป็นจำนวนเต็ม ตัวอย่างเช่น ตัวเลข 2.7 คือ 27 โดยมีตัวประกอบมาตราส่วนเป็น 10, 3.14 - 314 โดยมีตัวประกอบเป็น 100 อย่างไรก็ตาม วิธีการนี้ไม่ถูกต้องมากนักจากมุมมองของการคำนวณ ดังนั้น พวกเขามักจะใช้การแทนค่าทศนิยม ในการคำนวณเลขคณิตทศนิยมคือการแสดงเลขคณิตพิเศษของจำนวนจริงเป็นการประมาณเพื่อรองรับการแลกเปลี่ยนระหว่างช่วงและความแม่นยำ รูปแบบหลักสำหรับการแสดงตัวเลขทศนิยมใน Java เรียกว่าทศนิยม ชื่อของมันมาจากจุดลอยตัว Float คือ 32 บิต โดย 1 บิตเป็นบิตลงนาม 8 บิตสำหรับเลขยกกำลัง และ 23 บิตสำหรับซิกนิฟิแคนด์ ช่วงคือ ±3 40282347E + 38F คือเลขนัยสำคัญ 6-7 หลัก ชื่อ double มาจาก double float เดอะdouble type มีขนาดใหญ่เป็นสองเท่าของfloat : 8 bytes เทียบกับ 4 เรียกอีกอย่างว่า double precision จำนวนจริง จาก 64 บิตที่สงวนไว้สำหรับเลขคู่ 1 คือบิตที่มีเครื่องหมาย 11 บิตสำหรับเลขยกกำลัง และ 52 บิตสำหรับซิกนิฟิแคนด์ เศษส่วน สองเท่าของ Java เก็บตัวเลขในช่วง ±1.79769313486231570E + 308 เช่น 15-16 หลักที่สำคัญ Doubleเป็นรูปแบบที่แม่นยำยิ่งขึ้น ดังนั้นหากคุณต้องการจัดเก็บจำนวนมากจริงๆ การเลือกdouble over floatเป็นความคิดที่ดี อย่างไรก็ตาม วิธีการทางคณิตศาสตร์ เช่น sqrt, sin หรือ cos และอื่นๆ อีกมากมายจะส่งกลับค่าสองเท่า อย่างไรก็ตาม คุณควรจ่ายสำหรับความแม่นยำสองเท่าด้วยหน่วยความจำ

การสร้างตัวแปรคู่

ประเภทคู่ใช้สำหรับเก็บจำนวนจริง หากต้องการสร้างตัวแปรในโค้ดที่สามารถเก็บจำนวนจริงได้ คุณต้องใช้คำสั่ง:

double name;
โดยที่nameคือชื่อของตัวแปร

double myPrice;  //here we create a variable called myPrice
double action; //and here -- action. 
คุณยังสามารถใช้ชวเลขเพื่อสร้างตัวแปรหลายตัวประเภทdouble :

double name1, name2, name3;

ตัวอย่างคีย์เวิร์ดคู่ของ Java

ลองยกตัวอย่างการใช้ Java double keyword เพื่อสร้างตัวแปร

double myPrice = 5.0;
double height = 180;
double x = 7.1, y = 3.0;
ที่นี่ในตัวแปรmyPriceเรามีค่า 5.0 ในความสูงของ ตัวแปร — 180 ในxเราใส่ค่า 7.1 และ 3.0 ในy

สองเท่าของจำนวนเต็ม

ใน Java ตัวแปร คู่สามารถกำหนดได้ทั้งจำนวนจริงและจำนวนเต็ม เมื่อกำหนดค่าจำนวนเต็ม พวกมันจะถูกแปลงเป็นจำนวนจริง แม้ว่าบางครั้งอาจสูญเสียความแม่นยำเล็กน้อย

double height = 180;
int k = 2; 
int i = 5; 
double myDouble = k*i;
ในความเป็นจริง ตัวแปร ความสูงเก็บหมายเลข 180.0 และ ตัวแปร myDoubleเก็บหมายเลข 10.0

การโต้ตอบแบบคู่และจำนวนเต็ม

นอกจากนี้ หากนิพจน์บางอย่างเกี่ยวข้องกับจำนวนเต็มและจำนวนจริง จำนวนเต็มจะถูกแปลงเป็นจำนวนจริงก่อน แล้วจึงโต้ตอบกับจำนวนจริงอื่นเท่านั้น

public class DoubleDemo {
   public static void main(String[] args) {
       int k = 2;
       double myDouble1 = 5;
       double myDouble = k*7.0;
       System.out.println(myDouble1);
       System.out.println(k*myDouble1);
       System.out.println(myDouble);
   }
}
ในตัวอย่างนี้ ผลลัพธ์จะเป็น:
5.0 10.0 14.0
แม้ว่าตัวเลขmyDouble1จะแสดงเป็น 5 และไม่ใช่ 5.0 แต่ Java มองว่าตัวเลขนี้เป็นเลขคู่ดังนั้นจึงดูเหมือน 5.0 จริงๆ ถ้าเราคูณ int และเพิ่มเป็นสองเท่า เราจะได้double เสมอ แม้ว่าจำนวนนี้จะเป็นจำนวนเต็มก็ตาม เรา สามารถกำหนดตัวแปรประเภทdoubleให้กับตัวแปรประเภทint ในการทำเช่นนี้ คุณต้องทำการแปลงประเภทที่ชัดเจน แน่นอนว่าส่วนที่เป็นเศษส่วนจะถูกตัดทิ้ง ตัวเลขจะถูกตัดให้เหลือจำนวนเต็มน้อยลง

public class DoubleDemo {
   public static void main(String[] args) {
       double x = 57.789;
       int almostX;
       almostX = (int)x;
       System.out.println(almostX);
   }
}
ผลลัพธ์คือ:
57
สุดท้ายเรามาพูดถึงการแบ่ง นี่คือสิ่งที่น่าสนใจที่สุด คุณอาจเจอข้อเท็จจริงที่ว่าถ้าคุณหารจำนวนเต็มสองจำนวน ผลของการหารเราจะได้รับจำนวนเต็ม แม้ว่าพวกมันจะหารลงตัวกันไม่ได้ก็ตาม:

public class DoubleDemo {
   public static void main(String[] args) {
       double myDouble = 7/2;
       System.out.println(myDouble);
   }
}
ผลลัพธ์คือ:
3.0
นี่เป็นเพราะเครื่อง Java แบ่งจำนวนเต็มสองจำนวนก่อน (และได้ 3) จากนั้นจึงเก็บค่านี้ในตัวแปรประเภท double และรับผลลัพธ์เป็น 3.0 ในการรับจำนวนเต็มไม่ได้ แต่เป็นการหารตามปกติ คุณต้องโกง ตัวอย่างเช่น เขียนหนึ่งในจำนวนเป็นจำนวนจริง (จากนั้นนิพจน์ทั้งหมดจะถูกแปลงเป็นจำนวนจริงโดยอัตโนมัติ) หากเราทำงานกับตัวแปรประเภทจำนวนเต็ม ก็จะสามารถคูณด้วย 1.0 ได้ สิ่งนี้จะไม่เปลี่ยนค่า แต่จะ เปลี่ยน ประเภทของตัวแปรจากintเป็นdouble

public class DoubleDemo {
   public static void main(String[] args) {
       double myDouble = 7.0/2;
       int x = 5;
       int y = 2;
       System.out.println(myDouble);
       System.out.println(x*1.0/y);
   }
}
ผลลัพธ์คือ:
3.5 2.5
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION