Java-Chapter 01 Introduction to Java Programming

14
1 © สงวนลิขสิทธิพฤศจิกายน 2553 (ปรับปร ุงครั้งที7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์ ) Computer Programming using Java Introduction to Java Programming - 01 CHAPTER 01 1 2 3 4 5 1 2 3 4 1 2 3 4 5 1 2 3 4 เริ่มต้นการเขียนโปรแกรมภาษาจาวา (Introduction to Java Programming) 1. แนวคิดการเขียนโปรแกรมภาษาจาวา (Java Programming Concept) 1. หลักการเขียนโปรแกรมคอมพิวเตอร์ การเขียนโปรแกรมคอมพิวเตอร์ที่ดีและให้ประมวลผลได้อย่างถูกต้องนั ้นจะต ้องมีข้อปฏิบัติ 2 ข้อที่สําคัญ คือ 1) เขียนให้ถูกต้องตามหลักไวยากรณ์ (Syntax) ของภาษาคอมพิวเตอร์ที่ใช้ ต้องรู ้องค์ประกอบ ของภาษา และชุดคําสั่ง ของภาษา 2) เขียนให้เป็นระเบียบเรียบร้อย สวยงาม และอ่านง่าย ฝึกนิสัยการเป็นโปรแกรมเมอร์ที่ดี 2. องค์ประกอบหลักของโปรแกรมภาษาจาวา องค์ประกอบของโปรแกรมภาษาจาวา แบบพื้นฐานที่สุดจะต้องประกอบไปด้วยองค์ประกอบ 3 ส่วนหลัก ได้แก่ 1) คลาส (Class) 2) เมท็อด (Method) 3) คําสั ่ง (Statement) 1 2 3 4 5 public class HelloJava { public static void main(String[] args) { System.out.println("Hello Java"); } } public class HelloJava { public static void main(String[] args) { System.out.println("Hello Java"); } } 1 2 3 4 5 1 2 3 4 public class HelloJava { } public class HelloJava { public static void main(String[] args) { } } ใช้เครื่องหมายปีกกา ในการบอกขอบเขตของเมท็อด ซึ่งอยู ่ซ้อน เข้าไปภายในขอบเขตของคลาส อีกชั้นหนึ่ง ขอบเขตของคําสั่ง จะอยู ่ซ้อน เข้าไปภายในขอบเขตของเมท็อด อีกชั้นหนึ่ง ตัวอย่างโปรแกรมภาษาจาวา ขั้นพื้นฐาน ช้เครื่องหมายปีกกา นการบอกขอบเขตของคลาส ปี กกาปิ ด ต้องเขียนตรงกับตัว p ของคําว่า public บนหัวคลาส ชื่อคลาส นิยมขึ้นต ้นด้วยตัวพิมพ์ใหญ่ ชื่อเมท็อด นิยมขึ้นต ้นด้วยตัวพิมพ์เล็ก ปี กกาปิ ด ต้องเขียนตรงกับตัว p ของคําว่า public บนหัว เมท็อด เมื่อจบ 1 คําสั่งควรขึ้นบรรทัดใหมคําสั่งแต่ละคําสั่งจะจบด้วยเครื่อง หมายอัฒภาค (Semicolon) วพิมพ์ใหญ่ และตัวพิมพ์เล็ก มีความหมายไม่เหมือนกัน คําหรือคีย์เวิร์ดแต่ละคําต้องมีการ เว้นช่องว่างอย่างน้อย 1 ช่องว่าง

description

Chapter 01 Introduction to Java Programming

Transcript of Java-Chapter 01 Introduction to Java Programming

1

© สงวนลขสทธ พฤศจกายน 2553 (ปรบปรงครงท 7 ฉบบใชตวภาค 2/2553) เรยบเรยงโดย วงศยศ เกดศร (แบงค)

Computer Programming using Java Introduction to Java Programming - 01

CHAPTER 01

1 2 3 4 5

1 2 3 4

1 2 3 4 5

1 2 3 4

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

(Introduction to Java Programming)

1. แนวคดการเขยนโปรแกรมภาษาจาวา (Java Programming Concept)

