วันพุธที่ 17 สิงหาคม พ.ศ. 2559

อินพุต เอาต์พุต พื้นฐาน

ในการเขียนโปรแกรมนั้น สิ่งที่สำคัญคือการที่โปรแกรมสามารถติดต่อกับผู้ใช้ ซึ่งจะมีในสองลักษณะคือ 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 NameSymbol
\tTab[Tab]
\bBackspace [Backspace ]
\nNewline [Newline]
\rCarriage [Enter]
\fFormfeed [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 ต่างแสดงขึ้นมาให้คุณเลือกใช้พร้อมคำอธิบายการใช้งานคุณใช้เคล็ดลับนี้ได้กับทุกบทในบทเรียนนี้
ใน บทนี้ คุณได้เรียนรู้วิธีการแสดงผลบนหน้าจอคอมพิวเตอร์ และการรับข้อมูลจากผู้ใช้จากคีย์บอร์ดมาเก็บไว้ในตัวแปร เพื่อนำไปใช้ในโปรแกรมต่อไป

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...