ภาษา Java |
|
Java เป็นภาษาโปรแกรมที่ใช้ในการเขียนคำสั่งสั่งงานคอมพิวเตอร์ ซึ่งพัฒนาขึ้นโดยบริษัท ซันไมโครซิสเต็มส์ จำกัด (Sun Microsystems Inc.) ในปี ค.ศ. 1991 เป็นส่วนหนึ่งของโครงการวิจัยเพื่อพัฒนาซอฟต์แวร์ สำหรับอุปกรณ์อิเล็กทรอนิคส์ต่างๆ เช่น โทรทัศน์ โทรศัพท์มือถือ โดยมีเป้าหมายการทำงานเชื่อมต่อกับอุปกรณ์ฮาร์ดแวร์ต่างๆได้อย่างกว้างขวาง และมีประสิทธิภาพ ใช้เวลาน้อย รวดเร็วในการพัฒนาโปรแกรม และสามารถเชื่อมต่อไปยังแพล็ตฟอร์ม (Platform) อื่นๆได้ง่าย Java เป็นภาษาสำหรับเขียนโปรแกรมภาษาหนึ่งที่มีลักษณะสนับสนุนการเขียนโปรแกรมเชิงวัตถุ (OOP : Object-Oriented Programming) ที่ชัดเจน โปรแกรมต่าง ๆ ถูกสร้างภายในคลาส (Class) โปรแกรมเหล่านั้นเรียกว่า Method หรือ Behavior โดยปกติจะเรียกแต่ละ Class ว่า Object โดยแต่ละ Object มีพฤติกรรมมากมาย โปรแกรมที่สมบูรณ์จะเกิดจากหลาย object หรือหลาย Class มารวมกัน โดยแต่ละ Class จะมี Method หรือ Behavior แตกต่างกันไป
|
ข้อดีของภาษา Java |
|
1. ภาษา Java เป็นภาษาโปรแกรมที่ง่ายในการเรียนรู้ ภาษา Java มีคุณลักษณะต่างๆ ดังนี้ เช่น เชื่อมต่อข้ามแพล็ตฟอร์ม (Platforms) ต่างๆ ได้ สามารถเขียนโปรแกรมแบบ OOP (Object-Oriented Programming) ได้งายมาก โปรแกรมมีขนาดเล็ก และมีวิธีการเขียนไม่ยุงยากซับซ้อน ดังนั้นโปรแกรมที่เขียนด้วยภาษา Java จึงคอมไพล์ได้ง่ายตลอดจนตรวจสอบหาข้อผิดพลาดโปรแกรมได้ง่ายด้วย ภาษา java เป็นภาษาที่ทำความเข้าใจได้ง่ายมาก มีขนาดเล็กและยากที่จะเกิดข้อผิดพลาด เขียนคำสั่งได้ง่าย มีประสิทธิภาพในการทำงานและมีความยืดหยุ่นสูง
2. ภาษา Java เป็นการเขียนโปรแกรมเชิงวัตถุ OOP (Object-Oriented Programming) การเขียนโปรแกรมเชิงวัตถุ เป็นเทคนิคการเขียนโปรแกรมให้มีลักษณะเป็นโมดูล (Module) แบ่งโปรแกรมเป็นส่วนๆ ตามสภาวะแวดล้อมการทำงานของโปรแกรมซึ่งเรียกว่า Method โดยทุก Method ก็คือ ระเบียบวิธี หรือการทำงานอย่างใดอย่างหนึ่ง โดยจะถูกรวบรวมอยู่ในคลาส ซึ่งหลักการเขียนโปรแกรมเชิงวัตถุจะมององค์ประกอบของโปรแกรมต่างๆเป็นคลาสหรือวัตถุ เรียกว่า Object ตัวอย่าง เช่น วัตถุที่มองเห็นได้ เช่น รถ สินค้า หรือ วัตถุที่ไม่สามารถมองเห็นได้ เช่น เหตุการณ์ต่างๆ ข้อมูลต่างๆของ Object จะถูกซ่อนไว้คลาสเรียกว่า Data Encapsulation ซึ่งมีประโยชน์ในการแก้ไขข้อมูลหรือ Method ใดๆ ที่อยู่ในคลาส โดยไม่ส่งผลกระทบต่อการทำงานหรือเรียกใช้งานของ Object นั้น
นอกจากนั้น Java ยังมีคุณสมบัติการสืบทอด (Inheritance) เพื่อส่งผ่านและถ่ายทอดลักษณะต่างๆ ของคลาสแม่ไปยังคลาสลูก ทำให้เขียนโปรแกรมได้ง่ายขึ้น และมีโครงสร้างการทำงานที่เข้าใจง่ายและมีความสัมพันธ์กัน
3. ภาษา Java เป็นอิสระต่อแพล็ตฟอร์ม (Java is Platform-Independent)Java เป็นอิสระต่อแพล็ตฟอร์ม ทั้งระดับซอร์ซโค้ด (Source Code) และไบนารีโค้ด (Binary Code) ช่วยให้สามารถเคลื่อนย้ายโปรแกรมจากระบบคอมพิวเตอร์หนึ่งไปยังระบบคอมพิวเตอร์อื่นได้อย่างง่ายดาย เพราะว่าโปรแกรมที่เขียนด้วยภาษา Java ได้รวบรวมคำสั่งต่างๆไว้ในไลบรารีคลาสพื้นฐานต่างๆ เป็น Java Packages ช่วยอำนวยความสะดวกในการเขียนคำสั่ง เมื่อย้ายโปรแกรมไปยังแพล็ตฟอร์มอื่น โดยไม่ต้องเขียนซอร์ซโค้ด (Source Code) ขึ้นใหม่ทำให้ประหยัดเวลามาก เมื่อคอมไพล์ซอร์ซโค้ด จะได้ไฟล์ไบนารีโค้ด ที่เรียกว่า Bytecode การรันโปรแกรมของ Java จะทำงานในลักษณะอินเทอร์พรีเตอร์ (Interpreter) ของไฟล์ Bytecode ซึ่งสามารถรันบนแพล็ตฟอร์มใดๆ ก็ได้ รวมทั้งระบบปฏิบัติการต่างๆ เช่น ระบบ Windows, Solaris, Linux หรือ MacOS โดยการแปลคำสั่งทีละคำสั่ง แพล็ตฟอร์มที่ Java ทำงานได้จะต้องประกอบด้วย 2 ส่วน คือ Java Virtual Machine (JVM) และ Java Application Programming Interface (Java API) โดย Java Virtual Machine คือเครื่องมือที่รวบรวมคำสั่งคอมไฟล์และรันโปรแกรม Java ส่วน Java API เป็นกลุ่มของคลาส และอินเตอร์เฟส (Interface) ที่รวมอยู่ในไลบรารีที่เรียกว่า Java Package เช่น java.awt, java.util หรือ java.io เป็นต้น ลักษณะการทำงานของ Java ที่เป็นอิสระต่อแพล็ตฟอร์มโดยการเขียนโปรแกรมเพียงครั้งเดียวแต่สามารถนำไปใช้ทำงานยังเครื่องอื่นๆ ได้ นั้นเรียกว่า Write once, Run anywhere นั้นเอง
4. ภาษา Java มีระบบการทำงานและมีระบบความปลอดภัยที่ดี Java จะคำสั่งต่างๆที่เป็นส่วนประกอบของ Java API โดยมีการรวบรวมเป็นคลาสต่างๆไว้มากมาย ช่วยอำนวยความสะดวกในการเขียนโปรแกรม นอกจากนั้นยังมี Garbage Collector โดยมีระบบจัดการหน่วยความจำเพื่อเก็บขยะของโปรแกรมและคืนหน่วยความจำให้กับระบบ โปรแกรมที่เขียนด้วยภาษา Java มีระบบจัดการข้อผิดพลาดที่เกิดจากการทำงานของโปรแกรมที่เรียกว่า Exception Handling ด้วยทำให้สามารถตรวจสอบโปรแกรม (Debug) โปรแกรมได้ง่ายขึ้น Java มีระบบความปลอดภัยที่ดี เช่น โปรแกรม Java ที่ทำงานบนเว็บบราวเซอร์ (Web Browser) ที่เรียกว่า Java Applet นั้นจะทำงานเฉพาะบนเครื่องแม่ข่าย (Server) โดยไม่สามารถเข้าถึงเครื่องลูกข่าย (Client) ไปทำลายไฟล์ หรือไฟล์ระบบ (System file) ได้ ทำให้มีระบบความปลอดภัยที่ดี ป้องกันข้อมูลจากไวรัส และโปรแกรมที่เขียนด้วย Java ไม่มีพฤติกรรมเป็นไวรัส ได้
|
เครื่องมือที่ใช้ในการพัฒนาโปรแกรม |
|
เครื่องคอมพิวเตอร์ที่ใช้ในการเขียนโปรแกรมด้วยภาษา Java จะต้องมีโปรแกรมที่รวมคำสั่งต่างๆ ให้สามารถคอมไฟล์ และรันโปรแกรมได้ที่เรียกว่า Java Virtual Machine ซึ่งเป็นเครื่องมือที่ช่วยในการเขียน และพัฒนาโปรแกรม Java Virtual Machine จะอยู่ในโปรแกรมชุดพัฒนาจาวาที่เรียกว่า JDK (Java Development Kit) เป็นลิขสิทธิ์ของบริษัท Sun Microsystems ที่ใช้บริการฟรีบนอินเตอร์เน็ต ซึ่งประกอบด้วยคำสั่งต่างๆ และเครื่องมือที่ใช้ในการคอมไพล์ และรันโปรแกรมที่เขียนด้วยภาษา Java โดยการดาวน์โหลด (Download) โปรแกรมชุดพัฒนาจาวา JDK ได้ที่เว็บไซต์ www.java.sun.com ซึ่งจะมีโปรแกรม JDK เวอร์ชันใหม่ตลอดเวลา และเลือกระบบปฏิบัติการที่ต้องการใช้ หลังจากนั้นได้ทำการติดตั้ง และลงโปรแกรมให้เรียบร้อย เครื่องมือ และคำสั่งที่ใช้ในการสร้างโปรแกรม Java จะถูกเก็บไว้ในโฟลเดอร์ของ Java ที่ชื่อ bin เช่น C:\java\bin เป็นต้น ประกอบด้วยคำสั่งที่สำคัญดังนี้
ไฟล์
|
คำอธิบาย
|
javac.exe |
คอมไพล์เลอร์ (Compiler) ของ Java เป็นคำสั่งที่ใช้คอมไฟล์ ตรวจสอบไวยากรณ์ของโปรแกรมโดยการแปลงไฟล์ซอร์สโค้ด ให้เป็นไฟล์ไบต์โค้ดที่เป็นคลาสของโปรแกรม |
java.exe |
อินเตอร์พรีเตอร์ (Interpreter) ของ Java เป็นคำสั่งที่ใช้ในการรันไฟล์ไบต์โค้ดที่คอมไพล์ แล้วให้ทำงานตามคำสั่งของโปรแกรม |
appletviewer.exe |
Applet Viewer เป็นคำสั่งที่ใช้ทดสอบและรันโปรแกรมแอปเพล็ต |
javadoc.exe |
ผลิตเอกสารของคำสั่ง API ใช้สร้างเอกสารของ Java API ในรูปแบบของ HTML จาก
ซอร์สโค้ดของ Java |
javap.exe |
การแยกและถอดไฟล์ของ Java และพิมพ์ออกมาเป็นตัวแทนของไบต์โค้ด (Bytecode) |
jdb.exe |
ดีบักเกอร์(Debugger) ของ Java ใช้ในการตรวจสอบข้อผิดพลาดในโปรแกรมพร้อมรายงานข้อผิดพลาดที่เกิดขึ้น |
|
การเขียนโปรแกรมด้วยภาษา Java ประกอบด้วยขั้นตอนการทำงานทั้งหมด 3 ขั้นตอน ดังนี้
ขั้นตอนที่ 1 สร้างโปรแกรมซอร์สโค้ด โดยการพิมพ์คำสั่งต่างๆ ตามหลักการเขียนโปรแกรมด้วยภาษา Java โดยใช้เอดิเตอร์ (Editor) หรือโปรแกรมที่สามารถพิมพ์ข้อความ (Text Editor) และสามารถบันทึกไฟล์เป็นรหัสแอสกี (ASCII) ได้ เช่น โปรแกรม Notepad หรือ โปรแกรม Editplus เป็นต้น หลังจากเขียนโปรแกรมเสร็จเรียบร้อยแล้ว ต้องทำการบันทึกข้อมูลเป็นไฟล์ที่มีชื่อเดียวกันกับชื่อคลาสของ Java และใช้นามสกุลไฟล์เป็น java ตัวอย่างเช่น TestJava.java
ขั้นตอนที่ 2 คอมไพล์โปรแกรมซอร์สโค้ด โดยการใช้คำสั่ง javac.exe ที่มากับการติดตั้ง JDK แล้ว มีรูปแบบคำสั่ง คือ javac FileName.java เมื่อ FileName.java คือ ชื่อไฟล์ใดๆ ที่มีนามสกุล java ถ้าไม่มีข้อผิดพลาดใดๆ ผลลัพธ์ที่ได้จากการคอมไพล์ จะได้ไฟล์ไบต์โค้ดที่ชื่อเดียวกับชื่อคลาส ตัวอย่างเช่น javac TestJava.java หลังจากการคอมไพล์จะได้ไฟล์ TestJava.class ข้อสำคัญในการคอมไพล์ไฟล์ซอร์สโค้ด คือต้องพิมพ์ชื่อไฟล์พร้อมนามสกุลเป็น java เสมอ และต้องพิมพ์ชื่อไฟล์ด้วยตัวอักษรตัวใหญ่หรืตัวเล็กให้ถูกต้องตามการตั้งชื่อคลาส
ขั้นตอนที่ 3 ทำการรันโปรแกรม เพื่อดูผลลัพธ์ทางจอภาพโดยการรันไฟล์ไบต์โค้ด โดยการใช้คำสั่ง javac.exe ที่มากับการติดตั้ง JDK แล้วซึ่งมีรูปแบบคำสั่งคือ java FileName เมื่อ FileName คือ ชื่อไฟล์ใดๆ ไม่ต้องมีนามสกุล
ดังนั้นการรันโปรแกรมเพียงแค่พิมพ์ชื่อไฟล์ไม่ต้องพิมพ์นามสกุลของไฟล์ และต้องพิมพ์ชื่อไฟล์ด้วยตัวอักษรตัวใหญ่หรืตัวเล็กให้ถูกต้องตามชื่อคลาส ตัวอย่างเช่น java TestJava เมื่อ TestJava คือชื่อไฟล์ TeatJava.class
ดังนั้นสิ่งที่ต้องคำนึงก่อนเขียนโปรแกรมด้วยภาษา Java จะต้องทำขั้นตอนดังนี้
1. ต้องตรวจสอบว่าในเครื่องคอมพิวเตอร์มี JDK (Java Development Kit) และโปรแกรมที่ใช้เขียนซอร์สโค้ด (SourceCode) เช่น โปรแกรม Notepad, โปรแกรม Editplus หรือไม่ ถ้าไม่มีโปรแกรมข้างต้น ต้องทำการติดตั้ง และลงโปรแกรมดังกล่าวให้เรียบร้อยก่อน
2. ตรวจสอบโฟลเดอร์และไฟล์ของ JDK ที่ใช้ในการคอมไพล์ (compile) คือ javac.exe และรันโปรแกรม (run) คือ java.exe ตัวอย่าง โฟลเดอร์ของไฟล์ java เช่น C:\j2sdk1.4.1_03\bin
3. ทำการติดตั้งและแก้ไขโปรแกรม (Config) เครื่องมือในการเขียนโปรแกรม ด้วยโปรแกรม Editplus ได้ดังนี้
1. ไปทีเมนู Tools เลือก Preferences หรือไปทีเมนู Tools เลือก Configure User Tools…
2. ไปที่เมนู Tools เลือก User Tool Groups ไปที่ View เลือก Toolbars/Views เลือก User Toolbar
|
3. สร้างโฟลเดอร์ เพื่อบันทึกไฟล์ซอร์สโค้ด เช่น D:\work
4. เลือก Directory ในโปรแกรม Editplus ให้ถูกต้องเพื่อใช้อ้างอิงในการรันโปรแกรม
5. ทดสอบโปรแกรม Java โดย ไปที่เมนู File -> New -> Java
5.1 ตั้งชื่อ Class เช่น TestJava
5.2 บันทึกไฟล์ชื่อเดียวกับชื่อ Class เช่น TestJava.java
5.3 เลือก Tools->Compile
5.4 เลือก Tools->Run |
ตัวอย่างการเขียนโปรแกรมด้วย Java |
|
ตัวอย่างแรกของการเขียนโปรแกรมด้วย Java จะเป็นตัวอย่างที่เขียนด้วยคำสั่งง่ายๆ คือ โปรแกรมที่แสดงข้อความ “Hello World!” ออกทางจอภาพ ดังตัวอย่างไฟล์ TestJava.java
class TestJava
{
public static void main(String[] args)
{
System.out.println(“Hello World!”);
}
}
ไฟล์ TestJava.java มีหลักการเขียนโปรแกรม ดังคำอธิบายต่อไปนี้
1. โปรแกรมทั้งหมดจะเขียนอยู่ภายในคลาส (Class) ที่ชื่อ TestJava เพียงคลาสเดียว
2. ภายในคลาสจะประกอบด้วยฟังก์ชัน(Method) ที่ชื่อ main ซึ่งทำหน้าที่เป็นฟังก์ชันหลักในการสั่งในโปรแกรมทำงาน
3. ภายในฟังก์ชัน main จะประกอบด้วยคำสั่งต่างๆ ที่ต้องการเขียนโปรแกรมด้วย Java เช่น System.out.println(“Hello World!”);
|
การแสดงผลทางจอภาพ |
|
คำสั่งที่ใช้ในการแสดงผลข้อมูลออกทางจอภาพ ได้แก่
1. คำสั่ง System.out.print() คือคำสั่งในการแสดงข้อความทางจอภาพในบรรทัดที่เคอ
เซอร์อยู่โดยไม่มีการขึ้นบรรทัดใหม่ มีรูปแบบการใช้งาน ดังนี้
รูปแบบคำสั่ง
System.out.print(String text);
System.out.print(int x);
System.out.print(char ch);
เมื่อ
text คือข้อความที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมายคำพูด (“ … ”)
x คือตัวเลขที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมายคำพูด (“ … ”)
ch คือตัวอักขระที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมาย ‘ และ ’
ตัวอย่างเช่น
System.out.print(“Hello World!”);
System.out.print(2500);
System.out.print(‘A’);
ผลลัพธ์ทางจอภาพ
Hello World!2500A
2. คำสั่ง System.out.println() คือคำสั่งในการแสดงข้อความทางจอภาพแล้วขึ้น
บรรทัดใหม่ มีรูปแบบการใช้งาน ดังนี้
รูปแบบคำสั่ง
System.out.println();
System.out.println(String text);
System.out.println(int x);
System.out.println(char ch);
เมื่อ
text คือข้อความที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมายคำพูด (“ … ”)
x คือตัวเลขที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมายคำพูด (“ … ”)
ch คือตัวอักขระที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมาย ‘ และ ’
ตัวอย่างเช่น
System.out.println(“Hello World!”);
System.out.println();
System.out.println(2500);
System.out.println(‘A’);
ผลลัพธ์ทางจอภาพ
Hello World!
2500
A
กรณีต้องการแสดงข้อความพร้อมกันในคำสั่ง System.out.println() ในครั้งเดียว ให้ใช้เครื่องหมาย + ในการเชื่อมข้อมูล
ตัวอย่างเช่น
System.out.println(“Hello World!”+2500+ ‘A’);
System.out.println(“Hello World!\n”+2500+ ‘A’);
ผลลัพธ์ทางจอภาพ
Hello World!2500A
Hello World!
2500A |
การรับค่าจากแป้นพิมพ์ |
|
7.1 การรับค่าจากแป้นพิมพ์เป็นจำนวนเต็ม
บรรทัดที่
|
|
คำอธิบาย
|
1
2
3
4
5
6
7
8
9
10
11
12
|
import java.io.*;
class InputNumber {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num;
try{
System.out.print(“Input a Number::”);
num = Integer.parseInt(br.readLine());
System.out.println(“Show input = “+num);
}catch(IOException e){ System.err.println(e); }
}
} |
|
7.2 การรับค่าจากแป้นพิมพ์เป็นจำนวนทศนิยม
บรรทัดที่
|
|
คำอธิบาย
|
5
6
7
8
9
10
|
float num;
try{
System.out.print(“Input a Number::”);
num = Float.parseFloat(br.readLine());
System.out.println(“Show input = “+num);
}catch(IOException e){ System.err.println(e); } |
|
7.3 การรับค่าจากแป้นพิมพ์เป็นข้อความ String
บรรทัดที่
|
|
คำอธิบาย
|
5
6
7
8
9
10
|
String str;
try{
System.out.print(“Input a String::”);
str = br.readLine();
System.out.println(“Show input = “+str);
}catch(IOException e){ System.err.println(e); } |
|
7.4 การรับค่าจากแป้นพิมพ์เป็นอักขระ 1 ตัว
บรรทัดที่
|
|
คำอธิบาย
|
5
6
7
8
9
10
11
12
|
String str;
char ch;
try{
System.out.print(“Input a Character::”);
str = br.readLine();
ch = str.charAt(0);
System.out.println(“Show input = “+ch);
}catch(IOException e){ System.err.println(e); } |
|
|
ไวยากรณ์ของภาษา Java |
|
การเขียนโปรแกรมด้วยภาษา Java ต้องประกอบด้วยคำสั่งต่างๆ ตัวอักขระ หรือข้อความ ที่อยู่ในรูปแบบที่ภาษา Java แปลความหมายได้และถูกต้องตามหลักไวยากรณ์ของภาษา Java ซึ่งประกอบด้วยรูปแบบประเภทต่างๆ ดังนี้
1.1 หมายเหตุ (Comment)
หมายเหตุ คือข้อความที่แทรกอยู่ภายในซอร์สโค้ดของโปรแกรม เพื่อใช้อธิบายการทำงาน เตือนความจำ หรือเพื่อให้ผู้เขียนโปรแกรมและผู้พัฒนาโปรแกรมต่อเข้าใจได้ง่ายขึ้น ช่วยให้สามารถแก้ไขและปรับปรุงโปรแกรมได้ง่ายขึ้น ข้อความหมายเหตุนี้จะถูกมองข้ามเมื่อทำการคอมไพล์โปรแกรมและไม่มีผลกระทบต่อการรันโปรแกรม ในการเขียนโปรแกรมด้วยภาษา Java มีรูปแบบของหมายเหตุ 2 แบบ ดังนี้
1. หมายเหตุบรรทัดเดียว(Line Comment) จะใช้เครื่องหมาย // นำหน้าข้อความหมายเหตุ โดยข้อความหมายเหตุอยู่ภายใน 1 บรรทัดที่อยู่หลังเครื่องหมาย // จะไม่มีผลต่อโปรแกรม ตัวอย่างเช่น
int i; // just to define i
2. หมายเหตุหลายบรรทัด(Block Comment) จะใช้เครื่องหมาย /* นำหน้าข้อความหมายเหตุและใช้เครื่องหมาย */ ปิดท้ายข้อความหมายเหตุ ตัวอย่างเช่น
int i;
/* Just to define i
This is a block comment
*/
ตัวอย่างโปรแกรม แสดงการเขียนหมายเหตุ
/* Programmer Name :: abc
Date :: 01/08/06
*/
class TestComment {
public static void main(String[] args) {
int x=0, y=0; // Declare variables
for(int i=0; i < 5; i++){
x = i;
y = 2*i;
System.out.println(“X+Y=”+(x+y));
} // End of for
}
} |
|
1.2 ตัวระบุ (Identifier)
ตัวระบุ (Identifier) หรือโทเคน (Token) ของภาษา Java เป็นคำที่ใช้ตั้งชื่อในภาษา Java ซึ่งอาจเป็นชื่อฟังก์ชั่นหรือคำศัพท์ที่ภาษา Java เข้าใจ ใช้ในการกำหนดเป็นชื่อ คลาส (Class) เมธอด (Method) คำสงวน (Keyword) ตัวแปร (Variable) และ ค่าคงที่ (Constant) เป็นต้น ซึ่งจะต้องตั้งชื่อให้ถูกต้องตามหลักการตั้งชื่อตัวระบุโดยทั่วไป ดังนี้
1. ขึ้นต้นด้วยตัวอักษรภาษาอังกฤษ (a ถึง z หรือ A ถึง Z) หรือ เครื่องหมายขีดเส้นใต้ (underscore) ( _ ) หรือ dollar sign ($) เท่านั้น
2. ตัวถัดไปประกอบด้วยตัวอักษรภาษาอังกฤษ (a ถึง z หรือ A ถึง Z), ตัวเลขอารบิก (0 ถึง 9), เครื่องหมายขีดเส้นใต้ (underscore) ( _ ) หรือ dollar sign ($) เท่านั้น
3.การตั้งชื่อด้วยตัวอักษรเล็กหรือใหญ่จะเป็นชื่อที่แตกต่างกัน (Case Sensitive) ตัวอย่างเช่น Student กับ student จะเป็นชื่อที่ต่างกัน
4. ตัวระบุที่นิยามขึ้นมาเองห้ามตั้งชื่อซ้ำกับคำสงวน (Keyword)
ตัวอย่างของตัวตัวระบุ (Identifier) ที่ถูกต้อง ดังเช่น
MyClass |
ตัวอักษรตัวแรกเป็นตัวอักษร และตามด้วยตัวอักษรถูกต้องตามกฎข้อ1 และข้อ2 |
student_Score |
เป็นการตั้งชื่อที่ถูกต้องตามกฎข้อ1และ2 ให้เครื่องหมายขีดเส้นใต้แบ่งข้อความให้อ่านง่าย |
number2 |
เป็นการตั้งชื่อที่ถูกต้องตามกฎข้อ1และ2 ใช้ตัวเลขตามหลังตัวอักษรได้ |
firstStudentRecord_Number |
เป็นการตั้งชื่อที่ถูกต้องตามกฎข้อ1และ2 ใช้ตัวอักษรพิมพ์ใหญ่ของแต่ละคำเพื่อให้อ่านง่าย |
ตัวอย่างของตัวระบุ(Identifier) ที่ไม่ถูกต้อง ดังเช่น
My Class |
เป็นการตั้งชื่อที่ไม่ถูกต้องเพราะมีช่องว่าง ซึ่งผิดกฎข้อ2 |
x+y |
เป็นการตั้งชื่อที่ไม่ถูกต้องเพราะเครื่องหมาย + ซึ่งผิดกฎข้อ2 |
2x |
เป็นการตั้งชื่อที่ไม่ถูกต้องเพราะขึ้นต้นด้วยตัวเลข ซึ่งผิดกฎข้อ1 |
return |
เป็นการตั้งชื่อที่ไม่ถูกต้องเพราะเป็นชื่อซ้ำกับคำสงวน ซึ่งผิดกฎข้อ4 |
คำแนะนำในการตั้งชื่อ Class
1. ตัวอักษรตัวแรกของทุกคำขึ้นต้นด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์ใหญ่ (A ถึง Z)
2. ตัวถัดไปประกอบด้วย ตัวอักษรภาษาอังกฤษพิมพ์เล็ก (a ถึง z), ตัวเลขอารบิก (0 ถึง 9)
3. ใช้ตัวอักษรตัวแรกของทุกคำเป็นตัวพิมพ์ใหญ่ หรือ underscore เพื่อให้อ่านง่าย
4. ควรตั้งชื่อเป็นคำนามและสื่อความหมายของคลาสนั้นๆ
ตัวอย่างชื่อ Class เช่น BufferedReader, MyClass
คำแนะนำในการตั้งชื่อตัวแปร (Variable)
1. ขึ้นต้นชื่อด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก (a ถึง z)
2. ตัวถัดไปประกอบด้วย ตัวอักษรภาษาอังกฤษ, ตัวเลขอารบิก (0 ถึง 9)
3. ใช้ตัวอักษรตัวแรกของคำต่อไปเป็นตัวพิมพ์ใหญ่ หรือ underscore เพื่อให้อ่านง่าย
4. ควรตั้งชื่อเป็นคำนามและสื่อความหมาย หรือเป็นคำสั้นๆ จำได้ง่าย
ตัวอย่างชื่อตัวแปร เช่น name, studentRecord
คำแนะนำในการตั้งชื่อ Method
1. ขึ้นต้นชื่อด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก (a ถึง z)
2. ตัวถัดไปประกอบด้วย ตัวอักษรภาษาอังกฤษ, ตัวเลขอารบิก (0 ถึง 9)
3. ใช้ตัวอักษรตัวแรกของคำต่อไปเป็นตัวพิมพ์ใหญ่ หรือ underscore เพื่อให้อ่านง่าย
4. ควรตั้งชื่อเป็นคำกริยาและสื่อความหมาย
ตัวอย่างชื่อ Method เช่น getName(), isLetter()
คำแนะนำในการตั้งชื่อ ค่าคงที่ (Constant)
1. ตั้งชื่อด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์ใหญ่ (A ถึง Z) ทั้งหมด
2. ใช้ underscore ใช้ในการแบ่งคำแต่ละคำ
ตัวอย่างชื่อค่าคงที่ เช่น MAX_VALUE, MIN_VALUE
1.3 คำสงวน (Keyword)
คำสงวนในภาษา Java คือคำศัพท์ที่คอมไพเลอร์ของภาษา Java เข้าใจได้ เป็นคำสั่งสำคัญที่ใช้แทนความหมายของการทำงานต่างๆและใช้ได้เฉพาะคำสั่งของ Java เท่านั้น ผู้เขียนโปรแกรมไม่สามารถนำมาตั้งชื่อเป็นตัวระบุต่างๆ เช่น ชื่อตัวแปร ชื่อคลาส ชื่อเมธอด ได้ คำสงวนในภาษา Java ประกอบด้วยคำศัพท์ ดังนี้
คำสงวนในภาษา Java
|
abstract |
default |
if |
package |
throw |
boolean |
do |
implements |
private |
thows |
break |
double |
import |
protected |
transient |
byte |
else |
inner |
public |
try |
byvalue |
extends |
instanceof |
rest |
var |
case |
final |
int |
return |
void |
cast |
finally |
interface |
short |
volatile |
catch |
float |
long |
static |
while |
char |
for |
native |
super |
|
class |
future |
new |
switch |
|
const |
generic |
operator |
synchronized |
|
continue |
goto |
outer |
this |
|
คำสงวนทุกตัวต้องเขียนด้วยตัวอักษรพิมพ์เล็กเท่านั้นและห้ามนำมาตั้งเป็นชื่อตัวแปร ส่วนคำว่า true และ false ไม่ใช่คำสงวนเพราะเป็นข้อมูลของค่าคงที่ตรรกะ และ null เป็นค่าคงที่ของตัวแปรสตริง (String)
1.4 สัญลักษณ์แยกคำ(Separator)
ในการเขียนโปรแกรมด้วยภาษา Java มีสัญลักษณ์ที่ใช้ในการแยกคำ ดังนี้
สัญลักษณ์แยกคำ
|
หน้าที่
|
;
|
เพื่อการสิ้นสุดประโยคคำสั่งของภาษา Java |
( )
|
ใช้สำหรับต่อท้ายเมธอดหรือคำสั่ง ตัวอย่างเช่น if(), functionTest() เป็นต้น |
,
|
สำหรับแยกตัวแปร หรือคำสั่ง ตัวอย่างเช่น int x,y,z; |
.
|
ใช้ในการระบุคุณลักษณะ หรือเมธอดของคลาส ตัวอย่างเช่น System.out.println();
ใช้ในการระบุแพ็คเกจของภาษ Java เช่น java.io.*; |
{ }
|
เพื่อระบุขอบเขตของคำสั่งของภาษา Java โดยคำสั่งต่างๆจะอยู่ภายในบล็อก เช่น คำสั่งที่อยู่ภายในคลาส เมธอด หรืออยู่ภายในคำสั่งควบคุมต่างๆ เช่น if, while, do..while หรือ for เป็นต้น |
ช่องว่าง
(Whitespace)
|
ใช้ช่องว่างเพื่อแยกคำสั่ง ข้อความต่างๆโดยคอมไพเลอร์ของภาษา Java จะไม่สนใจและไม่มีผลต่อโปรแกรม ช่องว่างทำให้อ่านซอร์สโค้ดได้ง่ายขึ้น รูปแบบของช่องว่าง ได้แก่ การกดคีย์แทบ (Tab), ช่องว่าง (Space bar) และขึ้นบรรทัดใหม่ (Enter) บนแป้นพิมพ์ |
1.5 ข้อมูลค่าคงที่
ข้อมูลค่าคงที่คือคำที่ใช้ในการแสดงข้อมูลที่เป็นตัวเลข ตัวอักขระ ข้อความ หรือค่าทางตรรกะ ซึ่งในภาษา Java ได้กำหนดข้อมูลค่าคงที่ไว้ 5 ประเภท ดังนี้
1. ตรรกะ (Boolean)
2. ตัวอักขระ (Character)
3. ตัวเลขจำนวนเต็ม (Integer)
ค่าคงที่ตัวเลขจำนวนเต็ม ประกอบด้วยลำดับของตัวเลข ซึ่งสามารถเขียนได้โดยใช้
ระบบจำนวน(Number System) อาทิเช่น ระบบเลขฐานสิบ ฐานแปด และฐานสิบหกค่าคงที่ตัวเลขจำนวนเต็มฐานสิบแต่ละหลักต้องประกอบด้วยตัวเลข 0 ถึง 9 โดยตัวเลขหลักแรกต้องไม่เป็น 0 และไม่มีเครื่องหมายอื่นๆ เช่น จุลภาค(,) จุดทศนิยม(.) หรือ ช่องว่าง เป็นต้น
ตัวอย่างของค่าคงที่ตัวเลขจำนวนเต็มฐานสิบที่ถูกต้อง ได้แก่
0 1 123 5482 364820 9994750
ตัวอย่างของค่าคงที่ตัวเลขจำนวนเต็มฐานสิบที่ไม่ถูกต้อง ได้แก่
12,510 |
เป็นค่าคงที่ตัวเลขจำนวนเต็มที่ผิดเพราะมีเครื่องหมายจุลภาค |
360.52 |
เป็นค่าคงที่ตัวเลขจำนวนเต็มที่ผิดเพราะมีเครื่องหมายจุดทศนิยม |
15 822 |
เป็นค่าคงที่ตัวเลขจำนวนเต็มที่ผิดเพราะมีช่องว่าง |
123-456-789 |
เป็นค่าคงที่ตัวเลขจำนวนเต็มที่ผิดเพราะมีเครื่องหมายลบ |
09001 |
เป็นค่าคงที่ตัวเลขจำนวนเต็มที่ผิดเพราะมีเลข 0 นำหน้า |
ค่าคงที่ตัวเลขจำนวนเต็มฐานแปดแต่ละหลักต้องประกอบด้วยตัวเลข 0 ถึง 7 โดย
ตัวเลขหลักแรกต้องเป็น 0 และไม่มีเครื่องหมายอื่นๆ เช่น จุลภาค(,) จุดทศนิยม(.) หรือ ช่องว่าง เป็นต้น
ตัวอย่างของค่าคงที่ตัวเลขจำนวนเต็มฐานแปดที่ถูกต้อง ได้แก่
0 01 0123 05472
ตัวอย่างของค่าคงที่ตัวเลขจำนวนเต็มฐานแปดที่ไม่ถูกต้อง ได้แก่
752 |
เป็นค่าคงที่ตัวเลขจำนวนเต็มที่ผิดเพราะไม่มี 0 นำหน้า |
05281 |
เป็นค่าคงที่ตัวเลขจำนวนเต็มที่ผิดเพราะมีตัวเลข 8 |
0475.510 |
เป็นค่าคงที่ตัวเลขจำนวนเต็มที่ผิดเพราะมีเครื่องหมายจุดทศนิยม (.) |
ค่าคงที่ตัวเลขจำนวนเต็มฐานสิบหกแต่ละหลักต้องประกอบด้วยตัวเลข 0 ถึง 9 และ
ตัวอักษร a ถึง f (ทั้งตัวเล็กตัวใหญ่) โดยต้องขึ้นต้นด้วย 0x หรือ 0X และไม่มีเครื่องหมายอื่นๆ เช่น จุลภาค(,) จุดทศนิยม(.) หรือ ช่องว่าง เป็นต้น
ตัวอย่างของค่าคงที่ตัวเลขจำนวนเต็มฐานสิบหกที่ถูกต้อง ได้แก่
0X 0X1 0x789FF 0xabcd
ตัวอย่างของค่าคงที่ตัวเลขจำนวนเต็มฐานสิบหกที่ไม่ถูกต้อง ได้แก่
0xDEFG |
เป็นค่าคงที่ตัวเลขจำนวนเต็มที่ผิดเพราะมีตัวอักษร G |
05281 |
เป็นค่าคงที่ตัวเลขจำนวนเต็มที่ผิดเพราะไม่ขึ้นต้นด้วย 0x หรือ 0X |
0X475.10 |
เป็นค่าคงที่ตัวเลขจำนวนเต็มที่ผิดเพราะมีเครื่องหมายจุดทศนิยม (.) |
ค่าคงที่ตัวเลขทศนิยม คือตัวเลขทศนิยมฐานสิบ ซึ่งประกอบด้วยตัวเลข 0 ถึง 9 และจุดทศนิยม หรือเลขชี้กำลังที่เขียนอยู่ในรูปแบบของเลขยกกำลัง (Exponential)
ตัวอย่างของค่าคงที่ตัวเลขทศนิยมที่ถูกต้อง ได้แก่
0. 1. 0.2 700225.542
50000. 0.000458 12.578 30.E4
25E-8 0.006e-3 1.678E+8 .12345e12
ตัวอย่างของค่าคงที่ตัวเลขทศนิยมที่ไม่ถูกต้อง ได้แก่
1 |
เป็นค่าคงที่ตัวเลขทศนิยมที่ผิดเพราะไม่มีจุดทศนิยมหรือเลขชี้กำลัง |
2E+10.2 |
เป็นค่าคงที่ตัวเลขทศนิยมที่ผิดเพราะเลขชี้กำลังต้องเป็นเลขจำนวนเต็มเท่านั้น |
12,000.158 |
เป็นค่าคงที่ตัวเลขทศนิยมที่ผิดเพราะมีเครื่องหมายจุลภาค |
|
ชนิดข้อมูล (Data Types) |
|
ในการเขียนโปรแกรมด้วยภาษา Java เช่นการประกาศตัวแปร หรือกำหนดค่าข้อมูลต่างๆ ต้องระบุชนิดข้อมูลอย่างชัดเจน โดยชนิดข้อมูลในภาษา Java มี 2 ประเภท คือ
1. ชนิดข้อมูลพื้นฐาน (Primitive Data Type) คือชนิดข้อมูลที่ใช้ในการเขียนโปรแกรมสำหรับเก็บข้อมูลชนิดต่างๆ ได้แก่ จำนวนเต็ม(Integer) จำนวนทศนิยม(Floating Point) ข้อมูลอักขระ(Character) และข้อมูลตรรกะ (Logical Data)
2. ชนิดข้อมูลแบบอ้างอิง (Reference Data Type) คือชนิดข้อมูลที่มีการอ้างอิงตำแหน่งในหน่วยความจำ ได้แก่ข้อมูลของคลาส เช่น String และข้อมูลแบบอาเรย์
ชนิดข้อมูลพื้นฐานในภาษา Java มีทั้งหมด 8 ชนิดข้อมูลโดยแบ่งออกเป็น 4 ประเภท ประกอบด้วย
1. ชนิดข้อมูลจำนวนเต็ม(Integer) ได้แก่ long, int, short และ byte
2. ชนิดข้อมูลจำนวนทศนิยม(Floating Point) ได้แก่ double และ float
3. ชนิดข้อมูลอักขระ(Character) ได้แก่ char
4. ชนิดข้อมูลตรรกะ (Logical Data) ได้แก่ boolean
ชนิดข้อมูลแต่ละประเภทจะมีขนาดและช่วงค่าของข้อมูลแตกต่างกัน และสามารถสรุปประเภทชนิดข้อมูล ขนาดและช่วงค่าของข้อมูล และค่าเริ่มต้น ได้ดังนี้
ประเภท
|
ชนิดข้อมูล
|
ขนาด
Size(bit)
|
ช่วงค่าข้อมูล
|
ค่าเริ่มต้น(Default)
|
จำนวนเต็ม
|
long
|
64
|
signed (two’s complement) มีค่าอยู่ระหว่าง
-9,223,372,036,854,775,808 ถึง 9,223,372,036,854,775,807
|
0L
|
|
int
|
32
|
signed (two’s complement) มีค่าอยู่ระหว่าง
-2,147,483,648 ถึง 2,147,483,647
|
0
|
|
short
|
16
|
signed (two’s complement) มีค่าอยู่ระหว่าง
-32,768 ถึง 32,767
|
0
|
|
byte
|
8
|
signed (two’s complement) มีค่าอยู่ระหว่าง
มีค่าอยู่ระหว่าง -128 ถึง 127
|
0
|
จำนวนทศนิยม
|
double
|
64
|
IEEE 754 มีค่าอยู่ระหว่าง
4.94065645841246544e-324 ถึง1.79769313486231570e+308
|
0.0
|
|
float
|
32
|
IEEE 754 มีค่าอยู่ระหว่าง
1.40129846432481707e-45 ถึง 3.40282346638528860e+38
|
0.0F
|
อักขระ
|
char
|
16
|
Unicode มีค่าอยู่ระหว่าง 0 ถึง 65,535
|
\u0000
|
ตรรกะ
|
boolean
|
1
|
มีค่าเท่ากับ true หรือ false
|
false
|
ชนิดข้อมูลแบบอื่นๆ
|
String
|
|
|
null
|
2.1 ชนิดข้อมูลจำนวนเต็ม(Integer)
ชนิดข้อมูลจำนวนเต็มประกอบด้วย 4 ชนิดได้แก่ long, int, short และ byte เป็นชนิดข้อมูลที่ใช้เก็บข้อมูลตัวเลขจำนวนเต็มในทางคณิตศาสตร์ ช่วงของข้อมูลขึ้นอยู่ขนาดของตัวแปรที่ประกาศ ตัวอย่างเช่น ตัวแปร int จะมีขนาด 32 บิต เก็บข้อมูลได้ -2,147,483,648 ถึง 2,147,483,647 การกำหนดค่าข้อมูลให้กับตัวแปรชนิดข้อมูลจำนวนเต็ม มีดังนี้
1. เลขฐานสิบคือการเขียนค่าของข้อมูลจำนวนเต็มทั่วไป เช่น 1200 150 -250 เป็นต้น โดยการเขียนจะไม่มีเครื่องหมาย , (Comma) เช่น 25,000 จะต้องเขียนเป็น 25000
2. เลขฐานแปดคือการเขียนค่าของข้อมูลจำนวนเต็มโดยใช้เลขฐานแปด โดยการขึ้นต้นข้อมูลด้วยเลข 0 แล้วตามด้วยเลข 0 ถึง 7 ตัวอย่างเช่น 036 เป็นเลขฐานแปด มีค่าเท่ากับ 30 ในเลขฐานสิบ
3. เลขฐานสิบหกคือการเขียนค่าของข้อมูลจำนวนเต็มโดยใช้เลขฐานสิบหก โดยการขึ้นต้นข้อมูลด้วยเลข 0x หรือ 0X แล้วตามด้วยเลข 0 ถึง 9 และ ตัวอักษร A ถึง F ตัวอย่างเช่น 0XB2 เป็นเลขฐานแปด มีค่าเท่ากับ 178 ในเลขฐานสิบ
การประกาศตัวแปรใดๆ ให้เป็นข้อมูลจำนวนเต็มต้องคำนึงถึงขอบเขตของช่วงข้อมูลที่เก็บได้ และต้องกำหนดค่าชนิดข้อมูลในเหมาะสมตรงกับชนิดข้อมูลที่ประกาศตัวแปร
ตัวอย่างการประกาศตัวแปรและกำหนดค่าข้อมูลของตัวแปร ดังนี้
long x1 = 100000000000L;
เป็นการประกาศตัวแปรชนิด long ชื่อ x1 มีค่าข้อมูลเท่ากับแสนล้าน (100,000,000,000) การประกาศตัวแปร long ต้องต่อท้ายข้อมูลด้วยตัวอักษร L หรือ l เสมอ
int x2 = 1000000000;
เป็นการประกาศตัวแปรชนิด long ชื่อ x1 มีค่าข้อมูลเท่ากับพันล้าน (1000,000,000)
short x31 = 32767;
เป็นการประกาศตัวแปรชนิด short ชื่อ x31 เก็บข้อมูลเป็นตัวเลขฐานสิบมีค่าข้อมูลเท่ากับ 32,767
short x32 = 0X7FFF;
เป็นการประกาศตัวแปรชนิด short ชื่อ x32 เก็บข้อมูลเป็นตัวเลขฐานสิบหกมีค่าข้อมูลเท่ากับ 32,767
byte x41 = 127;
เป็นการประกาศตัวแปรชนิด byte ชื่อ x41 เก็บข้อมูลเป็นตัวเลขฐานสิบมีค่าข้อมูลเท่ากับ 127
byte x42 = 0177;
เป็นการประกาศตัวแปรชนิด byte ชื่อ x42 เก็บข้อมูลเป็นตัวเลขฐานสิบแปดมีค่าข้อมูลเท่ากับ 127
2.2 ชนิดข้อมูลจำนวนทศนิยม(Floating Point)
ชนิดข้อมูลจำนวนทศนิยม ประกอบด้วยข้อมูลที่เป็นตัวเลขทศนิยม เช่น 1200.578 การเขียนโปรแกรมด้วยภาษา Java จะประกาศตัวแปรด้วยคำว่า float และ double โดยชนิดข้อมูล float จะเก็บข้อมูล 32 บิตตามมาตรฐาน single precision คือมีส่วนละเอียดของตัวเลขจำนวน 24 บิต และส่วนเลขยกกำลัง 8 บิต และชนิดข้อมูล double จะเก็บข้อมูล 64 บิตตามมาตรฐาน double precision คือมีส่วนละเอียดของตัวเลขจำนวน 53 บิต และส่วนเลขยกกำลัง 11 บิต รูปแบบการตัวเลขทศนิยมมี 2 แบบ ดังนี้
1. ตัวเลขทศนิยม เป็นการเขียนตัวเลขทศนิมที่มีเครื่องหมายจุดทศนิยม ตัวอย่างเช่น 3.14 เป็นต้น
2. ตัวเลขยกกำลังสิบ เป็นการเขียนตัวเลขทศนิยมอยู่ในรูปเลขยกกำลังสิบ (Exponential Form) โดยใช้ตัวอักษร E หรือ e ระบุจำนวนที่เป็นเลขยกกำลัง เช่น 6.12E12 หรือ 125.03E-5 เป็นต้น
ตัวอย่างการประกาศชนิดข้อมูลจำนวนทศนิยม เช่น
float f1 = 1234.157f;
เป็นการประกาศตัวแปรชนิด float ชื่อ f1 เก็บข้อมูลตัวเลขทศนิมขนาด 32 บิตและต้องใส่ตัวอักษร F หรือ f ต่อท้ายเพื่อระบุว่าเป็นชนิดข้อมูลแบบ float
double f2 = 2.18E6;
double f3 = 1234.157D;
เป็นการประกาศตัวแปรชนิด double ชื่อ f2, f3 เก็บข้อมูลเป้นเลขทศนิยมแบบ 64 บิต โดยใส่ตัวอักษร D หรือ d ต่อท้าย แต่โดยทั่วไปจะไม่นิยมใส่ตัวอักษรต่อท้ายเพราะการเขียนตัวเลขทศนิยมทั่วไปเป็นชนิดข้อมูลแบบ double อยู่แล้ว
ตัวอย่างข้อมูลจำนวนทศนิยมที่ถูกต้อง ได้แก่
123. 456E3 12.5e2 617.0e2F -3.14F 512.0E-12
ตัวอย่างข้อมูลจำนวนทศนิยมที่ไม่ถูกต้อง ได้แก่
1,234.567 ไม่ถูกต้องเพราะมีเครื่องหมาย ,
1.2E50F ไม่ถูกต้องเพราะ ค่าข้อมูลเกินขอบเขตของชนิดข้อมูลแบบ float
2.3 ชนิดข้อมูลอักขระ(Character)
ชนิดข้อมูลอักขระจะต้องประกาศตัวแปรด้วยคำว่า char คือการเก็บข้อมูลเป็นตัวอักษร หรืออักขระบนแป้นพิมพ์ได้เพียง 1 ตัวอักขระ ซึ่งในภาษา Java จะเก็บข้อมูลอักขระอยู่ในรูปแบบของรหัสแอสกี (ASCII Code) หรือรูปแบบมาตรฐาน Unicode ขนาด 16 บิต การกำหนดค่าข้อมูลอักขระจะอยู่ในเครื่องหมาย ‘ ’ โดยจะขึ้นต้นด้วยสัญลักษณ์ \u และตามด้วยเลขฐานสิบหก (Hexadecimal Number) โดยมีค่าตั้งแต่ ‘\u0000’ ถึง ‘\uFFFF’ หรือกำหนดค่าข้อมูลอักขระด้วยตัวอักขระบนแป้นพิมพ์ ตัวอย่างเช่น ‘A’, ‘x’, ‘$’ หรือ ‘1’ เป็นต้น
ตัวอย่างการประกาศชนิดข้อมูลอักขระ เช่น
char grade= ‘A’;
char grade= ‘\u0041’;
เป็นการประกาศตัวแปรที่มีชื่อว่า grade เป็นชนิดข้อมูลอักขระ มีการกำหนดค่าเริ่มต้นเป็นตัวอักษร A ซึ่งมีค่าเป็นเลขฐานสิบหก คือ 0041
ตัวอักขระพิเศษ หรือ Escape Sequence เป็นการแสดงข้อมูลอักขระบนแป้นพิมพ์ที่ใช้แทนการขึ้นบรรทัดใหม่ หรือ ตัวอักขระพิเศษในการเขียนโปรแกรม
ตัวอักขระพิเศษ
|
รหัส Unicode
|
ความหมาย
|
\b
|
\u000B
|
Backspace ลบอักขระตำแหน่งเคอร์เซอร์ |
\t
|
\u0009
|
Tab การเว้นช่องว่างตามระยะ |
\n
|
\u000A
|
New Line การขึ้นบรรทัดใหม่ |
\r
|
\u000D
|
Return การขึ้นบรรทัดใหม่ |
\\
|
\u005C
|
Backslash แสดงตัวอักขระ \ |
\‘
|
\u0027
|
Single Quote แสดงตัวอักขระ ‘ |
\“
|
\u0022
|
Double Quote แสดงตัวอักขระ “ |
2.4 ชนิดข้อมูลตรรกะ (Logical Data)
ชนิดข้อมูลตรรกะจะต้องประกาศตัวแปรด้วยคำว่า boolean ซึ่งเป็นข้อมูลที่มีความจริงเป็นจริง (true) หรือเท็จ (false) ได้เพียง 1 ค่าเท่านั้น ใช้ในการตัดสินใจในเงื่อนไขของคำสั่งควบคุม หรือคำสั่งเกี่ยวกับตรรกะของโปรแกรม ตัวอย่างการประกาศชนิดข้อมูลตรรกะ เช่น
boolean flag = false;
เป็นการประกาศตัวแปรที่มีชื่อว่า flag เป็นชนิดข้อมูลตรรกะ มีการกำหนดค่าเริ่มต้นเป็น false |
การประกาศตัวแปร (Declaration Variable) |
|
ข้อมูลที่ในการเก็บค่าต่างๆในการเขียนโปรแกรม Java ต้องได้รับการประกาศตัวแปรขึ้นมาก่อนเพื่อจองพื้นที่ในหน่วยความจำสหรับเก็บข้อมูล ซึ่งตัวแปรสามารถเปลี่ยนแปลงข้อมูลและกำหนดค่าได้ตลอดเวลาเมื่อต้องการ โดยต้องระบุชื่อของตัวแปรและชนิดข้อมูล มีรูปแบบคำสั่งประกาศตัวแปร ดังนี้
รูปแบบคำสั่งประกาศตัวแปร
[<Modifier>] <Data_type> <Variable_name> [=<Value>];
โดยที่
Modifier คือคำสัพท์ที่ใช้ระบุคุณลักษณะการเข้าถึงและใช้งานตัวแปรนั้นๆ เช่น static , public, protected, private เป็นต้น
Data_type คือ ชนิดข้อมูลแบบต่างๆ เช่น long, int, short, byte, double, float, char, boolean หรือตัวแปรชนิดของคลาสต่างๆเช่น String เป็นต้น
Variable_name คือชื่อของตัวแปรตามกฎการตั้งชื่อตัวแปร
Value คือ ค่าของข้อมูล มีค่าตามขอบเขตชนิดข้อมูลที่ประกาศ
ตัวอย่างเช่น การประกาศตัวแปรชนิดต่างๆพร้อมกับค่าเริ่มต้นให้กับตัวแปร
int x = 0;
float sum =0.0f;
char garde =‘F’;
การประกาศตัวแปรพร้อมกันหลายๆตัว และมีการกำหนดค่าเริ่มต้นให้กับตัวแปร
int x, y, z = 10;
float a = 1.5f, b ,c = 10f;
การประกาศตัวแปรโดยใช้ คำ Modifier
static int min = 0;
private float salary = 0.0f;
การประกาศตัวแปรค่าคงที่
การประกาศตัวแปรค่าคงที่ คือการประกาศตัวแปรชนิดข้อมูลต่างๆให้มีค่าคงที่ตลอดการทำงานจนจบcโปรแกรม โดยตัวแปรค่าคงที่จะกำหนดค่าข้อมูลได้เพียงครั้งเดียว ซึ่งเมื่อกำหนดแล้วจะไม่สามารถแก้ไขหรือเปลี่ยนแปลงค่าได้ มีรูปแบบคำสั่งการประกาศตัวแปร ดังนี้
รูปแบบคำสั่งประกาศตัวแปรค่าคงที่
[<Modifier>] final <Data_type> <Variable_name> =<Value>;
ตัวอย่างเช่น
final int MAX = 999;
final int MIN = 1+2+3; เป็นการประกาศตัวแปรค่าคงที่ ชื่อ MIN มีค่าเท่ากับ 1+2+3 คือเท่ากับ 6 นั่นเอง
final float MAX_SALARY = 999999;
คำสั่งการกำหนดค่า(Assignment Statement)
ตัวแปรทั่วไปสามารถเปลี่ยนแปลงหรือกำหนดค่าได้ตามต้องการโดยการใช้คำสั่งกำหนดค่า ดังนี้
รูปแบบคำสั่งกำหนดค่า
<Variable_name> = <Value>;
โดยที่
Variable_name คือชื่อของตัวแปรตามกฎการตั้งชื่อตัวแปร
Value คือ ค่าของข้อมูล หรืออาจเป็นนิพจน์ที่ให้ผลลัพธ์ที่มีค่าตามขอบเขตชนิดข้อมูลที่ประกาศไว้
ตัวอย่างเช่น ถ้ามีการประกาศตัวแปรดังนี้
int x;
char grade;
float y;
สามารถกำหนดค่าของตัวแปรต่างๆได้ดังนี้ เช่น
x = x + 2 ;
Garde = ‘A’
y = x + 4 + 0.5;
ตัวอย่างโปรแกรมการประกาศและกำหนดค่าของตัวแปรต่างๆ
class Test3 {
public static void main(String[] args) {
final double PI =3.1419265;
int a =0, b=0;
float x =0, y=0;
char grade=’F’;
// Assignment variable
a = b+2*3;
y = 25.5f;
x = y / a;
grade=’B’;
// Display variable
System.out.println(“a =”+a);
System.out.println(“x=”+x);
System.out.println(“grade=”+grade);
}
} |
|
|