1. หลกการเขยนโปรแกรมคอมพวเตอร การเขยนโปรแกรมคอมพวเตอรทดและใหประมวลผลไดอยางถกตองนนจะตองมขอปฏบต 2 ขอทสาคญ คอ

1) เขยนใหถกตองตามหลกไวยากรณ (Syntax) ของภาษาคอมพวเตอรทใช ตองรองคประกอบของภาษา

และชดคาสงของภาษา

2) เขยนใหเปนระเบยบเรยบรอย สวยงาม และอานงาย ฝกนสยการเปนโปรแกรมเมอรทด

2. องคประกอบหลกของโปรแกรมภาษาจาวา

องคประกอบของโปรแกรมภาษาจาวาแบบพนฐานทสดจะตองประกอบไปดวยองคประกอบ 3 สวนหลก ไดแก

1) คลาส (Class)

2) เมทอด (Method)

3) คาสง (Statement)

1 2 3 4 5

public class HelloJava { public static void main(String[] args) { System.out.println("Hello Java"); } }

public class HelloJava { public static void main(String[] args) { System.out.println("Hello Java"); } }

1 2 3 4 5

1 2 3 4

public class HelloJava { }

public class HelloJava { public static void main(String[] args) { } }

ใชเครองหมายปกกาในการบอกขอบเขตของเมทอดซงอยซอน

เขาไปภายในขอบเขตของคลาสอกชนหนง

ขอบเขตของคาสงจะอยซอนเขาไปภายในขอบเขตของเมทอดอกชนหนง

ตวอยางโปรแกรมภาษาจาวา

ขนพนฐาน

ใชเครองหมายปกกาในการบอกขอบเขตของคลาส

ปกกาปดตองเขยนตรงกบตว p ของคาวา public บนหวคลาส

ชอคลาส นยมขนตนดวยตวพมพใหญ

ชอเมทอด นยมขนตนดวยตวพมพเลก

ปกกาปดตองเขยนตรงกบตว

p ของคาวา public บนหว

เมทอด

เมอจบ 1 คาสงควรขนบรรทดใหม

คาสงแตละคาสงจะจบดวยเครอง

หมายอฒภาค (Semicolon)

ตวพมพใหญและตวพมพเลกมความหมายไมเหมอนกน คาหรอคยเวรดแตละคาตองมการ

เวนชองวางอยางนอย 1 ชองวาง

2

© สงวนลขสทธ พฤศจกายน 2553 (ปรบปรงครงท 7 ฉบบใชตวภาค 2/2553) เรยบเรยงโดย วงศยศ เกดศร (แบงค)

Computer Programming using Java 01 - Introduction to Java Programming

3. องคประกอบเพมเตมของโปรแกรมภาษาจาวา ภายในโปรแกรมนอกจากจะม 3 องคประกอบหลกแลว กยงมสวนทเรยกวา “หมายเหต (Comment)” ซงเปน

ขอความหรอคาบรรยายสนๆ ทใชสาหรบจดทนทกรายละเอยดบางอยางภายในโปรแกรมทเขยนขน ดงตวอยาง

หมายเหตในภาษาจาวาม 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 Java\n") } }

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"); } }

1 2 3 4 5

public class HelloJava { public static void main(String[] args) { System.out.println("Hello Java"); } // End of method } /* End of class */

หมายเหตสามารถอยบรเวณใด

หรอบรรทดใดของโปรแกรมกได

หมายเหตจะมปรากฏในโปรแกรมหรอตดออกไปกได

โดยไมมผลตอการทางานของโปรแกรมแตอยางใด

ไวยากรณ สวยงาม

ไวยากรณ สวยงาม

ไวยากรณ สวยงาม

ไวยากรณ สวยงาม

ไวยากรณ สวยงาม

ไวยากรณ สวยงาม

3

© สงวนลขสทธ พฤศจกายน 2553 (ปรบปรงครงท 7 ฉบบใชตวภาค 2/2553) เรยบเรยงโดย วงศยศ เกดศร (แบงค)

Computer Programming using Java Introduction to Java Programming - 01

1 2 3 4

1 2 3 4 5 6 7 8 9

1 2 3 4

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 คะแนน)

