เฉลย แบบฝึกหัด การเขียนโปรแกรมภาษาจาวา

การเขียนโปรแกรมภาษาจาวา

เลือกไซต์นี้

  • หน้าแรก
  • การแนะนำภาษาจาวา
  • โครงสร้างภาษาจาวา
  • โปรแกรมภาษาเชิงวัตถุ
  • เริ่มใช้ภาษาจาวา
  • ประวัติและขั้นตอนการพัฒนาโปรแกรมภาษาจาวา
  • แบบทดสอบ

การนำทาง

  • หน้าแรก

  • การแนะนำภาษาจาวา

  • ประวัติและขั้นตอนการพัฒนาโปรแกรมภาษาจาวา

  • เริ่มใช้ภาษาจาวา

  • แบบทดสอบ

  • โครงสร้างภาษาจาวา

  • โปรแกรมภาษาเชิงวัตถุ

  • แผนผังเว็บไซต์

แบบทดสอบ

แบบทดสอบ

Comments

Sign inRecent Site ActivityReport AbusePrint PagePowered By Google Sites

Successfully reported this slideshow.

Your SlideShare is downloading. ×

Chapter 01 Introduction to Java Programming

เฉลย แบบฝึกหัด การเขียนโปรแกรมภาษาจาวา

Police (Deputy Inspector)

