บทช่วยสอนJava

Java HOME Java Intro Java เริ่มต้น Java Syntax ความคิดเห็นของ Java ตัวแปร Java Java Data Types การหล่อแบบจาวา ตัวดำเนินการ Java Java Strings Java Math Java Booleans Java If...Else Java Switch Java ในขณะที่ลูป Java สำหรับลูป Java Break/ต่อ Java Arrays

เมธอดของจาวา

เมธอดของจาวา พารามิเตอร์เมธอด Java วิธี Java โอเวอร์โหลด ขอบเขต Java Java Recursion

คลาส Java

Java OOP Java Classes/Objects คุณสมบัติคลาส Java วิธีการคลาส Java Java Constructors Java Modifiers การห่อหุ้มด้วยจาวา แพ็คเกจ Java / API มรดกจาวา Java Polymorphism Java Inner Classes Java Abstraction อินเทอร์เฟซ Java Java Enums อินพุตผู้ใช้ Java Java วันที่ Java ArrayList Java LinkedList Java HashMap Java HashSet Java Iterator คลาส Java Wrapper ข้อยกเว้น Java Java RegEx Java Threads จาวา แลมบ์ดา

การจัดการไฟล์ Java

ไฟล์ Java Java สร้าง/เขียนไฟล์ Java อ่านไฟล์ Java ลบไฟล์

Java ฮาวทู

เพิ่มสองตัวเลข

Java Reference

คีย์เวิร์ด Java เมธอด Java String Java Math Methods

ตัวอย่าง Java

ตัวอย่าง Java Java Compiler แบบฝึกหัด Java Java Quiz ใบรับรอง Java


การหล่อแบบจาวา


การหล่อแบบจาวา

การหล่อแบบคือเมื่อคุณกำหนดค่าของประเภทข้อมูลพื้นฐานหนึ่งให้กับอีกประเภทหนึ่ง

ใน Java การแคสต์มีสองประเภท:

  • Widening Casting (อัตโนมัติ) - แปลงประเภทที่เล็กกว่าเป็นขนาดที่ใหญ่กว่า
    byte-> short-> char-> int-> long-> float->double

  • การหล่อแบบแคบ (ด้วยตนเอง) - การแปลงประเภทที่ใหญ่กว่าเป็นประเภทที่เล็กกว่า
    double-> float-> long-> int-> char-> short->byte

ขยับขยายหล่อ

การหล่อแบบขยายจะกระทำโดยอัตโนมัติเมื่อส่งประเภทขนาดที่เล็กกว่าไปยังประเภทที่ใหญ่กว่า:

ตัวอย่าง

public class Main {
  public static void main(String[] args) {
    int myInt = 9;
    double myDouble = myInt; // Automatic casting: int to double

    System.out.println(myInt);      // Outputs 9
    System.out.println(myDouble);   // Outputs 9.0
  }
}


การหล่อแบบแคบ

การหล่อแบบแคบจะต้องดำเนินการด้วยตนเองโดยวางประเภทในวงเล็บไว้ข้างหน้าค่า:

ตัวอย่าง

public class Main {
  public static void main(String[] args) {
    double myDouble = 9.78d;
    int myInt = (int) myDouble; // Manual casting: double to int

    System.out.println(myDouble);   // Outputs 9.78
    System.out.println(myInt);      // Outputs 9
  }
}