4. รายละเอยดเบองตนของ คลาส เมทอด และ คาสง โปรแกรมภาษาจาวาจะตองประกอบดวยองคประกอบ 3 สวนหลก คอ คลาส เมทอด และคาสง โดยมนยามอยวา

1) โปรแกรมหนงโปรแกรมสามารถมไดหลายคลาส เชน (ใหสงเกตเพยงแควธการเขยนและขอบเขตของคาสง)

public class HelloJava { public ... } class HiJava { public ... } class HeyJava { public ... }

คลาสแตละคลาสตางกใชเครองหมายปกกาในการบอกขอบเขต

ของคลาสนนๆ

ไวยากรณ สวยงาม

ไวยากรณ สวยงาม

คลาสแตละคลาสมศกดศรเทากน จงตองอยในระดบเดยวกน

4

© สงวนลขสทธ พฤศจกายน 2553 (ปรบปรงครงท 7 ฉบบใชตวภาค 2/2553) เรยบเรยงโดย วงศยศ เกดศร (แบงค)

Computer Programming using Java 01 - Introduction to Java Programming

1 2 3 4 5 6 7 8 9 10 11

1 2 3 4

1 2 3 4 5 6

1 2 3 4

1 2 3 4 5 6

1 2 3 4

1 2 3 4 5 6 7 8 9 10 11 12 13

1 2 3 4

2) คลาสหนงคลาสสามารถมไดหลายเมทอด เชน (ใหสงเกตเพยงแควธการเขยนและขอบเขตของคาสง)

3) เมทอดหนงเมทอดสามารถมไดหลายคาสง เชน (ใหสงเกตเพยงแควธการเขยนและขอบเขตของคาสง)

4) คาสงมมากมายหลายรปแบบ เชน (ใหสงเกตเพยงแควธการเขยนและขอบเขตของคาสง) 1. คาสงกาหนดคา

2. คาสงคานวณ

public class HelloJava { public static void main(String[] args) { ... } public int add(int x, int y) { ... } public static boolean check(double n) { ... } }

เมทอดแตละเมทอดมศกดศรเทากน จงตองอยในระดบเดยวกน

เมทอดแตละเมทอดตางกใชเครอง

หมายปกกาในการบอกขอบเขต

ของเมทอดนนๆ ซงอยซอนเขาไป

ภายในขอบเขตของคลาสอกชนหนง

public class HelloJava { public static void main(String[] args) { int x = 5; double y = 3.14; } }

public class HelloJava { public static void main(String[] args) { x = n++ / 2; y = y + x; } }

public class HelloJava { public static void main(String[] args) { int x = 5; while (x >= 0) { System.out.println(x); x--; } if (x == 0) { System.out.println(y); } System.out.print("End of Program"); } }

คาสงแตละคาสงจะอยซอนเขาไป

ภายในขอบ เขตของเมทอดอก

ชนหนง และถาคาสงมศกด ศร

เทากนจะตองอยในระดบเดยวกน

จบคาสงดวยเครองหมาย Semicolon

สงทมเพยงบรรทดเดยวจะจบคาสงดวย

เครองหมาย Semicolon

ระบบจะเรมประมวลผลคาสงแรกจนถง

คาสงสดทายจากบนลงลาง

คาสงทมหลายบรรทดหรอทเรยกวาชดคาสงจะกาหนดขอบเขตดวยเครองหมายปกกา

จบคาสงดวยเครองหมาย Semicolon

5

© สงวนลขสทธ พฤศจกายน 2553 (ปรบปรงครงท 7 ฉบบใชตวภาค 2/2553) เรยบเรยงโดย วงศยศ เกดศร (แบงค)

Computer Programming using Java Introduction to Java Programming - 01

1 2 3 4 5 6 7 8 9

1 2 3 4

1 2 3 4 5 6 7

1 2 3 4

1 2 3 4 5 6 7

1 2 3 4

1 2 3 4 5 6 7

1 2 3 4

1 2 3 4 5

1 2 3 4

3. คาสงรบคา

4. คาสงแสดงผล

5. คาสงตดสนใจ

6. คาสงวนซา

