Basic Java Programming
หลักสูตร Basic Java Programming เป็นการอบรมภาษา Java 25 สำหรับผู้ที่เขียนโปรแกรมเป็นแล้ว ครอบคลุม OOP, Record, Pattern Matching, Collections, Stream API, Unit Test, ฐานข้อมูลด้วย JDBC และ Virtual Threads เหมาะกับนักพัฒนาที่ถนัด PHP, JavaScript หรือ Python และผู้ที่เตรียมต่อยอดสู่ Spring Boot
- ระยะเวลา18 ชั่วโมง · 3 วัน
- รูปแบบออนไซต์ / ออนไลน์สด
- รอบถัดไปเปิดตามคำขอ
- ใบรับรองมี Certificate
ภาพรวมหลักสูตร
Java ยังเป็นภาษาหลักของระบบองค์กร ธนาคาร และงาน Backend จำนวนมาก แต่ตัวภาษาเปลี่ยนไปมากในช่วงหลายปีที่ผ่านมา ตำราและตัวอย่างเก่าจำนวนมากยังสอนแบบ Java 8 ที่ต้องเขียนโค้ดยาว ไม่มี Record, Pattern Matching หรือ Virtual Threads ผู้ที่เคยเขียน PHP, JavaScript, Python หรือ C# มาก่อนจึงมักเสียเวลากับโค้ดแบบเก่าแทนที่จะได้ใช้ภาษาในแบบที่ทีมพัฒนาใช้กันจริงในปัจจุบัน
หลักสูตรนี้พาผู้ที่เขียนโปรแกรมเป็นแล้วเรียน Java 25 ซึ่งเป็นรุ่น LTS ตั้งแต่ติดตั้ง JDK และ IDE ไวยากรณ์ที่ต่างจากภาษาที่เคยใช้ การเขียนโปรแกรมเชิงวัตถุ Record, Enum, Sealed Interface และ Pattern Matching ต่อด้วย Generics, Collections, Lambda และ Stream API การจัดการ Exception ไฟล์ วันที่ และ JSON จัดโปรเจกต์ด้วย Maven พร้อมเขียน Unit Test ด้วย JUnit 6 จากนั้นเชื่อมต่อฐานข้อมูลด้วย JDBC เขียนงานพร้อมกันด้วย Virtual Threads และเรียก REST API ด้วย HttpClient ปิดท้ายด้วย Capstone สร้างแอปที่ใช้ทุกเรื่องที่เรียนมา (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Beginner)
สิ่งที่คุณจะได้รับ
- ติดตั้งและใช้งาน JDK 25 LTS, IDE และ Maven สำหรับโปรเจกต์ Java ได้
- เขียน Java ด้วยหลัก OOP ทั้ง Class, Inheritance, Interface และ Polymorphism
- ใช้ Record, Enum, Sealed Interface และ Pattern Matching เขียนโค้ดที่สั้นและอ่านง่าย
- เลือกโครงสร้างข้อมูลจาก Collections Framework และประมวลผลด้วย Stream API ได้
- จัดการ Exception ทำงานกับไฟล์ วันที่ และ JSON ได้อย่างถูกต้อง
- เขียน Unit Test ด้วย JUnit 6 และเชื่อมต่อฐานข้อมูลด้วย JDBC อย่างปลอดภัย
- เขียนงานพร้อมกันด้วย Virtual Threads และเรียก REST API ด้วย HttpClient
หลักสูตรนี้เหมาะสำหรับ
- นักพัฒนาที่เขียน PHP, JavaScript, Python, C# หรือภาษาอื่นอยู่แล้ว และต้องการเริ่มใช้ Java
- ผู้ที่เคยเรียน Java รุ่นเก่าและต้องการอัปเดตเป็น Java สมัยใหม่
- นักศึกษาและนักไอทีที่เตรียมต่อยอดไปสู่ Spring Boot หรืองาน Backend ด้วย Java
- ทีมพัฒนาที่ต้องดูแลหรือเชื่อมต่อกับระบบที่เขียนด้วย Java
พื้นฐานของผู้เข้าอบรม
- เขียนโปรแกรมได้อย่างน้อยหนึ่งภาษา เช่น PHP, JavaScript, Python, C#, C หรือ Visual Basic
- เข้าใจตัวแปร เงื่อนไข ลูป และฟังก์ชัน และรู้จักแนวคิดเชิงวัตถุมาบ้าง
- ใช้คำสั่ง SQL พื้นฐาน เช่น SELECT และ INSERT ได้จะช่วยให้เรียนช่วงฐานข้อมูลได้เร็วขึ้น
- ถ้ายังไม่เคยเขียนโปรแกรมมาก่อน แนะนำหลักสูตร Java for Non-Programmers แทน
- โน้ตบุ๊กที่ติดตั้ง JDK, IDE และ Docker Desktop ได้ พร้อมสิทธิ์ติดตั้งโปรแกรม
หัวข้อการฝึกอบรม
รายละเอียดหลักสูตร
หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ที่มาแทนหลักสูตร Basic Java Programming รุ่นเดิม เนื้อหาเขียนใหม่ทั้งหมดสำหรับ Java 25 LTS อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab ทุกหัวข้อ ระดับ Beginner สำหรับผู้ที่เขียนโปรแกรมภาษาอื่นเป็นแล้ว ตัดหัวข้อ Swing, RMI และ Serialization ออก แล้วเพิ่ม Record, Sealed Interface, Pattern Matching, Stream API, Maven, JUnit 6, JDBC, Virtual Threads และ HttpClient ผู้ที่ยังไม่เคยเขียนโปรแกรมมาก่อนแนะนำหลักสูตร Java for Non-Programmers ที่เน้นการคิดแบบโปรแกรมเมอร์ตั้งแต่ศูนย์
Day 1 ภาษา Java สมัยใหม่และ OOP
Section 1: Lab: เริ่มต้น Java 25 LTS และเครื่องมือ
- JDK, JVM และ Bytecode ทำงานร่วมกันอย่างไร และรอบการออกรุ่น LTS ของ Java
- ติดตั้ง JDK 25 และตั้งค่า IntelliJ IDEA หรือ VS Code
- ทดลองคำสั่งด้วย jshell และรันไฟล์ .java ได้ทันทีโดยไม่ต้องคอมไพล์แยก
- Compact Source Files และ Instance main method สำหรับโปรแกรมสั้น
- Lab: โปรแกรมแรกแบบสั้นเทียบกับแบบ Class เต็มรูปแบบ
Section 2: ไวยากรณ์ Java เทียบกับภาษาที่เคยเขียน
- Primitive Type กับ Reference Type, var และการแปลงชนิดข้อมูล
- String, Text Block และการจัดรูปแบบข้อความด้วย formatted()
- if, ลูป และ switch แบบ Expression ที่คืนค่าได้
- Method, Overloading และการส่งค่าแบบ Pass by Value
- Lab: แปลงโปรแกรมสั้นจากภาษาที่ถนัดมาเป็น Java
Section 3: Class, Object และ Encapsulation
- Field, Method, Constructor และคีย์เวิร์ด this
- static, final และ Access Modifier
- Package และการจัดโครงสร้างโค้ดในโปรเจกต์
- Flexible Constructor Bodies สำหรับตรวจค่าก่อนเรียก super()
- Lab: Class บัญชีลูกค้าที่ตรวจความถูกต้องของข้อมูลเอง
Section 4: Inheritance, Interface และ Polymorphism
- extends, Override และ super
- Abstract Class กับ Interface และ Default Method
- Sealed Class และ Sealed Interface เพื่อจำกัดชนิดลูก
- Polymorphism และหลักการเลือก Composition แทน Inheritance
- Lab: ระบบคำนวณค่าจัดส่งหลายรูปแบบด้วย Interface
Section 5: Lab: Record, Enum และ Pattern Matching
- Record สำหรับเก็บข้อมูลแบบ Immutable แทน Class ที่ต้องเขียน Getter เอง
- Enum ที่มี Field และ Method
- Pattern Matching กับ instanceof และ switch
- Record Pattern และ Unnamed Variable (_)
- Lab: จัดการคำสั่งซื้อหลายสถานะด้วย Sealed Interface และ switch
Day 2 Collections, Stream API และคุณภาพโค้ด
Section 6: Generics และ Collections Framework
- Generics และเหตุผลที่ช่วยลดข้อผิดพลาดของชนิดข้อมูล
- List, Set และ Map พร้อมเลือก ArrayList, HashSet, HashMap หรือ TreeMap ให้ถูกงาน
- Sequenced Collections กับ getFirst(), getLast() และ reversed()
- Collection แบบแก้ไขไม่ได้ด้วย List.of() และ Map.of()
- Lab: ระบบตะกร้าสินค้าที่ใช้ Collection หลายแบบ
Section 7: Lab: Lambda, Stream API และ Optional
- Functional Interface, Lambda และ Method Reference
- Stream: filter, map, sorted และ collect
- จัดกลุ่มและสรุปข้อมูลด้วย Collectors.groupingBy
- Optional สำหรับค่าที่อาจไม่มีอยู่แทนการคืน null
- Lab: สรุปยอดขายตามหมวดสินค้าจากรายการคำสั่งซื้อ
Section 8: Exception, Logging และ Debugging
- Checked กับ Unchecked Exception และเมื่อไรควรใช้แต่ละแบบ
- try-with-resources และการสร้าง Exception ของตัวเอง
- อ่าน Stack Trace และใช้ Debugger ของ IDE
- บันทึก Log ด้วย System.Logger แทนการพิมพ์ด้วย println
- Lab: เพิ่มการจัดการ Error ให้ระบบตะกร้าสินค้า
Section 9: Lab: ไฟล์ วันที่ และ JSON
- อ่านเขียนไฟล์ด้วย Path และ Files แบบ NIO.2
- อ่านไฟล์ CSV ทีละบรรทัดแล้วแปลงเป็น Record
- วันที่และเวลาด้วย java.time: LocalDate, LocalDateTime และ ZonedDateTime
- แปลง Object เป็น JSON และกลับด้วยไลบรารี Jackson
- Lab: นำเข้าข้อมูลสินค้าจาก CSV แล้วส่งออกเป็น JSON
Section 10: Lab: Maven และ Unit Test ด้วย JUnit 6
- โครงสร้างโปรเจกต์ Maven, pom.xml และการเพิ่ม Dependency
- คำสั่ง Build ที่ใช้บ่อย: compile, test และ package
- เขียน Test ด้วย JUnit 6 และ Assertion ที่อ่านง่ายด้วย AssertJ
- Parameterized Test สำหรับทดสอบหลายกรณีในครั้งเดียว
- Lab: เขียน Test ให้ส่วนคำนวณราคาและส่วนลด
Day 3 ฐานข้อมูล งานพร้อมกัน และ Capstone
Section 11: Lab: เชื่อมต่อฐานข้อมูลด้วย JDBC
- รัน PostgreSQL ด้วย Docker และเพิ่ม JDBC Driver ผ่าน Maven
- Connection, PreparedStatement และ ResultSet
- ป้องกัน SQL Injection ด้วย Parameter แทนการต่อข้อความ
- Transaction และการแยกโค้ดฐานข้อมูลเป็น Repository
- Lab: บันทึกและค้นหาข้อมูลสินค้าในฐานข้อมูล
Section 12: งานพร้อมกันด้วย Thread และ Virtual Threads
- Thread, Runnable และปัญหา Race Condition
- ExecutorService และ CompletableFuture
- Virtual Threads สำหรับงานที่รอ I/O จำนวนมาก
- ป้องกันข้อมูลเสียหายด้วย Lock และ ConcurrentHashMap
- Lab: ประมวลผลไฟล์หลายไฟล์พร้อมกันแล้วรวมผลลัพธ์
Section 13: Lab: เรียก REST API ด้วย HttpClient
- HttpClient, HttpRequest และ HttpResponse ในไลบรารีมาตรฐาน
- เรียก API แบบ Synchronous และ Asynchronous
- แปลง JSON ที่ได้รับเป็น Record ด้วย Jackson
- จัดการ Timeout, Status Code และ Error จาก API ภายนอก
- Lab: ดึงอัตราแลกเปลี่ยนหรือข้อมูลสาธารณะมาใช้ในโปรแกรม
Section 14: แพ็กเกจแอปและเส้นทางต่อยอด
- สร้างไฟล์ JAR ที่รันได้ด้วย Maven
- ตั้งค่าแอปผ่าน Environment Variable และไฟล์ properties
- ภาพรวมการนำแอป Java ขึ้น Docker
- เส้นทางต่อยอดสู่ Spring Boot, Jakarta EE และงาน Backend
Section 15: Workshop: Capstone ระบบจัดการคลังสินค้า
- ออกแบบ Record, Interface และ Repository ของระบบ
- นำเข้าข้อมูลจาก CSV และบันทึกลง PostgreSQL ด้วย JDBC
- สร้างรายงานสรุปด้วย Stream API และส่งออกเป็น JSON
- เขียน Unit Test ให้ส่วนสำคัญและแพ็กเกจเป็นไฟล์ JAR
- นำเสนอผลงาน รีวิวโค้ดร่วมกัน และสรุปแนวทางต่อยอด
รอบอบรมและรูปแบบการอบรม
สำหรับบุคคล — รอบอบรมทั่วไป
ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770
สำหรับองค์กร — In-house / Private Training
- ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
- เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
- ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
วิทยากรผู้สอน
คำถามที่พบบ่อย
List Set และ Map ใน Java ต่างกันอย่างไร
List เก็บข้อมูลเรียงตามลำดับและมีค่าซ้ำได้ เข้าถึงด้วยตำแหน่ง เช่น ArrayList ส่วน Set เก็บเฉพาะค่าที่ไม่ซ้ำกัน เหมาะกับการตัดค่าซ้ำ เช่น HashSet และ Map เก็บข้อมูลเป็นคู่ key กับ value โดย key ห้ามซ้ำ เหมาะกับการค้นหาจากรหัส เช่น HashMap ใน Java รุ่นใหม่มี Sequenced Collections ที่เรียก getFirst() และ reversed() ได้กับ Collection ที่มีลำดับ และสร้าง Collection แบบแก้ไขไม่ได้ด้วย List.of() หรือ Map.of()
เริ่มเขียนและรันโปรแกรม Java แรกต้องทำอย่างไร
ติดตั้ง JDK 25 แล้วตรวจด้วยคำสั่ง java -version จากนั้นเขียนไฟล์ Hello.java ใน Java 25 เขียนแบบสั้นได้ด้วย Compact Source Files คือมีแค่ void main() ที่เรียก IO.println("Hello") โดยไม่ต้องประกาศ Class และรันด้วยคำสั่ง java Hello.java ได้ทันทีโดยไม่ต้องคอมไพล์แยก เมื่อโปรแกรมใหญ่ขึ้นจึงใช้ Class เต็มรูปแบบ จัด Package และ Build ด้วย Maven ซึ่งเป็นหัวข้อในหลักสูตร
Virtual Threads ใน Java คืออะไร ต่างจาก Thread แบบเดิมอย่างไร
Thread แบบเดิมผูกกับ Thread ของระบบปฏิบัติการ ใช้หน่วยความจำมาก จึงสร้างได้จำนวนจำกัด ส่วน Virtual Threads ซึ่งเป็นฟีเจอร์มาตรฐานตั้งแต่ Java 21 เป็น Thread ขนาดเบาที่ JVM จัดการเอง สร้างได้เป็นจำนวนมาก เหมาะกับงานที่ต้องรอ I/O เช่น เรียก API หรือฐานข้อมูล โดยยังเขียนโค้ดแบบลำดับขั้นปกติได้ แต่เมื่อหลาย Thread ใช้ข้อมูลร่วมกันก็ยังต้องป้องกันข้อมูลเสียหายด้วย Lock หรือ Collection ที่ปลอดภัยต่อการทำงานพร้อมกัน
หลักสูตร Basic Java Programming เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน
เหมาะกับนักพัฒนาที่เขียน PHP, JavaScript, Python, C# หรือภาษาอื่นอยู่แล้วและต้องการเริ่มใช้ Java ผู้ที่เคยเรียน Java รุ่นเก่าและต้องการอัปเดต รวมถึงผู้ที่เตรียมต่อยอดไปสู่ Spring Boot ควรเขียนโปรแกรมได้อย่างน้อยหนึ่งภาษาและเข้าใจตัวแปร เงื่อนไข ลูป และฟังก์ชัน ถ้ายังไม่เคยเขียนโปรแกรมมาก่อน แนะนำหลักสูตร Java for Non-Programmers ที่เริ่มจากการคิดแบบโปรแกรมเมอร์
เรียนจบหลักสูตร Basic Java Programming แล้วทำอะไรได้บ้าง
เขียน Java 25 ด้วยหลัก OOP และใช้ Record, Sealed Interface และ Pattern Matching ได้ เลือก Collection และประมวลผลข้อมูลด้วย Stream API จัดการ Exception ทำงานกับไฟล์ วันที่ และ JSON จัดโปรเจกต์ด้วย Maven เขียน Unit Test ด้วย JUnit 6 เชื่อมต่อฐานข้อมูลด้วย JDBC อย่างปลอดภัย ใช้ Virtual Threads และเรียก REST API ด้วย HttpClient ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้
จัดอบรมหลักสูตร Basic Java Programming ให้ทีมในองค์กรได้ไหม
ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น ใช้โจทย์ที่ใกล้กับข้อมูลหรือระบบงานขององค์กร หรือเน้นการอัปเดตจาก Java รุ่นเก่าที่ทีมใช้อยู่ ขอใบเสนอราคาได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449

