Java 101 Tutorial - "Hello World"
Category : Java 101 Tutorial

Java 101 Tutorial เหมาะสำหรับคนที่มีพื้นฐานในการเขียนโปรแกรมมาบ้างนิดหน่อย แล้วอยากจะฝึกภาษา Java เพื่อต่อยอดสู่ J2E หรือ Android Application Development

Java 101 – รู้จัก Java เพิ่มกันอีกสักนิด (Introduction) (EP.0)

Posted by arnondora on January 6th, 2016

ในปัจจุบัน ก็คงปฏิเสธไม่ได้ว่า ไม่มีใครที่ไม่รู้จักภาษายอดนิยมอย่าง Java เพราะตอนนี้เป็นภาษาที่ฮิตอยู่อันดับที่ 2 รองจาก Python กันเลยทีเดียว และหลาย ๆ คนก็อาจจะเคยเรียนมาบ้าง หรือกำลังใช้งานมันอย่างชำชองอย่างรุนแรง แต่พอไปถามคนบางคนก็ไม่รู้จริง ๆ ว่า การทำงานของมัน หรือ Concept เป็นอย่างไร วันนี้เราจะมาดูกันว่า Java แท้จริงแล้วมันคืออะไรกันแน่ Java คืออะไร ? ถ้าใครกำลังคิดว่ามันคือ กาแฟ ก็เออใช่ !!! จะบ้าเหรอ พูดถึง Java ในฝั่งของคอมพิวเตอร์ต่างหากเล่า ถ้ามีคนมาถามว่า Java คืออะไร เราจะตอบมันว่ายังไงดี ? จริง ๆ แล้วคำตอบก็ขึ้นอยู่กับว่า จะตอบว่ามันเป็นอะไรดี เพราะว่าตัว Java จริง ๆ แล้วมันไม่ใช่แค่ Programming Language เท่านั้นนะ เพราะว่ามันก็ยังเป็น Platform เหมือนกับ OS […]

Java Class – Random Class คลาสมหาสนุก

Posted by arnondora on March 11th, 2015

กลับมาอีกแล้ว อันนี้ก็ถามกันมาเยอะ นั่นคือเรื่องของ Random Class มันใช้ยังไง ทำอะไร เรื่องที่ว่ามันเอามาทำอะไรนั้นก็ไปอ่านชื่อ Class ซะว่ามันชื่ออะไร นั่นแหละคือสิ่งที่มันทำ ใช้ยังไง? ก่อนอื่นต้อง Import มันเข้ามาก่อน import java.util.Random; ทีนี้เราจะมาลอง Random Int กันแต่ก่อนอื่นเรามาสร้าง Object จาก Class Random กันก่อน Random rand = new Random (); ในการที่เราจะ Random ค่าตัวเลขมาสักค่านึงเราจะต้องเรียก Method ชื่อ nextInt() ใน Argument จะเป็น Bound (ขอบเขต) ของมันซึ่งจะตั้งแต่ 0 ถึงที่เราป้อนลงไป แต่ถ้าไม่ใส่มันจะเอาเลขอะไรมาให้เราก็ได้ for (int i = 1;i<=20;i++) { System.out.println(rand.nextInt(20)+1); } […]

Java Class – DecimalFormat เขียนแม่มก่อนวันสอบนี่แหละ

Posted by arnondora on March 11th, 2015

พรุ่งนี้จะสอบ เจแว้ แล้วเห็นหลายคนถามเยอะมากว่า DecimalFormat มันคืออะไรแว้ๆๆ วันนี้จะมาตอบให้อ่านกัน จริงๆแล้วเจ้า DecimalFormat เป็น Class นึงที่อยู่ในภาษา Java ที่ช่วยให้เราจัดการกับตัวเลขทศนิยมได้ง่ายขึ้น ก่อนอื่น ก่อนจะใช้เราจะต้อง Import Class เข้ามาก่อน Import java.text.DecimalFormat D ใหญ่ F ใหญ่นะเหวย อย่าเขียนผิด เขียนผิดตัวแดง Compile ไม่ผ่านเลยนะเหวย!!! ทีนี้มาถึงวิธีการใช้ มันง่ายมากๆ แค่เรา New มันขึ้นมาเหมือนกับ Object ทั่วๆไป DecimalFormat df = new DecimalFormat(); df.applyPattern(“0.00”); หลังจากที่ผมสร้างมันออกมาเป็น Object แล้ว ก็เรียกใช้ Method ชื่อ applyPattern() เพื่อใส่รูปแบบให้กับมัน ถามต่อว่าทำไมต้องเป็น 0.00 ล่ะ? นั่นเพราะว่าผมต้องการทศนิยม 2 ตำแหน่งนั่นเองเช่นจาก […]

Java 101 : Pattern Class (Class ฟรุ้งฟริ้ง.. :~ มึนทั้งตำบล )

Posted by arnondora on January 18th, 2015