public class HelloJava { public static void main(String[] args) { if (x > 10) { y = y + x; } else { y = y – x; } } }

คาสงตดสนใจเปนกลมหรอชดคาสงจงตองใชเครองหมาย

ปกกาในการบอกขอบเขตของคาสง

public class HelloJava { public static void main(String[] args) { for (int i = 1; i <= 5; i++) { ... } } }

public class HelloJava { public static void main(String[] args) { while (i <= 5) { ... } } }

คาสงวนซา เปนกลมหรอชดคาสงจงตองใชเครองหมายปกกาใน

การบอกขอบเขตของคาสง

คาสงวนซา ม 2 รปแบบคอ คาสง while และคาสง for ซงทงสอง

แบบทางานเหมอนกนแตเขยนตางกน

import java.util.Scanner; public class HelloJava { public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n = kb.nextInt(); } }

การ import เปนสวนทเพมเขามานอกเหนอจาก

3 องคประกอบหลกทกลาวไปแลว เพอเรยกใชงาน

Class Library เมอตองการใชคาสงพเศษ

public class HelloJava { public static void main(String[] args) { System.out.println("result : " + n); } }

คาสงตดสนใจประกอบดวย 2 สวนคอ สวน if และ else

และทงสองสวนตองอยในระดบเดยวกน

จบคาสงดวยเครองหมาย Semicolon

คาสงรบคา (ซงในทนใชคลาส Scanner) เปนคาสงพเศษดงนนจงตอง import

จบคาสงดวยเครองหมาย

Semicolon

ภายในแตละสวนสามารถมคาสงอนๆ ซอนเขาไปไดอก

ภายในคาสงสามารถมคาสงอนๆ ซอนเขาไปไดอก

6

© สงวนลขสทธ พฤศจกายน 2553 (ปรบปรงครงท 7 ฉบบใชตวภาค 2/2553) เรยบเรยงโดย วงศยศ เกดศร (แบงค)

Computer Programming using Java 01 - Introduction to Java Programming

1 2 3 4

5) เพอการเขาใจใหตรงกนจะขอแบงการเขยนโปรแกรมออกเปน 2 ชวง ดงน

ชวงทหนง ตงแตบทท 1 ถงบทท 7 การเขยนโปรแกรมทกโปรแกรมจะมเพยง 1 คลาส และภายใน

คลาสจะมเพยง 1 เมทอดทชอวา “main” และภายในเมทอด main จะมคาสงทกรปแบบอยภายในนน

ชองทสอง ตงแตบทท 8 ถงบทท 14 การเขยนโปรแกรมจะสามารถมคลาสไดมากกวา 1 คลาส และ

ภายในคลาสหนงๆ กสามารถมเมทอดไดมากกวา 1 เมทอด ซงภายในเมทอดกยงมคาสงทใชงาน

ในชวงทหนงอยเชนเดม

โจทยขอท 3 [ระดบงาย] จงนบและระบสวนทเขยนผดตามหลกไวยากรณของภาษาจาวา พรอมทงเขยนโปรแกรมนใหมใหถกตอง และสวยงาม (10 คะแนน)

โปรแกรมนเขยนผดทงหมด ตาแหนง ซงเขยนใหมใหถกตองได เปน

โจทยขอท 4 [ระดบงาย] จงนบและระบสวนทเขยนผดตามหลกไวยากรณของภาษาจาวา พรอมทงเขยนโปรแกรมนใหมใหถกตอง และสวยงาม (10 คะแนน)

โปรแกรมนเขยนผดทงหมด ตาแหนง ซงเขยนใหมใหถกตองไดเปน

1 2 3 4 5 6 7

