ในการเขียนโปรแกรมนั้น
สิ่งที่สำคัญคือการที่โปรแกรมสามารถติดต่อกับผู้ใช้ ซึ่งจะมีในสองลักษณะคือ
Input คือการรับข้อมูลมาจากผู้ใช้ และนำมาประมวลผลในโปรแกรม และ Output
คือการส่งข้อมูลกลับและแสดงผลให้กับผู้ใช้ สำหรับบทเรียน Java นี้
เราจะพูดเกี่ยวกับการรับค่าข้อมูลจากคีย์บอร์ดและแสดงผลออกทางหน้าจอของ
คอมพิวเตอร์เท่านั้น อย่างไรก็ตามมันสามารถมีได้หลายวิธี
ในตารางข้างบน เราก็สามารถนำมาใช้ร่วมกันกับเมธอดในการแสดงผลได้เช่นกัน เช่น
ใน บทนี้ คุณได้เรียนรู้วิธีการแสดงผลบนหน้าจอคอมพิวเตอร์ และการรับข้อมูลจากผู้ใช้จากคีย์บอร์ดมาเก็บไว้ในตัวแปร เพื่อนำไปใช้ในโปรแกรมต่อไป
การแสดงผลด้วยเมธอด System.out.println() และ System.out.print()
การแสดงผลข้อมูลที่ง่ายที่สุดในการเขียนโปรแกรมภาษา Java คุณสามารถใช้เมธอดSystem.out.println()
และเมธอด System.out.print()
เพื่อแสดงข้อความ ตัวเลข และค่าอื่นได้ สิ่งที่แตกต่างกันของมันคือเมธอด
System.out.println() จะขึ้นบรรทัดใหม่ด้วย
คุณได้เห็นการใช้งานมาก่อนหน้านี้แล้ว มาดูตัวอย่างเพิ่มเติมpublic class Output { public static void main (String[] atgs) { System.out.print("MateoCode"); System.out.println(" Tutorials"); int number = 10; System.out.println("Number is " + number); float f = 43.12f; System.out.println("Floating number is " + f); boolean a = true; System.out.println(a); } }ใน โปรแกรมเป็นการแสดงผลโดยการใช้เมธอดทั้งสองในการแสดงข้อมูลประเภทต่างๆ คุณจะเห็นว่าหลังจากแสดงคำว่า "MateoCode" โปรแกรมไม่ขึ้นบรรทัดใหม่เพราะว่าการทำงานของเมธอด System.out.print() นั่นเอง ซึ่งจะได้ผลลัพธ์ดังนี้
MateoCode Tutorials Number is 10 Floating number is 43.12 true
Escape Characters
ใน ภาษา Java นั้นตัวอักษรบางตัวนั้นไม่สามารถใช้เพื่อแสดงผลในรูแบบปกติได้ เพราะมันได้ถูกนำไปใช้สำหรับรูปแบบในภาษา หรือไม่เหมาะสมที่จะนำมาใช้โดยตรง จึงได้มีการกำหนดสัญลักษณ์ที่เรียกว่า Escape Sequence ขึ้นมาทดแทน เพื่อให้มันนำมาใช้ได้ตาราง Escape Characters ในภาษา Java
Escape Sequence | Name | Symbol |
---|---|---|
\t | Tab | [Tab] |
\b | Backspace | [Backspace ] |
\n | Newline | [Newline] |
\r | Carriage | [Enter] |
\f | Formfeed | [Formfeed ] |
\' | Single quote | ' |
\" | Double quote | " |
\\ | Bbackslash | \ |
\n
ใช้สำหรับขึ้นบรรทัดใหม่ หรือ \t
สำหรับ Tab มาดูตัวอย่างการใช้งาน public class EscapeCharacters { public static void main (String[] atgs) { // using newline (\n) System.out.print("Today, I went to a beach.\n"); System.out.print("I see a lot of people in this\nweekend."); System.out.print("\n"); // using tab (\t) System.out.println("MateoCode\ttutorials"); System.out.println("is the best\ttutorial."); } }จากตัวอย่างเป็นการใช้ Escape Characters ในภาษา Java สังเกตุในโค้ดที่มีตัวหนา ซึ่งมันจะทำให้ได้ผลลัพธ์ดังนี้
Today, I went to a beach. I see a lot of people in this weekend. MateoCode tutorials is the best tutorial.ตอน นี้เราสามารถแสดงบรรทัดใหม่ได้ด้วย Newline (\n) คุณจะเห็นว่ามันค่อนข้างยากในการใช้งาน ดังนั้นเมธอด System.out.println() จึงช่วยให้คุณไม่ต้องใส่ \n ทุกครั้งนั่นเอง และจัดรูปแบบการแสดงผลให้ตรงกันด้วย Tab (\t)
การรับค่าจากคีย์บอร์ดด้วย Scanner class
หลังจากที่ได้เรียนรู้การแสดงผลแล้ว ต่อไปเป็นการรับข้อมูลจากผู้ใช้ผ่านทางคีย์บอร์ดของคอมพิวเตอร์ โดยในภาษา Java นั้นมีคลาสScanner
ที่ช่วยอำนวยความสะดวกในเรื่องนี้ มาดูตัวอย่างการใช้งานimport java.util.Scanner; public class GettingInput { public static void main (String[] atgs) { Scanner sn = new Scanner(System.in); String name; int number; System.out.println("\tGreeting program"); System.out.print("Enter your name: "); name = sn.next(); System.out.print("Enter your favorite number: "); number = sn.nextInt(); System.out.print("Hello " + name); System.out.println(", your favorite number is " + number); } }จาก ตัวอย่างด้านบน เป็นโปรแกรมทักทาย โดยจะให้ผู้ใช้กรอกชื่อและเลขจำนวนเต็มที่ชอบ และโปรแกรมจะแสดงข้อความทักทายแล้วบอกว่าเลขที่คุณชอบคือเลขอะไร เราเริ่มต้นสร้างออบเจ็คจากคลาส
Scanner
ด้วยคำสั่ง Scanner sn = new Scanner(System.in);โดยการใส่อากิวเมนต์
System.in
สำหรับการรับค่าจากคีย์บอร์ด และในการใช้คลาสนี้ คุณจะต้องทำการ import
package library ของภาษา Java เข้ามายังโปรแกรม โดยการใช้คำสั่ง import
ทำการนำเข้า package มายังโปรแกรมimport java.util.Scanner;ต่อไปเราใช้เมธอด
next()
ด้วยคำสั่ง sn.next();
ในการอ่านค่าชื่อเข้ามายังตัวแปร name
และอ่านค่าตัวเลขด้วยคำสั่ง sn.nextInt();
มาเก็บไว้ในตัวแปร number
ในการรับค่านั้นเมื่อกดปุ่ม Return
จะเป็นการสิ้นสุดการรับค่าของคำสั่งนั้น
และค่าที่รับเข้ามาควรถูกต้องในรูปแบบของเมธอดที่เรียกใช้Note: sn.nextLine() ที่คุณเห็นนั้นคือการโปรแกรมแบบออบเจ็คที่คุณจะได้เรียนในภายหลังของบทเรียน นี้ ในตอนนี้แค่เข้าใจว่ามันคือวิธีในการรับข้อมูล ไม่ต้องกังวลเกี่ยวกับเรื่องนี้ถ้าคุณยังไม่เข้าใจในตอนนี้และหลังจากโปรแกรมรัน จะได้ผลลัพธ์ดังนี้ โดยผลลัพธ์นั้นจะรวมข้อมูลที่ผู้ใช้กรอกด้วย ซึ่งจะเป็นตัวหน้า
Greeting program Enter your name: Marcus Enter your favorite number: 16 Hello Marcus, your favorite number is 16ยังมีเมธอดต่างๆ อีกในคลาส
Scanner
ที่คุณสามารถใช้ได้ เช่น เมธอด nextFloat()
รับค่าตัวเลขทศนิยม หรือเมธอด nextLine()
รับค่า String ทีละบรรทัด คุณสามารถดูได้โดยการใช้ Auto Suggestion ใน IDE ที่คุณใช้ โดยการพิมพ์ sn.
แล้วจะมีเมธอดและ property ต่างแสดงขึ้นมาให้คุณเลือกใช้พร้อมคำอธิบายการใช้งานคุณใช้เคล็ดลับนี้ได้กับทุกบทในบทเรียนนี้ใน บทนี้ คุณได้เรียนรู้วิธีการแสดงผลบนหน้าจอคอมพิวเตอร์ และการรับข้อมูลจากผู้ใช้จากคีย์บอร์ดมาเก็บไว้ในตัวแปร เพื่อนำไปใช้ในโปรแกรมต่อไป
ไม่มีความคิดเห็น:
แสดงความคิดเห็น