วันนี้ก็กลับมาอีกแล้ว วันนี้อยากมาเอง ไม่มีใครจุดธูปเรียก เฮ้ยไม่ใช่ เข้าเรื่องดีกว่า ช่วงนี้ก็เปิดเทอมแล้วก็เลยทำโจทย์อะไรหน่อย พอดีไปเจอโจทย์ข้อนึงใน Google Code Jam แล้วนั่งแก้อยู่ประมาณ 2 ชม. ได้ และก็ทำให้ได้คิดถึง Class ที่จะพูดในวันนี้นั่นคือ Pattern Class Regular Expression คืออะไร? ก่อนจะไปถึง Pattern Class ก่อนอื่นขออธิบายก่อนว่า Regular Expression หรือ Regex คืออะไร ง่ายๆแล้วมันคือการบอกรูปแบบของข้อความ เช่น a* มันอาจจะแปลว่า aa หรือ aaa ไปได้เรื่อยๆ หรือจะเป็น ab ก็อาจจะแปลว่า aabb abb ไปเรื่อยๆ ซึ่งมันก็มีนอกจากเครื่องหมายดอกจันทร์อีก ซึ่งไม่ขอพูด เราจะมาลองเล่นกันคร่าวๆ เราจะป้อน String เข้าไปอันนึง แล้วก็ String อีกอันที่เป็น Pattern String in_str […]

Java 101 : Java Collection Framework

Posted by arnondora on January 9th, 2015

 Java Collection Framework คืออะไร? ง่ายๆไม่คิดมาก มันคือ Class และ Interface ที่อยู่ใน Package java.util.*  ซึ่งโดยพื้นฐานแล้วไม่ว่าจะ Collection ชนิดไหน มันก็เก็บข้อมูลหลายๆอย่างมาเก็บอยู่ในตัวแปรอันเดียวเท่านั้นเอง บ้างอันเก็บซ้ำมาได้ บางอันเก็บได้ อันนี้ก็แล้วแต่ประเภทของ Collection จากรูปข้างบนสรุปเอาง่ายๆ  เราจะแยกมันออกเป็น Interface และ Class ก่อน (ถ้าใครไม่รู้ว่า Interface คืออะไร เชิญไปอ่าน EP.8 ก่อนเลยนะครับ ไม่งั้นอาจจะเกิดอาการมึนงงและเลิกอ่านในที่สุด) Interface จะประกอบไปด้วย Collection Set List Map ส่วน Class ก็จะมีย่อยๆ ประมาณข้างล่างนี้ ย้ำว่าประมาณนะ เพราะว่ามันมีเยอะมาก HashSet ArrayList Vector Linked List Hash Map ถัดมาเราจะมาดูว่า Class ไหน Implement […]

Java 101 – ว่าด้วย Thread (EP. พิเศษอีกแล้ว เพราะคนเขียนอยากเขียน)

Posted by arnondora on January 3rd, 2015

วันนี้ก็อยากเขียนอีกแล้ว เรื่องนี้มีหลายคนถามอยู่เหมือนกันว่า ทำยังไง วันนี้ผมเลยจะมาพูดถึงมันกัน นั่นคือเรื่องของ Thread นั่นเอง Thread คืออะไร? มันคือการทำงานหลายๆงานพร้อมๆกัน ถ้าเราเขียนปกติ มันก็จะทำงานจากบนลงล่าง แต่ถ้าเราเขียนโปรแกรมให้มันทำงานแบบ Multitasking ก็จะทำให้โปรแกรมของเรานั่นมีประสิทธิภาพมากขึ้น ซึ่งใน Java ที่เป็นภาษาที่เจ๋ง คือเราสามารถกำหนดให้ Object ของ Class อะไรก็ได้ ทำงานแบบ thread หรือนั่นก็คือ ทำพร้อมกันนั่นเอง ซึ่งใน Java เราก็มีหลายวิธีในการทำงานกับ Object Thread แต่วันนี้ขอแค่ยกตัวอย่างมาสักวิธีนึงก่อนล่ะกัน public static void startThread (final String name) { Runnable runner = new Runnable () { }; } แล้วใน Method startThread ผมจะ Implement Interface […]

Java 101 – StringTokenizer (EP.พิเศษ เพราะคนเขียนอยากเขียน)

Posted by arnondora on January 1st, 2015