import.java.util.scanner; { public class java { Public static void /* public */ main(String a[]) { Scanner kb = new Scanner(System.in) int i = kb.nextInt();

If (i < 50) { System.out.println(Hello Java); } else { System.out.Print(Hello Jaba) }}}

ควรไลทละบรรทดจากบนลงลาง

1 2 3 4 5

Import java.util.Scanner; public Class LoveJava { public static viod Main(string arg) { system.out.print("Give me A for this course;"); }

ควรไลทละบรรทดจากบนลงลาง

7

© สงวนลขสทธ พฤศจกายน 2553 (ปรบปรงครงท 7 ฉบบใชตวภาค 2/2553) เรยบเรยงโดย วงศยศ เกดศร (แบงค)

Computer Programming using Java Introduction to Java Programming - 01

1 2 3 4 5

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 (สามารถเพมเตมสวนของโปรแกรมอนๆ ไดตามความเหมาะสม)

8

© สงวนลขสทธ พฤศจกายน 2553 (ปรบปรงครงท 7 ฉบบใชตวภาค 2/2553) เรยบเรยงโดย วงศยศ เกดศร (แบงค)

Computer Programming using Java 01 - Introduction to Java Programming

5. รายละเอยดเบองตนของคาสงแสดงผล เนองจากคาสงแสดงผลเปนคาสงพนฐานทตองทาความเขาใจตงแตเรมตนของการเขยนโปรแกรม (เรมตงแต

บทท 1) จงจาเปนตองรหลกการทางานเบองตนดงน

1) การแสดงผลลพธออกทางจอภาพแบบไมขนบรรทดใหม จะใชคาสง

2) การแสดงผลลพธออกทางจอภาพแบบขนบรรทดใหม จะใชคาสง

3) รปแบบการแสดงผลลพธมดงน

4) อกขระพเศษ (Escape Characters)

(1) อกขระ \n คอ การขนบรรทดใหม (New Line)

(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);

System.out.print(...);

System.out.println(...);

เชน System.out.print("Hello Java");

เชน System.out.println("Hello Java");

Hello Java.

Hello Java .

ตาแหนงเคอรเซอร (Cursor)

System.out.println("Hi" + 5); ขอความ + ตวเลข = ขอความ Hi5

ผลลพธ

System.out.println(8 + 5); ตวเลข + ตวเลข = ตวเลข 13

ผลลพธ

เอามาบวกกน

System.out.println("Hi" + "V"); ขอความ + ขอความ = ขอความ HiV

ผลลพธ

เอามาเอามาตอกน

แตใน JLab นน 1 Tab = 6 Spaces

9

© สงวนลขสทธ พฤศจกายน 2553 (ปรบปรงครงท 7 ฉบบใชตวภาค 2/2553) เรยบเรยงโดย วงศยศ เกดศร (แบงค)

Computer Programming using Java Introduction to Java Programming - 01

1 2 3 4 5

1 2 3 4 5

ขอ สวนของโปรแกรม คาตอบ

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("Hello\tJava");

11. System.out.print("\\\t\\\xxx\n");

12. System.out.println("\"\\\\\'//\"");

โจทยขอท 7 [ระดบงาย] จงเขยนโปรแกรมภาษาจาวาเบองตนใหถกตอ งและสวยงาม เพอสรางคลาสชอ MyProfile โดยใหโปรแกรมแสดงชอ นามสกล ชอเลน และเบอรโทรศพท ของตวเองขนบนจอภาพทละบรรทด (10 คะแนน)

โจทยขอท 8 [ระดบงาย] จงเขยนโปรแกรมภาษาจาวาเบองตนใหถกตอ งและสวยงาม เพอสรางคลาสชอ Shape โดยใหโปรแกรมแสดงรปสามเหลยมตามทกาหนดใหขนบนจอภาพ และใชคาสงเพยงคาสงเดยวเทานนในการแสดงผล (10 คะแนน)

*** *** **** ***** **** *** ** *

10

© สงวนลขสทธ พฤศจกายน 2553 (ปรบปรงครงท 7 ฉบบใชตวภาค 2/2553) เรยบเรยงโดย วงศยศ เกดศร (แบงค)

Computer Programming using Java 01 - Introduction to Java Programming

1 2 3 4 5

โจทยขอท 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 คะแนน)

2. การแปลและสงงานโปรแกรม (Compiling and Running Program)

1. ขนตอนการแปลและส งงานโปรแกรม มดงตอไปน

โจทยขอท 10 [ระดบงาย] โปรแกรมทกาหนดใหตอไปนแปลโปรแกรมผาน ( ) หรอไมผาน ( ) สงงานผาน ( ) หรอไมผาน ( ) และเขยนไดสวยงาม ( ) หรอไมสวยงาม ( ) (15 คะแนน)