Chapter 01 Introduction to Java Programming

  1. 1. Introduction to Java Programming - 01 Computer Programming using Java 1 CHAPTER เริมต้นการเขียนโปรแกรมภาษาจาวา ่ 01 (Introduction to Java Programming) 1. แนวคิดการเขียนโปรแกรมภาษาจาวา (Java Programming Concept) 1. หลักการเขียนโปรแกรมคอมพิวเตอร์ การเขียนโปรแกรมคอมพิวเตอร์ ที่ดีและให้ ประมวลผลได้ อย่างถูกต้ องนันจะต้ องมีข้อปฏิบติ 2 ข้ อที่สําคัญ คือ ้ ั 1) เขียนให้ ถกต้ องตามหลักไวยากรณ์ (Syntax) ของภาษาคอมพิวเตอร์ ที่ใช้ ต้ องรู้องค์ประกอบของภาษา ู และชุดคําสังของภาษา ่ 2) เขียนให้ เป็ นระเบียบเรี ยบร้ อย สวยงาม และอ่านง่าย ฝึ กนิสยการเป็ นโปรแกรมเมอร์ ที่ดี ั 2. องค์ ประกอบหลักของโปรแกรมภาษาจาวา 1 public class HelloJava { 2 public static void main(String[] args) { ตัวอย่างโปรแกรมภาษาจาวา 3 System.out.println("Hello Java"); 4 } ขันพื ้นฐาน ้ 5 } องค์ประกอบของโปรแกรมภาษาจาวาแบบพื ้นฐานที่สดจะต้ องประกอบไปด้ วยองค์ประกอบ 3 ส่วนหลัก ได้ แก่ ุ 1) คลาส (Class) ใช้ เครื่ องหมายปี กกาในการบอกขอบเขตของคลาส 1 2 3 4 1 public class HelloJava { ปี กกาปิ ดต้ องเขียนตรงกับตัว p ของคําว่า public บนหัวคลาส 2 3 ชื่อคลาส นิยมขึ ้นต้ นด้ วยตัวพิมพ์ใหญ่ 4 คําหรื อคีย์เวิร์ดแต่ละคําต้ องมีการ 5 } ตัวพิมพ์ใหญ่และตัวพิมพ์เล็กมีความหมายไม่เหมือนกัน เว้ นช่องว่างอย่างน้ อย 1 ช่องว่าง 2) เมท็อด (Method) ใช้ เครื่ องหมายปี กกาในการบอกขอบเขตของเมท็อดซึงอยูซ้อน ่ ่ 1 2 3 4 เข้ าไปภายในขอบเขตของคลาสอีกชันหนึง ้ ่ 1 public class HelloJava { 2 public static void main(String[] args) { ปี กกาปิ ดต้ องเขียนตรงกับตัว 3 p ของคําว่า public บนหัว 4 } 5 } ชื่อเมท็อด นิยมขึ ้นต้ นด้ วยตัวพิมพ์เล็ก เมท็อด 3) คําสั่ง (Statement) 1 2 3 4 ขอบเขตของคําสังจะอยูซ้อนเข้ าไปภายในขอบเขตของเมท็อดอีกชันหนึง ่ ่ ้ ่ 1 public class HelloJava { 2 public static void main(String[] args) { 3 System.out.println("Hello Java"); 4 } คําสังแต่ละคําสังจะจบด้ วยเครื่ อง ่ ่ 5 } เมื่อจบ 1 คําสังควรขึ ้นบรรทัดใหม่ ่ หมายอัฒภาค (Semicolon) © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  2. 2. 2 Computer Programming using Java 01 - Introduction to Java Programming 3. องค์ ประกอบเพิ่มเติมของโปรแกรมภาษาจาวา ภายในโปรแกรมนอกจากจะมี 3 องค์ประกอบหลักแล้ ว ก็ยงมีสวนที่เรี ยกว่า “หมายเหตุ (Comment)” ซึงเป็ น ั ่ ่ ข้ อความหรื อคําบรรยายสันๆ ที่ใช้ สําหรับจดทันทึกรายละเอียดบางอย่างภายในโปรแกรมที่เขียนขึ ้น ดังตัวอย่าง ้ 1 public class HelloJava { หมายเหตุสามารถอยูบริเวณใด ่ 2 public static void main(String[] args) { 3 System.out.println("Hello Java"); หรื อบรรทัดใดของโปรแกรมก็ได้ 4 } // End of method 5 } /* End of class */ หมายเหตุจะมีปรากฏในโปรแกรมหรื อตัดออกไปก็ได้ โดยไม่มีผลต่อการทํางานของโปรแกรมแต่อย่างใด หมายเหตุในภาษาจาวามี 3 รูปแบบดังนี ้ 1. หมายเหตุแบบบรรทัดเดี่ยว (Single Line Comment) เช่น // Text ซึงมีความหมายว่าสิ่งใดก็ตามที่ ่ อยูหลังเครื่ องหมาย // ภายในบรรทัดเดียวกันนันจะเป็ นหมายเหตุทงหมด ่ ้ ั้ 2. หมายเหตุแบบหลายบรรทัด (Multiple Line Comment) เช่น /* Text */ ซึงมีความหมายว่าสิงใดก็ ่ ่ ตามที่อยูระหว่างเครื่ องหมาย /* กับ */ จะกี่บรรทัดก็ได้ จะเป็ นหมายเหตุทงหมด ่ ั้ 3. หมายเหตุสาหรับสร้ างแฟมเอกสารจาวา (Java Documentation Comment) เช่น /** Text */ มี ํ ้ ความหมายเหมือนกับหมายเหตุแบบที่สอง แต่ใช้ สําหรับการสร้ าง Java Document เท่านัน ้ โจทย์ ข้อที่ 1 [ระดับง่ าย] จงพิจารณาโปรแกรมภาษาจาวาต่ อไปนี ้ เขียนถูก ( ) หรื อผิด ( ) ตามหลัก ไวยากรณ์ ของภาษา และเขียนได้ สวยงาม ( ) หรื อไม่ สวยงาม ( ) (8 คะแนน) 1) public class TestTestTestTestTest { ไวยากรณ์ สวยงาม public static void main (String [] args) { System. out . println ("Test Java Programming") ; } } 2) Public class Test { ไวยากรณ์ สวยงาม Public static void main(String[] args) { System.out.print("Test Javan") } } 3) public class Test { public static void main(String args[]) { System.out.println("Test Java"); } //End of main ไวยากรณ์ สวยงาม } //End of class 4) public class Test { ไวยากรณ์ สวยงาม public static viod main(String[] args) { System.out.println("Test Java"); } } 5) public class Test Java { public static void main(String[] args) { ไวยากรณ์ สวยงาม System.err.println("Test Java"); } } 6) public class test { public static void main(String[] bank) { ไวยากรณ์ สวยงาม System.out.print("Test Java"); } } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  3. 3. Introduction to Java Programming - 01 Computer Programming using Java 3 7) public class Test ไวยากรณ์ สวยงาม { //Start Class public static void main(String args[]) { //Start Mathod System.out.println("Test Java"); } //End of Class } //End of Method 8) public class Test { ไวยากรณ์ สวยงาม public static void main(String[] arg) { /* System.out.println("Test Java"); */ } } โจทย์ ข้อที่ 2 [ระดับง่ าย] จงปิ ดบังโปรแกรมจากโจทย์ ข้อที่ 1 ให้ มิดชิดแล้ วจงเขียนโปรแกรมภาษาจาวา อย่ างง่ ายให้ ถูกต้ องสมบรณ์ และสวยงาม โดยมีคลาสชื่อ MyFirstJavaProgram เมท็อดชื่อ main และมี ู คําสั่ง 4 คําสั่ง ได้ แก่ คาสั่ง int x = 5 คําสั่ง double y = 3.10000001 คําสั่ง y = y + x และคําสั่ง ํ System.out.print("y = " + y + "n") (6 คะแนน) 1 2 3 4 4. รายละเอียดเบืองต้ นของ คลาส เมท็อด และ คําสั่ง ้ โปรแกรมภาษาจาวาจะต้ องประกอบด้ วยองค์ประกอบ 3 ส่วนหลัก คือ คลาส เมท็อด และคําสัง โดยมีนิยามอยูวา ่ ่่ 1) โปรแกรมหนึ่งโปรแกรมสามารถมีได้ หลายคลาส เช่น (ให้สงเกตุเพียงแค่วิธีการเขี ยนและขอบเขตของคําสัง) ั ่ 1 2 3 4 1 public class HelloJava { 2 public ... 3 } 4 class HiJava { คลาสแต่ละคลาสต่างก็ใช้ เครื่ องหมายปี กกาในการบอกขอบเขต 5 public ... ของคลาสนันๆ ้ 6 } class HeyJava { 7 8 public ... ั ์ คลาสแต่ละคลาสมีศกดิศรี เท่ากันจึงต้ องอยูในระดับเดียวกัน ่ 9 } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  4. 4. 4 Computer Programming using Java 01 - Introduction to Java Programming 2) คลาสหนึ่งคลาสสามารถมีได้ หลายเมท็อด เช่น (ให้สงเกตุเพียงแค่วิธีการเขี ยนและขอบเขตของคําสัง) ั ่ 1 2 3 4 1 public class HelloJava { 2 public static void main(String[] args) { เมท็อดแต่ละเมท็อดต่างก็ใช้ เครื่ อง 3 ... หมายปี กกาในการบอกขอบเขต 4 } 5 public int add(int x, int y) { ของเมท็อดนันๆ ซึงอยูซ้อนเข้ าไป ้ ่ ่ 6 ... ภายในขอบเขตของคลาสอีกชันหนึง ้ ่ 7 } 8 public static boolean check(double n) { 9 ... 10 } เมท็อดแต่ละเมท็อดมีศกดิ์ศรี เท่ากันจึงต้ องอยูในระดับเดียวกัน ั ่ 11 } 3) เมท็อดหนึ่งเมท็อดสามารถมีได้ หลายคําสั่ง เช่น (ให้สงเกตุเพียงแค่วิธีการเขี ยนและขอบเขตของคําสัง) ั ่ 1 2 3 4 คําสังแต่ละคําสังจะอยูซ้อนเข้ าไป ่ ่ ่ 1 public class HelloJava { ภายในขอบ เขตของเมท็อดอีก 2 public static void main(String[] args) { 3 int x = 5; ชันหนึง และถ้ าคําสังมีศกดิ์ ศรี ้ ่ ่ ั 4 while (x >= 0) { เท่ากันจะต้ องอยูในระดับเดียวกัน ่ 5 System.out.println(x); 6 x--; สังที่มีเพียงบรรทัดเดียวจะจบคําสังด้ วย ่ ่ 7 } 8 if (x == 0) { เครื่ องหมาย Semicolon 9 System.out.println(y); 10 } ระบบจะเริ่มประมวลผลคําสังแรกจนถึง ่ 11 System.out.print("End of Program"); คําสังสุดท้ ายจากบนลงล่าง ่ 12 } 13 } คําสังที่มีหลายบรรทัดหรื อที่เรี ยกว่าชุดคําสังจะกําหนดขอบเขตด้ วยเครื่ องหมายปี กกา ่ ่ 4) คําสั่งมีมากมายหลายรปแบบ เช่น (ให้สงเกตุเพียงแค่วิธีการเขี ยนและขอบเขตของคําสัง) ู ั ่ 1. คําสั่งกําหนดค่ า 1 2 3 4 1 public class HelloJava { 2 public static void main(String[] args) { 3 int x = 5; 4 double y = 3.14; 5 } จบคําสังด้ วยเครื่ องหมาย Semicolon ่ 6 } 2. คําสั่งคํานวณ 1 2 3 4 1 public class HelloJava { 2 public static void main(String[] args) { 3 x = n++ / 2; 4 y = y + x; 5 } จบคําสังด้ วยเครื่ องหมาย Semicolon ่ 6 } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  5. 5. Introduction to Java Programming - 01 Computer Programming using Java 5 3. คําสั่งรั บค่ า การ import เป็ นส่วนที่เพิ่มเข้ ามานอกเหนือจาก 1 2 3 4 3 องค์ประกอบหลักที่กล่าวไปแล้ ว เพื่อเรี ยกใช้ งาน 1 import java.util.Scanner; Class Library เมื่อต้ องการใช้ คําสังพิเศษ ่ 2 public class HelloJava { 3 public static void main(String[] args) { 4 Scanner kb = new Scanner(System.in); 5 int n = kb.nextInt(); 6 } จบคําสังด้ วยเครื่ องหมาย Semicolon ่ 7 } คําสังรับค่า (ซึงในที่นี ้ใช้ คลาส Scanner) เป็ นคําสังพิเศษดังนันจึงต้ อง import ่ ่ ่ ้ 4. คําสั่งแสดงผล 1 2 3 4 1 public class HelloJava { จบคําสังด้ วยเครื่ องหมาย ่ 2 public static void main(String[] args) { 3 System.out.println("result : " + n); Semicolon 4 } 5 } 5. คําสั่งตัดสินใจ คําสังตัดสินใจเป็ นกลุมหรื อชุดคําสังจึงต้ องใช้ เครื่ องหมาย ่ ่ ่ 1 2 3 4 ปี กกาในการบอกขอบเขตของคําสัง ่ 1 public class HelloJava { 2 public static void main(String[] args) { 3 if (x > 10) { 4 y = y + x; 5 } else { คําสังตัดสินใจประกอบด้ วย 2 ส่วนคือ ส่วน if และ else ่ 6 y = y – x; 7 } และทังสองส่วนต้ องอยูในระดับเดียวกัน ้ ่ 8 } 9 } ภายในแต่ละส่วนสามารถมีคําสังอื่นๆ ซ้ อนเข้ าไปได้ อีก ่ 6. คําสั่งวนซํา ้ 1 2 3 4 1 public class HelloJava { 2 public static void main(String[] args) { 3 while (i <= 5) { 4 ... คําสังวนซํ ้า เป็ นกลุมหรื อชุดคําสังจึงต้ องใช้ เครื่ องหมายปี กกาใน ่ ่ ่ 5 } 6 } การบอกขอบเขตของคําสัง ่ 7 } ภายในคําสังสามารถมีคําสังอื่นๆ ซ้ อนเข้ าไปได้ อีก ่ ่ 1 2 3 4 1 public class HelloJava { 2 public static void main(String[] args) { 3 for (int i = 1; i <= 5; i++) { 4 ... 5 } คําสังวนซํ ้า มี 2 รูปแบบคือ คําสัง while และคําสัง for ซึงทังสอง ่ ่ ่ ่ ้ 6 } 7 } แบบทํางานเหมือนกันแต่เขียนต่างกัน © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  6. 6. 6 Computer Programming using Java 01 - Introduction to Java Programming 5) เพื่อการเข้ าใจให้ ตรงกันจะขอแบ่ งการเขียนโปรแกรมออกเป็ น 2 ช่ วง ดังนี ้ ช่ วงที่หนึ่ง ตังแต่บทที่ 1 ถึงบทที่ 7 การเขียนโปรแกรมทุกโปรแกรมจะมีเพียง 1 คลาส และภายใน ้ คลาสจะมีเพียง 1 เมท็อดที่ชื่อว่า “main” และภายในเมท็อด main จะมีคาสังทุกรูปแบบอยูภายในนัน ํ ่ ่ ้ ช่ องที่สอง ตังแต่บทที่ 8 ถึงบทที่ 14 การเขียนโปรแกรมจะสามารถมีคลาสได้ มากกว่า 1 คลาส และ ้ ภายในคลาสหนึ่งๆ ก็สามารถมีเมท็อดได้ มากกว่า 1 เมท็อด ซึ่งภายในเมท็อดก็ยงมีคําสังที่ใช้ งาน ั ่ ในช่วงที่หนึงอยูเ่ ช่นเดิม ่ โจทย์ ข้อที่ 3 [ระดับง่ าย] จงนับและระบุส่วนที่เขียนผิดตามหลักไวยากรณ์ ของภาษาจาวา พร้ อมทังเขียน ้ โปรแกรมนีใหม่ ให้ ถกต้ องและสวยงาม (10 คะแนน) ้ ู 1 import.java.util.scanner; { ควรไล่ ทีละบรรทัด 2 public class java { จากบนลงล่ าง 3 Public static void /* public */ main(String a[]) { 4 Scanner kb = new Scanner(System.in) 5 int i = kb.nextInt(); 6 If (i < 50) { System.out.println(Hello Java); } 7 else { System.out.Print(Hello Jaba) }}} โปรแกรมนีเ้ ขียนผิดทังหมด ้ ตําแหน่ ง ซึ่งเขียนใหม่ ให้ ถกต้ องได้ เป็ น ู 1 2 3 4 โจทย์ ข้อที่ 4 [ระดับง่ าย] จงนับและระบุส่วนที่เขียนผิดตามหลักไวยากรณ์ ของภาษาจาวา พร้ อมทังเขียน ้ โปรแกรมนีใหม่ ให้ ถกต้ องและสวยงาม (10 คะแนน) ้ ู 1 Import java.util.Scanner; ควรไล่ ทีละบรรทัด 2 public Class LoveJava { จากบนลงล่ าง 3 public static viod Main(string arg) { 4 system.out.print("Give me A for this course;"); 5 } โปรแกรมนีเ้ ขียนผิดทังหมด ้ ตําแหน่ ง ซึ่งเขียนใหม่ ให้ ถกต้ องได้ เป็ น ู © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  7. 7. Introduction to Java Programming - 01 Computer Programming using Java 7 1 2 3 4 โจทย์ ข้อที่ 5 [ระดับปานกลาง] จงประกอบโปรแกรมภาษาจาวาให้ สมบรณ์ ตามเงื่อนไขที่กําหนดมาให้ ู จากส่ วนของโปรแกรมภาษาจาวาต่ อไปนี ้ พร้ อมทังเขียนเครื่ องหมายแสดงขอบเขตของส่ วนโปรแกรม ้ และเครื่องหมายจบคําสั่งให้ ถกต้ อง (10 คะแนน) ู คําสั่ง ส่ วนของโปรแกรม คําสังที่ 1 ่ int x = kb.nextInt() คําสังที่ 2 ่ x++ คําสังที่ 3 ่ Scanner kb = new Scanner(System.in) คําสังที่ 4่ System.out.println("result = " + x) คําสังที่ 5 ่ System.out.println("error") คําสังที่ 6 ่ if(x != 0) ... else ... คําสังที่ 7 ่ while(x < 100) กําหนดให้ คลาส A ประกอบไปด้ วยเมท็อด main โดยภายในเมท็อด main ประกอบไปด้ วยคําสั่งที่ 3, 1 และ 7 ตามลําดับ ภายในคําสั่งที่ 7 ประกอบไปด้ วยคําสั่งที่ 6 และ 2 ตามลําดับ ภายในส่ วนของ if ของ คําสั่งที่ 6 ประกอบไปด้ วยคําสั่งที่ 4 และภายในส่ วนของ else ของคําสั่งที่ 6 ประกอบไปด้ วยคําสั่งที่ 5 (สามารถเพิ่ มเติมส่ วนของโปรแกรมอื่นๆ ได้ ตามความเหมาะสม) 1 2 3 4 5 © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  8. 8. 8 Computer Programming using Java 01 - Introduction to Java Programming 5. รายละเอียดเบืองต้ นของคําสั่งแสดงผล ้ เนื่องจากคําสังแสดงผลเป็ นคําสังพื ้นฐานที่ต้องทําความเข้ าใจตังแต่เริ่ มต้ นของการเขียนโปรแกรม (เริ่ มตังแต่ ่ ่ ้ ้ บทที่ 1) จึงจําเป็ นต้ องรู้หลักการทํางานเบื ้องต้ นดังนี ้ ตําแหน่งเคอร์ เซอร์ (Cursor) 1) การแสดงผลลัพธ์ออกทางจอภาพแบบไม่ขึ ้นบรรทัดใหม่ จะใช้ คําสัง ่ Hello Java. System.out.print(...); เช่น System.out.print("Hello Java"); Hello Java 2) การแสดงผลลัพธ์ออกทางจอภาพแบบขึ ้นบรรทัดใหม่ จะใช้ คําสัง ่ . System.out.println(...); เช่น System.out.println("Hello Java"); 3) รูปแบบการแสดงผลลัพธ์มีดงนี ้ ั ผลลัพธ์ System.out.println("Hi" + "V"); ข้ อความ + ข้ อความ = ข้ อความ HiV เอามาต่อกัน เอามา ผลลัพธ์ System.out.println("Hi" + 5); ข้ อความ + ตัวเลข = ข้ อความ Hi5 ผลลัพธ์ System.out.println(8 + 5); ตัวเลข + ตัวเลข = ตัวเลข 13 เอามาบวกกัน 4) อักขระพิเศษ (Escape Characters) (1) อักขระ n คือ การขึ ้นบรรทัดใหม่ (New Line) แต่ใน JLab นัน 1 Tab = 6 Spaces ้ (2) อักขระ t คือ การเลื่อนทีละช่วงในแนวนอน (Horizontal Tab) ซึง 1 Tab = 8 Spaces ่ (3) อักขระ ' คือ เครื่ องหมาย Single Quote (') ตัวอย่างเช่น แสดงข้ อความว่า ‘J’ จะใช้ คําสัง System.out.println("'J'"); ่ (4) อักขระ " คือ เครื่ องหมาย Double Quote (") ตัวอย่างเช่น แสดงข้ อความว่า Get “A” Java จะใช้ คําสัง System.out.println("Get "A" Java"); ่ (5) อักขระ คือ เครื่ องหมาย Backslash () ตัวอย่างเช่น แสดงข้ อความว่า Tab key is t จะใช้ คําสัง System.out.println("Tab key is t"); ่ โจทย์ ข้อที่ 6 [ระดับง่ าย] จงแสดงคําตอบจากส่ วนของโปรแกรมต่ อไปนี ้ (12 คะแนน) ข้ อ ส่ วนของโปรแกรม คําตอบ 1. System.out.println("0" + "2"); 2. System.out.println(0 + 2); 3. System.out.println(0 + "2"); 4. System.out.println(0 + 3 + "2"); 5. System.out.println("0" + 3 + 2); © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  9. 9. Introduction to Java Programming - 01 Computer Programming using Java 9 ข้ อ ส่ วนของโปรแกรม คําตอบ 6. System.out.println(0 + "3" + 2); 7. System.out.println("0" + (3 + 2)); 8. System.out.println(032); 9. System.out.println("0"32); 10. System.out.println("HellotJava"); 11. System.out.print("txxxn"); 12. System.out.println(""'//""); โจทย์ ข้อที่ 7 [ระดับง่ าย] จงเขียนโปรแกรมภาษาจาวาเบืองต้ นให้ ถูกต้ องและสวยงาม เพื่อสร้ างคลาสชื่อ ้ MyProfile โดยให้ โปรแกรมแสดงชื่อ นามสกุล ชื่อเล่ น และเบอร์ โทรศัพท์ ของตัวเองขึนบนจอภาพทีละ ้ บรรทัด (10 คะแนน) 1 2 3 4 5 โจทย์ ข้อที่ 8 [ระดับง่ าย] จงเขียนโปรแกรมภาษาจาวาเบืองต้ นให้ ถูกต้ องและสวยงาม เพื่อสร้ างคลาสชื่อ ้ Shape โดยให้ โปรแกรมแสดงรปสามเหลี่ยมตามที่กาหนดให้ ขึนบนจอภาพ และใช้ คาสั่งเพียงคําสั่งเดียว ู ํ ้ ํ เท่ านันในการแสดงผล (10 คะแนน) ้ * 1 2 3 4 5 ** *** **** ***** **** *** ** * © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  10. 10. 10 Computer Programming using Java 01 - Introduction to Java Programming โจทย์ ข้อที่ 9 [ระดับง่ าย] จงเขียนโปรแกรมภาษาจาวาเบืองต้ นให้ ถูกต้ องและสวยงาม เพื่อสร้ างคลาสชื่อ ้ Test โดยโปรแกรมนีจะแสดงข้ อความว่ า “My first JAVA program” ออกทางจอภาพพร้ อมทังขึนบรรทัด ้ ้ ้ ใหม่ และแสดงข้ อความว่ า My JAVA tutor web site is “http://www.javachula.co.cc” ออกทางจอภาพ (ยัง ไม่ ขึนบรรทัดใหม่ ) แล้ วให้ โปรแกรมเลื่อนเคอร์ เซอร์ ไป 18 ช่ องว่ าง และแสดงคําว่ า Click บทจอภาพ ้ พร้ อมทังขึนบรรทัดใหม่ และในขณะที่เขียนเครื่ องหมายปิ ดขอบเขตของคลาสและเมท็อด ให้ เขียน ้ ้ หมายเหตุว่า End of class และ End of method ต่ อท้ ายบรรทัดนันๆ ด้ วย โดยกําหนดให้ ใช้ คาสั่งเพียง ้ ํ คําสั่งเดียวเท่ านันในการแสดงผล (10 คะแนน) ้ 1 2 3 4 5 2. การแปลและสั่งงานโปรแกรม (Compiling and Running Program) 1. ขันตอนการแปลและสั่งงานโปรแกรม มีดงต่อไปนี ้ ้ ั 1 2 3 4 5 6 Edit/Coding Source Code Compile Byte Code Run/Execute Output/Result Demo.java Demo.class public class Demo { 1001101010111101 public static void …{ 1010101110101010 System.out … 1010010101010100 Hello! } javac Demo.java 001011101111 java Demo } Demo.java 7 Debugging โจทย์ ข้อที่ 10 [ระดับง่ าย] โปรแกรมที่กาหนดให้ ต่อไปนีแปลโปรแกรมผ่ าน ( ) หรื อไม่ ผ่าน ( ) สั่งงาน ํ ้ ผ่ าน ( ) หรือไม่ ผ่าน ( ) และเขียนได้ สวยงาม ( ) หรื อไม่ สวยงาม ( ) (15 คะแนน) 1) public class Test { แปล สวยงาม public static void main(String[] args) { สั่งงาน System. out. println("xxxxx") ; } } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  11. 11. Introduction to Java Programming - 01 Computer Programming using Java 11 2) public class Test { แปล สวยงาม public static void main(String[] args) { สั่งงาน System.out.println("xxxxx xxxxx xxxxx"); } } 3) public class Test { public static void main(String[] args) { แปล สั่งงาน สวยงาม System.out.println("xxxxx" + "xxxxx" + "xxxxx"); } } 4) public class Test { void main(String[] args) { แปล สั่งงาน สวยงาม System.out.println("xxxxx"); } } 5) public class Test { public static void noob(String[] args) { แปล สั่งงาน สวยงาม System.out.println("xxxxx"); } } 6) public class main { แปล public static void main(String[] args) { สั่งงาน สวยงาม System.out.println("xxxxx"); } } 7) public class void { แปล public static void main(String[] args) { สั่งงาน สวยงาม System.out.println("xxxxx"); } } 8) public class เกรียน { public static void main(String[] args) { แปล สั่งงาน สวยงาม System.out.println("xxxxx"); } } 9) public class Strings } public static void main(String[] args) { แปล สั่งงาน สวยงาม System.err.println("xxxxx"); } } 10) public class Public { // System.out.println("xxxxx"); แปล สั่งงาน สวยงาม } 11) public class 3Girl_And_1Man { แปล public static void main(String[] args) { สั่งงาน สวยงาม // Love you "Java" } } 12) public class Swinging { public static void main(String[] args) { แปล สั่งงาน สวยงาม System.out.println("xxxxx");;;;;;;;;;;;; } } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  12. 12. 12 Computer Programming using Java 01 - Introduction to Java Programming 13) public /* println */ class /* Class */ Test { // { แปล สวยงาม public /* ??? */ static void main /* java */ สั่งงาน (String[] args) { /* // System.out.println("xxxxx"); */ }} // } 14) class Test { public static void main(String[] args){ แปล สั่งงาน สวยงาม { //Starting the program System.out.println("xxxxx"); { //Starting the sub-program System.out.println("yyyyy"); System.out.println("yyyyy"); } //Ending the sub-program } //Ending the program } } 15) public class Class { แปล // System.out.println("xxxxx"); สั่งงาน สวยงาม public static void main(String[] args){}} 3. การเขียนผังงาน (Flowchart) 1. การเขียนผังงานก่ อนการเขียนโปรแกรม โดยปกติแล้ วก่อนการเขียนโปรแกรมนักออกแบบโปรแกรมและโปรแกรมเมอร์ จะต้ องสร้ างผังงาน (Flowchart) หรื อ รหัสเทียม (Psudocode) เพื่อใช้ สําหรับระบุกระบวนการทํางานของโปรแกรมนันอย่างคร่าวๆ ก่อนเสมอ ้ 2. สัญลักษณ์ ท่ ใช้ ในการเขียนผังงาน ี ลําดับ สัญลักษณ์ ชื่อสัญลักษณ์ ความหมาย 1. Terminator การเริ่มต้ นและการสิ ้นสุด 2. Data ข้ อมูลและการรับเข้ าข้ อมูล (ทุกรูปแบบ) 3. Manual Input การรับเข้ าข้ อมูลด้ วยมือ (กด, สัมผัส) 4. Process การกําหนดค่าและการคํานวน 5. Decision การตัดสินใจและการเปรี ยบเทียบ 6. Display การแสดงผลทางจอภาพ 7. Document การแสดงผลในรูปเอกสาร (การพิมพ์) 8. Predefined Process การเรี ยกไปยังโปรแกรมย่อย 9. On-page Connector จุดเชื่อมต่อภายในหน้ าเดียวกัน 10. Off-page Connector จุดเชื่อมต่อต่างหน้ ากัน 11. Arrow Line เส้ นลูกศรแสดงทิศทาง © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  13. 13. Introduction to Java Programming - 01 Computer Programming using Java 13 โจทย์ ข้อที่ 11 [ระดับง่ าย] จงเติมเต็มผังงานที่กาหนดให้ ต่อไปนีให้ สมบรณ์ (18 คะแนน) ํ ้ ู 1) เขียนผังงานเพื่อหาคําตอบของสมการ z = x + yโดยรั บค่ าตัวเลขจํานวนเต็ม (Integer) สองตัวจาก แปนพิมพ์ เข้ ามาเก็บไว้ ในตัวแปร x และ y ตามลําดับ จากนันหาผลบวกของตัวแปร x และ y แล้ ว ้ ้ เก็บไว้ ในตัวแปร z พร้ อมทังแสดงผลลัพธ์ ท่ ได้ ออกทางจอภาพ (4 คะแนน) ้ ี 2) เขียนผังงานเพื่อรั บตัวเลขจํานวนจริง (Real) จากแปนพิมพ์ สองค่ าเข้ ามาเก็บไว้ ในตัวแปร n1 และ n2 ้ ตามลําดับ แล้ วทําการเปรี ยบเทียบค่ าระหว่ าง n1 และ n2 โดยถ้ าค่ าของ n1 มากกว่ า n2 ให้ พิมพ์ ค่า n1 ลงบนเอกสาร แต่ ถ้าไม่ เช่ นนันให้ พมพ์ ค่า n2 ลงบนเอกสาร (6 คะแนน) ้ ิ 3) เขียนผังงานเพื่อรั บค่ าตัวเลขจํานวนเต็มจากแหล่ งให้ กาเนิดข้ อมลเข้ ามาเก็บไว้ ในตัวแปร n พร้ อมทัง ํ ู ้ กําหนดค่ าเริ่มต้ นของตัวแปร i ให้ เท่ ากับ 0 แล้ วตรวจสอบว่ าตัวแปร i น้ อยกว่ าตัวแปร n หรื อไม่ ถ้ า เป็ นจริงให้ แสดงคําว่ า “Java” ขึนบนจอภาพ แล้ วเพิ่มค่ า i ขึนทีละ 1 (โดยใช้ คาสั่ง i++) ซึ่งจะวนรอบ ้ ้ ํ ทํางานแบบนีไปเรื่อยๆ จนกว่ าตัวแปร i ไม่ ได้ น้อยกว่ าตัวแปร n จึงจะจบการทํางาน (8 คะแนน) ้ ผังงานข้ อย่ อยที่ 1 ผังงานข้ อย่ อยที่ 2 ผังงานข้ อย่ อยที่ 3 โจทย์ ข้อที่ 12 [ระดับง่ าย] จงเขียนผังงานจากกระบวนการทํางานของร้ านขายเสือผ้ า “เกรี ยน ณ ลาน ้ เกียร์ ” ที่ต้องการรับซือเสือหลากสีมือสองจากนิสิตคณะต่ างๆ ในจุฬาลงกรณ์ มหาวิทยาลัย เพื่อนํามาขาย ้ ้ ต่ อในราคาถก โดยมีกระบวนการซือขายอย่ ู 2 ส่ วนดังนี ้ (20 คะแนน) ู ้ 1) กระบวนการรั บซือ ซึ่งจะรั บเสือหลากสีจากนิสิตตามจํานวนเสือ (Unit) ที่นิสิตนํามา โดยที่ราคาเสือ ้ ้ ้ ้ (Price) อย่ ท่ ตวละ 30 บาท จากนันคิดราคารวม (Amount) และออกใบเสร็จให้ กับนิสิต (8 คะแนน) ู ี ั ้ 2) กระบวนการติดปายราคา ซึ่งจะนําเสือหลากสีท่ ีได้ มาคัดแยกสี โดยถ้ าเป็ นเสือชมพจะติดปายราคา ้ ้ ้ ู ้ 100 บาท เสือเหลืองติดปายราคา 60 บาท เสือแดงติดปายแจกฟรี ไม่ มีราคา ส่ วนเสือสีอ่ ืนๆ นอก ้ ้ ้ ้ ้ เหนือจาก 3 สีท่ กล่ าวมาติดปายราคา 20 บาท (12 คะแนน) ี ้ © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  14. 14. 14 Computer Programming using Java 01 - Introduction to Java Programming ผังงานข้ อย่ อยที่ 1 ผังงานข้ อย่ อยที่ 2 โจทย์ ข้อที่ 13 [ระดับง่ าย] จงพิจารณาผังงานต่ อไปนี ้ พร้ อมทังหาคําตอบของตัวแปร B1, B2 และ C เมื่อ ้ กําหนดให้ ค่า A มีค่าต่ างๆ ดังตาราง (5 คะแนน) Start A B1 B2 C 1 C=1 2 A 3 B1 = A + 2 4 B2 = A + C 5 No B1 = A + 2 C<6 B2 = A + C Yes C=A+2 End A © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้