อันนี้อยากเขียนเป็นพิเศษ ไม่มีอะไรมาก อยากเขียนเฉยๆ OK เข้าใจตรงกันนะ มาเข้าเรื่องกันเลยดีกว่า StringTokenizer มันจะทำหน้าที่ในการแบ่ง String ออกเป็นส่วนๆตามที่เราบอกมัน โดยมันจะอยู่ใน Package java.util.StringTokenizer วิธีใช้คือ ต้องสร้าง Object StringTokenizer ขึ้นมาก่อน ก็ปกติเลย StringTokenizer st = new StringTokenizer (String,delim); โดยที่ String ก็คือข้อความที่เราต้องการแยกมัน ส่วน delim คือเครื่องหมาย หรือสัญลักษณ์ที่ใช้แยก เช่น (,) , (?) , (.) เป็นต้น (จริงๆแล้วถ้าเราใช้ Space ในการแยก ไม่จำเป็นต้องใส่ delim ก็ได้นะ) เรามาลองใช้กันดีกว่า เราจะให้ User ป้อนข้อความเข้ามา แล้วให้มันแยกด้วย ช่องว่างกันดีกว่า import java.util.Scanner; import java.util.StringTokenizer; ก่อนอื่นเราก็ import library […]

Java 101 – File I/O (EP.10) (The End)

Posted by arnondora on December 29th, 2014

เรื่องสุดท้ายแล้วนะครับ วันนี้กับเรื่องของ File I/O เป็นเรื่องของการ เขียน อ่านไฟล์ นั่นเอง เรื่องนี้ไม่ยาก แล้วก็สนุกด้วย มาดูกันเลย File Class คืออะไร? File Class มันเป็น Class หนึ่งที่อยู่ใน Package Java.io (เพราะฉะนั้นการอ่านเขียนทุกครั้งต้อง Import มันเข้ามาด้วย อย่าลืมล่ะ!!) ในคลาสมันจะประกอบไปด้วย Method ที่จะช่วยให้เราทำงานกับไฟล์ได้ วิธีใช้คือ File filename = new File(Path); ซึ่งอย่างทื่บอกว่ามันจะมี Method อยู่ มันจะมี Method บางตัวที่เราควรจะรู้ canRead() – ไว้เช็คว่าไฟล์นี้อ่านได้มั้ย canWrite() – เหมือน canRead แต่ตรงข้ามกัน อันนี้เช็คเขียน exist()  – อันนี้ไว้เช็คว่าไฟล์ที่เราอ้างถึงมันมีอยู่จริงมั้ย getName() – ไว้เวลาที่เราต้องการชื่อไฟล์ […]

Java 101 – Abstract & Interface (EP.8)

Posted by arnondora on December 28th, 2014

เมื่อวานเราได้เรียนเรื่องของ สมบัติหนึ่งของ OOP นั่นคือ Inheritance และ Encapsulation ไปแล้ว วันนี้เราจะมาต่อยอดมันนิดหน่อย นั่นคือเรื่องของ Abstract และ Interface เอาทีละเรื่องล่ะกันเนอะ! Abstract เป็นหนึ่งในคุณสมบัติของ OOP ที่ให้เราสร้าง Class ที่มี Attribute,Method ขึ้นมาลอยๆเลย ทำอะไรไม่ได้เลย เรื่องนี้มันจะค่อนข้าง งง เอาเรื่องอยู่เหมือนกัน เอาง่ายๆเลยนะครับ ถ้าเราสร้าง Abstract Class ขึ้นมาแปลว่าเราจะนำ Class นี้มาสร้างเป็น Object ไม่ได้ แต่เราสามารถทำให้มันเป็น Class แม่ได้ (หรือนั่นคือสืบทอดได้นั่นเอง) จบนี่คือ Abstract Class ต่อไปเป็นเรื่องของ Syntax Syntax มันไม่มีอะไรเลย แคเติมคำว่า abstract ไว้หลัง modifier ตอนสร้าง Class เช่น public abstract class Employee { […]

Java 101 – Inheritance & Encapsulation (EP.7)

Posted by arnondora on December 27th, 2014

คำเตือน!! เรื่องที่จะอธิบายในวันนี้นั้นจะใช้ความรู้ของเรื่อง OOP ค่อนข้างเยอะ เพราะฉะนั้นถ้าใครยังมึนงงกับเรื่องนี้อยู่ โปรดกลับไปอ่านเรื่อง OOP101 ก่อนที่จะมาเรียน เรื่องนี้นะครับ ปล. นี่คือเขียนรอบ 2 แล้ว รอบแรก Save ไว้หายหมดเลย TT… อาจจะชุ่ยหน่อยนะครับ ใครที่อ่านมาแล้ว เชิญทางนี้เลย วันนี้เราจะมาพูดถึงสมบัตินึงของ OOP ที่เราเรียกว่า Inheritance และ Encapsulation เอาที่ล่ะอัน Inheritance หรือภาษาไทยเรียกตามตัวเลยว่า การสืบทอด -> มันคือการที่ Class นั้นสืบทอดมาจากอีก Class นึงโดยที่เราจะได้ Class ใหม่ที่มี Attribute และ Method ที่เหมือน Class แม่ทุกประการและเรายังสามารถเพิ่ม Attribute และ Method ได้อีกด้วย ถ้ามองภาพไม่ออกอีกดูนี่ public class animal { String name; public void walk () { System.out.println(“I’m […]