1. การทำอย่างละเอียดของประเภทข้อมูลพื้นฐาน
ภาษา Java มีแปดประเภทพื้นฐาน หกประเภทตัวเลข (สี่ประเภทจำนวนเต็มสองประเภทลอยตัว) ประเภทอักขระหนึ่งชนิดและหนึ่งประเภทบูลีน
【หมายเหตุ】 Java ไม่มีประเภทที่ไม่ได้ลงชื่อ
(1). จำนวนเต็ม: int, สั้น, ไบต์, ยาว
(2). ประเภทลอย: ลอยสองเท่า
(3). ตัวละคร: Char
(4). บูลีน
ประเภทประเภทพื้นฐานค่าต่ำสุดค่าสูงสุด
โมฆะ
บูลีน ------ ---------
ถ่าน unicode 16 บิต 0 Unicode 2^16-1
ไบต์ 8 บิต -128 +127
สั้น 16 บิต -2^15 +2^15-1
int 32 บิต -2^31 +2^31-1
ยาว 64 บิต -2^63 +2^63-1
ลอย 32 บิต IEEE754 IEEE754
IEEEE754 IEEE754 คู่ 64 บิต
นอกจากนี้เรามักจะใช้ตัวแปรคลาสสองตัวคือสตริงและวันที่
2. การแปลงข้อมูล
การแปลงชนิดข้อมูล 1 ประเภท โดยทั่วไปมีการแปลงประเภทข้อมูล Java สามประเภทคือ:
(1). การแปลงระหว่างประเภทข้อมูลพื้นฐาน (2) การแปลงระหว่างสตริงและชนิดข้อมูลอื่น ๆ (3) การแปลงประเภทข้อมูลการปฏิบัติอื่น ๆ
2 การแปลงระหว่างประเภทข้อมูลพื้นฐาน <br /> ประเภทพื้นฐานจากต่ำถึงสูงคือ (ไบต์, สั้น, ถ่าน)-int-ยาว-ยาว-คู่-สอง
การแปลงระหว่างชนิดข้อมูลอย่างง่ายสามารถแบ่งออกเป็น:
●การแปลงประเภทอัตโนมัติระดับต่ำเป็นขั้นสูง●การแปลงประเภทการหล่อระดับต่ำเป็นระดับต่ำ
2.1 การแปลงประเภทอัตโนมัติ 2.1.1 ตัวแปรระดับต่ำสามารถแปลงโดยตรงเป็นตัวแปรระดับสูงเรียกว่าการแปลงประเภทอัตโนมัติ ตัวอย่างเช่นข้อความต่อไปนี้สามารถส่งผ่านใน Java ได้โดยตรง:
ไบต์ B; int i = b; ยาว l = b; ลอย f = b; double d = b;
2.1.2 หากประเภทระดับต่ำเป็นประเภทถ่านมันจะถูกแปลงเป็นค่ารหัส ASCII ที่สอดคล้องกันเมื่อแปลงเป็นประเภทระดับสูง (ประเภทอินทิกรัล) ตัวอย่างเช่น
ถ่าน C = 'C'; int i = c; System.out.println ("เอาต์พุต:"+i);เอาต์พุต: เอาท์พุท: 99;
2.1.3 สำหรับสามประเภทของไบต์สั้นและถ่านพวกเขาเป็นแนวนอนและดังนั้นจึงไม่สามารถแปลงกันโดยอัตโนมัติ ใช้การแปลงประเภทการหล่อต่อไปนี้
สั้น i = 99; ถ่าน C = (ถ่าน) i; i = (สั้น) c; System.out.println ("เอาต์พุต:"+c); เอาต์พุต: เอาต์พุต: C;
แต่จากประสบการณ์ไบต์สั้นและ int เป็นประเภทจำนวนเต็มทั้งหมดดังนั้นหากคุณใช้ข้อมูลจำนวนเต็มคุณควรใช้ประเภท int อย่างสม่ำเสมอ
2.2 เมื่อการหล่อแปลงตัวแปรระดับสูงเป็นตัวแปรระดับต่ำสถานการณ์จะซับซ้อนมากขึ้นและคุณสามารถใช้การหล่อ นั่นคือคุณต้องใช้รูปแบบคำสั่งต่อไปนี้:
int i = 99; ไบต์ b = (ไบต์) i; ถ่าน C = (ถ่าน) i; ลอย f = (ลอย) i;
อย่างที่คุณสามารถจินตนาการได้การแปลงนี้อาจนำไปสู่การล้นหรือลดความแม่นยำ
2.3 การแปลงประเภทการเปลี่ยนคลาสบรรจุภัณฑ์เมื่อเราพูดถึงการแปลงร่วมกันระหว่างประเภทตัวแปรอื่น ๆ เราจำเป็นต้องเข้าใจคลาสบรรจุภัณฑ์ของ Java คลาสบรรจุภัณฑ์ที่เรียกว่าเราสามารถแสดงตัวแปรประเภทง่ายๆโดยตรงเป็นคลาส เมื่อทำการแปลงประเภทตัวแปรร่วมกันเราจะใช้คลาสบรรจุภัณฑ์เหล่านี้มาก Java มีคลาสบรรจุภัณฑ์หกชั้น ได้แก่ บูลีนตัวละครตัวอักษรจำนวนเต็มยาวลอยและสองเท่า จากมุมมองที่แท้จริงเราจะเห็นว่าพวกเขาสอดคล้องกับบูลีน, ถ่าน, int, ยาว, ลอยและสองเท่าตามลำดับ และสตริงและวันที่เป็นคลาสของตัวเอง ดังนั้นจึงไม่มีแนวคิดของบรรจุภัณฑ์
เมื่อแปลงระหว่างชนิดข้อมูลอย่างง่าย (การแปลงอัตโนมัติหรือการหล่อ) เราสามารถใช้คลาส wrapper สำหรับการเปลี่ยนระดับกลาง
โดยทั่วไปแล้วเราจะประกาศตัวแปรก่อนจากนั้นสร้างคลาส wrapper ที่สอดคล้องกันและเราสามารถใช้วิธีการต่าง ๆ ของคลาส wrapper เพื่อทำการแปลงประเภท ตัวอย่างเช่น:
ตัวอย่างที่ 1: เมื่อคุณต้องการแปลงประเภทลอยเป็นสองประเภท:
ลอย F1 = 100.00F; float f1 = f1; // autobox double d1 = f1.doublevalue (); // f1.doublevalue () เป็นวิธีที่จะส่งคืนประเภทค่าสองเท่าของคลาส Float เมื่อคุณต้องการแปลงประเภทสองเท่าเป็นประเภท int: double d1 = 100.00; double d1 = ใหม่ double (d1); // เรียกตัวสร้าง int i1 = d1.intvalue ();
แปลงตัวแปรของประเภทง่าย ๆ เป็นคลาสบรรจุภัณฑ์ที่สอดคล้องกันและสามารถกำหนดโดยตรงโดยใช้ตัวสร้างและการบรรจุอัตโนมัติของคลาสบรรจุภัณฑ์ ตอนนี้:
บูลีน (ค่าบูลีน), อักขระ (ค่าถ่าน), จำนวนเต็ม (ค่า int), ยาว (ค่ายาว), ลอย (ค่าลอย), สองเท่า (ค่าคู่)
ในแต่ละคลาสบรรจุภัณฑ์จะมีวิธีการ×× value () เสมอเพื่อให้ได้ข้อมูลประเภทง่าย ๆ ที่สอดคล้องกัน การใช้วิธีนี้การแปลงระหว่างตัวแปรตัวเลขที่แตกต่างกันสามารถรับรู้ได้ ตัวอย่างเช่นสำหรับคลาสเรียลที่มีความแม่นยำสองเท่า intvalue () สามารถรับตัวแปรจำนวนเต็มที่สอดคล้องกันและ doublevalue () สามารถรับตัวแปรประเภทจริงสองเท่าที่สอดคล้องกันได้
3 การแปลงประเภทสตริงและประเภทข้อมูลอื่น ๆ <br /> โดยการดูวิธีการสมาชิกที่จัดทำโดยแต่ละคลาสในไลบรารีคลาสคุณจะเห็นว่าคลาสเกือบทั้งหมดที่ได้มาจาก Java.lang.Object คลาสให้วิธี ToString () นั่นคือการแปลงคลาสเป็นสตริง ตัวอย่างเช่น: Characrer, Integer, Float, Double, Boolean, สั้นและคลาสอื่น ๆ TOSTRING () ใช้ในการแปลงอักขระ, จำนวนเต็ม, หมายเลขจุดลอยตัว, ตัวเลขคู่, จำนวนเต็มสั้นและคลาสอื่น ๆ เป็นสตริง ดังที่แสดงด้านล่าง:
int i1 = 10; ลอย F1 = 3.14F; double d1 = 3.1415926; จำนวนเต็ม i1 = จำนวนเต็มใหม่ (i1); // สร้างคลาสจำนวนเต็มลอย F1 = F1; // autobox double d1 = d1; // เรียกเมธอด toString () ของคลาส wrapper แยกกันเพื่อแปลงเป็นสตริงสตริง si1 = i1 + ""; // วิธีนี้เป็นสตริงทั่วไป sf1 = f1.toString (); สตริง sd1 = d1.toString (); sysytem.out.println ("si1"+si1); sysytem.out.println ("SF1"+SF1); sysytem.out.println ("SD1"+SD1); 4. แปลงประเภทอักขระโดยตรงเป็นค่าตัวเลขเป็นประเภทข้อมูลอื่น ๆ <br /> ตัวอย่างเช่น '1' หมายถึงค่า 1 แทนที่จะเป็นรหัส ASCII สำหรับการแปลงนี้:
ถ่าน C = '1'; // วิธี getNumericValue (char ch) ของตัวละคร int i = character.getNumericValue (c); // การลบรหัส ASCII i = c -'0 ';
5. การแปลงระหว่างคลาสวันที่และชนิดข้อมูลอื่น ๆ <br /> ไม่มีการติดต่อโดยตรงระหว่างจำนวนเต็มและคลาสวันที่ คุณสามารถใช้ประเภท INT เพื่อแสดงถึงปีเดือนวันชั่วโมงชั่วโมงนาทีและวินาทีตามลำดับดังนั้นจึงมีการจัดสรรการติดต่อระหว่างทั้งสอง เมื่อทำการแปลงนี้คุณสามารถใช้สามรูปแบบของตัวสร้างคลาสวันที่:
วันที่ (ปี int, เดือน int, วันที่ int): ประเภท int แสดงถึงปีเดือนและวันที่ (ปี int, เดือน int, วันที่ int, int hrs, int min): ประเภท int แสดงถึงปี, เดือน, วัน, ชั่วโมง, วันที่และวันที่ int, เดือน int, int, int, int min, int sec)
มีการติดต่อที่น่าสนใจระหว่างจำนวนเต็มยาวและคลาสวันที่ซึ่งเป็นตัวแทนของเวลาเป็นจำนวนมิลลิวินาทีตั้งแต่ 0:00:00 น. GMT ในวันที่ 1 มกราคม 1970 สำหรับการติดต่อนี้คลาสวันที่ยังมีตัวสร้างที่สอดคล้องกัน: วันที่ (วันที่ยาวนาน)
รับปีเดือนวันชั่วโมงนาทีที่สองและสัปดาห์ในชั้นเรียนวันที่ คุณสามารถใช้ getYear (), getMonth (), getDate (), getHours (), getMinutes (), getSeconds (), getDay () และคุณสามารถเข้าใจได้ว่าเป็นการแปลงคลาสวันที่เป็น int
วิธี getTime () ของคลาสวันที่สามารถรับหมายเลขจำนวนเต็มยาวที่สอดคล้องกับเวลาที่เรากล่าวถึงก่อนหน้านี้ เช่นเดียวกับคลาส wrapper คลาสวันที่ยังมีวิธี toString () ที่สามารถแปลงเป็นคลาสสตริง
บางครั้งเราต้องการรับรูปแบบเฉพาะวันที่เช่น 20020324 เราสามารถใช้วิธีการต่อไปนี้ก่อนแนะนำก่อนที่จุดเริ่มต้นของไฟล์
นำเข้า java.text.simpledateFormat; นำเข้า Java.util.*; java.util.date วันที่ = ใหม่ java.util.date (); // หากคุณต้องการได้รูปแบบของ yyyymmdd simpledateFormat sy1 = new SimpledateFormat ("yyyymmdd"); String DateFormat = SY1.Format (วันที่); // หากคุณต้องการได้รับปีเดือนวัน SimpledateFormat SY = New SimpledateFormat ("yyyy"); SimpledateFormat SM = new SimpledateFormat ("MM"); SimpledateFormat SD = ใหม่ SimpleDateFormat ("DD"); สตริง syear = sy.format (วันที่); String smon = sm.format (วันที่); String sday = sd.format (วันที่);หากต้องการดูไวยากรณ์ Java เพิ่มเติมคุณสามารถติดตามได้: "การคิดในคู่มือจีน Java", "JDK 1.7 คู่มือการอ้างอิงอย่างเป็นทางการภาษาอังกฤษ", "JDK 1.6 API Java คู่มืออ้างอิงจีน", "JDK 1.5 API Java คู่มืออ้างอิงจีน" ฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น