Tutorial for Application Development



Thursday 20 August 2009

Java Casting Type Conversions แปลงค่าต่างๆ

Type Conversions

คือ กฎในการจัดการกับชนิดข้อมูลพื้นฐานในกรณีที่การกำหนดค่าระหว่างตัวแปรมีชนิดข้อมูลต่างกัน ทำได้สองวิธี ดังนี้

5.1 Automatic Type Conversions

คอมไพเลอร์จะเปลี่ยนให้เองอัตโนมัติถ้าประเภทข้อมูลต่างกัน แต่ต้องอยู่ภายใต้เงื่อนไขดังนี้
- ชนิดข้อมูลของทั้งสองตัวจะต้องเข้ากันได้(compatible) คือ ข้อมูลที่เป็นตัวเลขและจำนวนจริง จะไม่เข้ากับ ตัวที่เป็นตัวอักษร และค่าความจริง และ ตัวอักษร ก็จะไม่เข้ากับค่าความจริง เหมือนกัน
- ชนิดข้อมูลที่จะถูกแปลงจะต้องมีพื้นที่ในหน่วยความจำมากกว่า เพื่อไม่ให้เกิดการสูญหายของข้อมูลระหว่างการแปลงค่า
สรุปว่า

X=Y ;

จะเป็นไปได้เมื่อ X กับ Y มีชนิดข้อมูลที่เข้ากันได้ และ X ต้องมีพื้นที่ในหน่วยความจำมากกว่า Y

5.2 Casting

คือการเปลี่ยนประเภทข้อมูลโดย ผู้เขียนเอง ภายใต้รูปแบบดังนี้

(type)
เช่น
X=(int)Y;

การ casting สามารถสามารถใช้ได้ทั้ง กรณีที่ข้อมูลใหญ่กว่า หรือ เล็กกว่า ยกเว้นข้อมูลที่เข้ากันไม่ได้ แต่ถ้าแปลงจากข้อมูลที่มีขนาดใหญ่ไป เป็นขนาดเล็กกว่า อาจเกิดการสูญหายของข้อมูลไปบ้าง เช่นถ้าแปลงจากเลข ทศนิยมไปเป็นจำนวนเต็มจุดทศนิยมจะหายไป

No comments: