โดยทั่วไปเราจะใช้ประเภทข้อมูลพื้นฐานของข้อมูล: byte, int, short, long, double, float, boolean, char;
นอกจากนี้ยังมีประเภทบรรจุภัณฑ์ที่เกี่ยวข้องอีกแปดประเภท: ไบต์, จำนวนเต็ม, สั้น, ยาว, สอง, ลอย, ตัวอักษร, บูลีน;
ประเภทบรรจุภัณฑ์จะถูกประกาศเป็นขั้นสุดท้ายและไม่สามารถแทนที่ด้วยการสืบทอดได้ ในสถานการณ์จริง คอมไพเลอร์จะจัดประเภทข้อมูลพื้นฐานเป็นประเภทออบเจ็กต์โดยอัตโนมัติ หรือแกะประเภทออบเจ็กต์เป็นประเภทข้อมูลพื้นฐานดังต่อไปนี้:
โมฆะคงที่สาธารณะ main (String [] args) { int num1 = 1; //กล่องประเภทข้อมูลพื้นฐานลงในประเภทบรรจุภัณฑ์วัตถุ จำนวนเต็ม num2 = num1; จำนวนเต็ม num3 = 3; //แกะกล่องคลาสข้อมูลอ็อบเจ็กต์ int num4 = num3; -
คลาส Number เป็นคลาสนามธรรมภายใต้แพ็คเกจ java.lang โดยจัดให้มีวิธีการแกะกล่องประเภทแพ็คเกจเป็นประเภทพื้นฐาน ประเภทแพ็คเกจทั้งหมด (ประเภทข้อมูล) สืบทอดคลาสนามธรรมนี้ และการประกาศขั้นสุดท้ายไม่สามารถสืบทอดและเปลี่ยนแปลงได้ . ;
แพ็คเกจ java.lang; หมายเลขคลาสนามธรรมสาธารณะใช้ java.io.Serializable { บทคัดย่อสาธารณะ int intValue(); สาธารณะนามธรรม longValue ยาว (); สาธารณะนามธรรมลอย floatValue (); สาธารณะนามธรรมสองเท่า doubleValue(); ไบต์สาธารณะ byteValue() { กลับ (ไบต์) intValue (); - shortValue สั้นสาธารณะ () { กลับ (สั้น) intValue (); - serialVersionUID ยาวสุดท้ายแบบคงที่ส่วนตัว = -8742448824652078965L; -
บรรจุภัณฑ์ | ชนิดข้อมูลพื้นฐาน |
---|---|
บูลีน | บูลีน |
ไบต์ | ไบต์ |
สั้น | สั้น |
จำนวนเต็ม | ภายใน |
ยาว | ยาว |
อักขระ | ถ่าน |
ลอย | ลอย |
สองเท่า | สองเท่า |
บรรจุภัณฑ์ประเภทนี้ที่คอมไพเลอร์สนับสนุนเป็นพิเศษเรียกว่า boxing ดังนั้นเมื่อใช้ชนิดข้อมูลในตัวเป็นอ็อบเจ็กต์ คอมไพลเลอร์จะบรรจุชนิดในตัวลงในคลาส wrapper ในทำนองเดียวกัน คอมไพเลอร์สามารถแกะกล่องวัตถุให้เป็นประเภทบิวท์อินได้ คลาส Number เป็นของแพ็คเกจ java.lang
นี่คือตัวอย่างการชกมวยและการแกะกล่อง:
การทดสอบคลาสสาธารณะ{
publicstaticvoidmain (Stringargs []) {
จำนวนเต็มx=5;//boxesinttoanIntegerobject
x=x+10;//แกะกล่องจำนวนเต็มออก
System.out.println(x);
-
-
ผลการรวบรวมและการทำงานของตัวอย่างข้างต้นมีดังนี้:
15
เมื่อ x ถูกกำหนดให้กับค่าจำนวนเต็ม คอมไพเลอร์จะต้องใส่กล่อง x เนื่องจาก x เป็นวัตถุ จากนั้น เพื่อให้ x เพิ่ม x จะถูกแกะกล่องออก
คณิตศาสตร์ของ Java มีคุณสมบัติและวิธีการสำหรับการดำเนินการทางคณิตศาสตร์ขั้นพื้นฐาน เช่น เลขชี้กำลังเบื้องต้น ลอการิทึม รากที่สอง และฟังก์ชันตรีโกณมิติ
วิธีการทางคณิตศาสตร์ทั้งหมดถูกกำหนดไว้ในรูปแบบคงที่และสามารถเรียกได้โดยตรงในฟังก์ชันหลักผ่านคลาสคณิตศาสตร์
ตัวอย่าง
การทดสอบชั้นเรียนสาธารณะ {
โมฆะคงสาธารณะหลัก (สตริง [] args)
-
System.out.println("ไซน์ของ 90 องศา: " + Math.sin(Math.PI/2));
System.out.println("โคไซน์ของ 0 องศา: " + Math.cos(0));
System.out.println("แทนเจนต์ของ 60 องศา: " + Math.tan(Math.PI/3));
System.out.println("อาร์คแทนเจนต์ของ 1: " + Math.atan(1));
System.out.println("ค่ามุมของ π/2: " + Math.toDegrees(Math.PI/2));
System.out.println(คณิตศาสตร์.PI);
-
-
ผลการรวบรวมและการทำงานของตัวอย่างข้างต้นมีดังนี้:
ไซน์ 90 องศา: 1.0
โคไซน์ของ 0 องศา: 1.0
ค่าแทนเจนต์ 60 องศา: 1.7320508075688767
อาร์กแทนเจนต์ของ 1: 0.7853981633974483
ค่ามุมของ π/2: 90.0
3.141592653589793
วิธีเรียนเลขและคณิต
ตารางต่อไปนี้แสดงรายการวิธีการคลาส Number และคลาส Math ที่ใช้กันทั่วไป:
หมายเลขซีเรียล | วิธีการและคำอธิบาย | |||||
---|---|---|---|---|---|---|
1 | xxxValue() แปลงวัตถุ number ให้เป็นค่าประเภทข้อมูล xxx แล้วส่งคืน | |||||
2 | CompareTo() เปรียบเทียบวัตถุตัวเลขกับพารามิเตอร์ | |||||
3 | เท่ากับ() กำหนดว่าวัตถุ number เท่ากับพารามิเตอร์หรือไม่ | |||||
4 | valueOf() ส่งคืนวัตถุจำนวนเต็มที่ระบุประเภทข้อมูลในตัว | |||||
5 | toString() ส่งกลับค่าในรูปแบบสตริง | |||||
6 | parseInt() แยกวิเคราะห์สตริงเป็นประเภท int | |||||
7 | abs() ส่งคืนค่าสัมบูรณ์ของอาร์กิวเมนต์ | |||||
8 | ceil() ส่งคืนจำนวนเต็มที่น้อยที่สุดที่มากกว่าหรือเท่ากับ (>=) พารามิเตอร์ที่กำหนด ประเภทคือจุดลอยตัวที่มีความแม่นยำสองเท่า | |||||
9 | floor() ส่งคืนจำนวนเต็มที่ใหญ่ที่สุดน้อยกว่าหรือเท่ากับ (<=) อาร์กิวเมนต์ที่กำหนด | |||||
10 | rint() ส่งกลับจำนวนเต็มที่ใกล้ที่สุดให้กับอาร์กิวเมนต์ ประเภทการส่งคืนเป็นสองเท่า | |||||
11 | รอบ () ส่งกลับค่า int หรือค่ายาวที่ใกล้ที่สุด | |||||
12 | min() ส่งคืนค่าต่ำสุดของพารามิเตอร์ทั้งสอง | |||||
13 | max() ส่งคืนค่าสูงสุดของพารามิเตอร์ทั้งสอง | |||||
14 | exp() ส่งคืนค่ากำลังพารามิเตอร์ของฐานจำนวนธรรมชาติ e | |||||
15 | log() ส่งคืนค่าลอการิทึมของฐานจำนวนธรรมชาติของอาร์กิวเมนต์ | |||||
16 | pow() ส่งคืนพารามิเตอร์ตัวแรกที่ยกกำลังของพารามิเตอร์ตัวที่สอง | |||||
17 | sqrt() ค้นหารากที่สองทางคณิตศาสตร์ของอาร์กิวเมนต์ | |||||
18 | sin() ค้นหาค่าไซน์ของพารามิเตอร์ประเภทคู่ที่ระบุ | |||||
19 | cos() ค้นหาค่าโคไซน์ของพารามิเตอร์ชนิดคู่ที่ระบุ | |||||
20 | tan() ค้นหาค่าแทนเจนต์ของพารามิเตอร์ชนิดคู่ที่ระบุ | |||||
ยี่สิบเอ็ด | asin() ค้นหาค่าอาร์คไซน์ของพารามิเตอร์ประเภทคู่ที่ระบุ | |||||
ยี่สิบสอง | acos() ค้นหาค่าโคไซน์ส่วนโค้งของพารามิเตอร์ประเภทคู่ที่ระบุ | |||||
ยี่สิบสาม | atan() ค้นหาค่าอาร์กแทนเจนต์ของพารามิเตอร์ชนิดคู่ที่ระบุ | |||||
ยี่สิบสี่ | atan2() แปลงพิกัดคาร์ทีเซียนเป็นพิกัดเชิงขั้วและส่งกลับค่ามุมของพิกัดเชิงขั้ว | |||||
25 | toDegrees() แปลงพารามิเตอร์เป็นมุม | |||||
26 | toRadians() แปลงมุมเป็นเรเดียน | |||||
27 | Random() ส่งกลับตัวเลขสุ่ม |