1) public class Test { public static void main(String[] args) { System. out. println("xxxxx") ; }

}

Demo.java

public class Demo { public static void …{ System.out … } }

Demo.class

100110101011110110101011101010101010010101010100001011101111

Hello! javac Demo.java java Demo

1 2 3 4 5 6

7

Demo.java

Edit/Coding Source Code Compile Byte Code Run/Execute Output/Result

Debugging

แปล สงงาน

สวยงาม

11

© สงวนลขสทธ พฤศจกายน 2553 (ปรบปรงครงท 7 ฉบบใชตวภาค 2/2553) เรยบเรยงโดย วงศยศ เกดศร (แบงค)

Computer Programming using Java Introduction to Java Programming - 01

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");;;;;;;;;;;;; } }

แปล สงงาน

สวยงาม

แปล สงงาน สวยงาม

แปล สงงาน สวยงาม

แปล สงงาน สวยงาม

แปล สงงาน สวยงาม

แปล สงงาน สวยงาม

แปล สงงาน สวยงาม

แปล สงงาน สวยงาม

แปล สงงาน สวยงาม

แปล สงงาน สวยงาม

แปล สงงาน สวยงาม

12

© สงวนลขสทธ พฤศจกายน 2553 (ปรบปรงครงท 7 ฉบบใชตวภาค 2/2553) เรยบเรยงโดย วงศยศ เกดศร (แบงค)

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 เสนลกศรแสดงทศทาง

แปล สงงาน

สวยงาม

แปล สงงาน

สวยงาม

แปล สงงาน สวยงาม

13

© สงวนลขสทธ พฤศจกายน 2553 (ปรบปรงครงท 7 ฉบบใชตวภาค 2/2553) เรยบเรยงโดย วงศยศ เกดศร (แบงค)

Computer Programming using Java Introduction to Java Programming - 01

โจทยขอท 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 คะแนน)

โจทยขอท 12 [ระดบงาย] จงเขยนผงงานจากกระบวนการทางานของรานขายเสอผา “เกรยน ณ ลานเกยร” ทตองการรบซอเสอหลากสมอสองจากนสตคณะตางๆ ในจฬาลงกรณมหาวทยาลย เพอนามาขายตอในราคาถก โดยมกระบวนการซอขายอย 2 สวนดงน (20 คะแนน) 1) กระบวนการรบซอ ซงจะรบเสอหลากสจากนสตตามจานวนเสอ (Unit) ทนสตนามา โดยทราคาเสอ

(Price) อยทตวละ 30 บาท จากนนคดราคารวม (Amount) และออกใบเสรจใหกบนสต (8 คะแนน) 2) กระบวนการตดปายราคา ซงจะนาเสอหลากสทไดมาคดแยกส โดยถาเปนเสอชมพจะตดปายราค า

100 บาท เสอเหลองตดปายราคา 60 บาท เสอแดงตดปายแจกฟรไมมราคา สวนเสอสอนๆ นอก เหนอจาก 3 สทกลาวมาตดปายราคา 20 บาท (12 คะแนน)

ผงงานขอยอยท 1 ผงงานขอยอยท 2 ผงงานขอยอยท 3

14

© สงวนลขสทธ พฤศจกายน 2553 (ปรบปรงครงท 7 ฉบบใชตวภาค 2/2553) เรยบเรยงโดย วงศยศ เกดศร (แบงค)

Computer Programming using Java 01 - Introduction to Java Programming

โจทยขอท 13 [ระดบงาย] จงพจารณาผงงานตอไปน พรอมทงหาคาตอบของตวแปร B1, B2 และ C เมอกาหนดใหคา A มคาตางๆ ดงตาราง (5 คะแนน)

ผงงานขอยอยท 1 ผงงานขอยอยท 2

A B1 B2 C

1

2

3

4

5

C = 1

A

B1 = A + 2 B2 = A + C

C < 6

C = A + 2

A

No

Yes

Start

B1 = A + 2 B2 = A + C

End